1# Copyright 2024 Valve Corporation 2# SPDX-License-Identifier: MIT 3 4libagx_shader_files = files( 5 'compression.cl', 6 'draws.cl', 7 'geometry.cl', 8 'query.cl', 9 'tessellation.cl', 10 'tessellator.cl', 11 'texture.cl', 12 'helper.cl', 13) 14 15# We need to set -fmacro-prefix-map properly for reproducability. 16relative_dir = fs.relative_to(meson.global_source_root(), meson.global_build_root()) + '/' 17 18libagx_spv = custom_target( 19 'libagx.spv', 20 input : libagx_shader_files, 21 output : 'libagx.spv', 22 command : [ 23 prog_mesa_clc, '-o', '@OUTPUT@', '--depfile', '@DEPFILE@', 24 libagx_shader_files, '--', 25 '-I' + join_paths(meson.current_source_dir(), '.'), 26 '-I' + join_paths(meson.current_source_dir(), '../../'), 27 '-I' + join_paths(meson.current_source_dir(), 'shaders'), 28 '-I' + join_paths(meson.current_build_dir(), '../genxml'), 29 '-fmacro-prefix-map=@0@='.format(relative_dir), 30 ], 31 env: ['MESA_SHADER_CACHE_DISABLE=true'], 32 depends : [prog_mesa_clc, agx_pack], 33 depfile : 'libagx_shaders.h.d', 34) 35 36libagx_h = custom_target( 37 'libagx.h', 38 input : libagx_spv, 39 output : 'libagx.h', 40 command : [prog_vtn_bindgen, libagx_spv, '@OUTPUT@'], 41 depends : [prog_vtn_bindgen], 42) 43 44idep_libagx = declare_dependency( 45 sources : [libagx_h], 46 include_directories : include_directories('.'), 47) 48