1# Copyright © 2023 Intel Corporation 2# SPDX-License-Identifier: MIT 3 4if with_intel_vk 5 intel_float64_spv_h = custom_target( 6 'float64_spv.h', 7 input : [glsl2spirv, float64_glsl_file], 8 output : 'float64_spv.h', 9 command : [ 10 prog_python, '@INPUT@', '@OUTPUT@', 11 prog_glslang, 12 '--create-entry', 'main', 13 '--vn', 'float64_spv_source', 14 '--glsl-version', '450', 15 '-Olib', 16 glslang_depfile, 17 ], 18 depfile : 'float64_spv.h.d', 19 ) 20endif 21 22intel_shader_files = files( 23 'libintel_shaders.h', 24 'generate.cl', 25 'generate_draws.cl', 26 'generate_draws_iris.cl', 27 'query_copy.cl', 28 'util.cl', 29) 30 31intel_shaders_gens = [ [ 80, 8], 32 [ 90, 9], 33 [110, 11], 34 [120, 12], 35 [125, 125], 36 [200, 20], 37 [300, 30] ] 38intel_shaders = [] 39foreach gen : intel_shaders_gens 40 intel_shaders_spv = custom_target( 41 input : intel_shader_files, 42 output : 'intel_gfx@0@_shaders.spv'.format(gen[0]), 43 command : [ 44 prog_mesa_clc, 45 intel_shader_files, '-o', '@OUTPUT@', '--', 46 '-DNDEBUG=1', 47 '-DGFX_VERx10=@0@'.format(gen[0]), 48 '-I' + join_paths(meson.current_source_dir(), '.'), 49 '-I' + join_paths(dir_source_root, 'src/compiler/libcl'), 50 '-I' + join_paths(dir_source_root, 'src'), 51 '-I' + join_paths(dir_source_root, 'src/intel'), 52 '-I' + join_paths(meson.project_build_root(), 'src/intel'), 53 '-I' + join_paths(dir_source_root, 'src/intel/genxml'), 54 ], 55 depends : [gen_cl_xml_pack, intel_dev_wa_src], 56 ) 57 58 intel_shaders += custom_target( 59 input : ['spv2hex.py', intel_shaders_spv], 60 output : 'intel_gfx@0@_shaders_spv.h'.format(gen[0]), 61 command : [ 62 prog_python, '@INPUT@', '--output', '@OUTPUT@', 63 '--prefix', 'gfx@0@_shaders_spv'.format(gen[1]), 64 ], 65 ) 66 67 intel_shaders += custom_target( 68 input : intel_shaders_spv, 69 output : 'intel_gfx@0@_shaders_binding.h'.format(gen[0]), 70 command : [prog_vtn_bindgen, intel_shaders_spv, '@OUTPUT@'], 71 ) 72endforeach 73 74idep_intel_shaders = declare_dependency( 75 sources : intel_shaders, 76 include_directories : include_directories('.'), 77) 78