xref: /aosp_15_r20/external/mesa3d/src/intel/shaders/meson.build (revision 6104692788411f58d303aa86923a9ff6ecaded22)
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  'memcpy.cl',
28  'query_copy.cl',
29)
30
31prepended_input_args = []
32foreach input_arg : intel_shader_files
33  prepended_input_args += ['--in', input_arg]
34endforeach
35
36intel_shaders_clc_wa_args = []
37if with_intel_clc
38  if chosen_llvm_version_major >= 17
39    intel_shaders_clc_wa_args += ['--llvm17-wa']
40  endif
41else
42  _intel_clc_llvm_version = run_command(prog_intel_clc, '-M')
43  if _intel_clc_llvm_version.stdout().strip().version_compare('>= 17.0')
44    intel_shaders_clc_wa_args += ['--llvm17-wa']
45  endif
46endif
47
48intel_shaders_gens = [ [ 80,   8],
49                       [ 90,   9],
50                       [110,  11],
51                       [120,  12],
52                       [125, 125],
53                       [200,  20] ]
54intel_shaders = []
55foreach gen : intel_shaders_gens
56  intel_shaders += custom_target(
57    'intel_gfx@0@_shaders_code.h'.format(gen[1]),
58    input : intel_shader_files,
59    output : 'intel_gfx@0@_shaders_code.h'.format(gen[1]),
60    command : [
61      prog_intel_clc, intel_shaders_clc_wa_args, '--nir',
62      '--gfx-version=@0@'.format(gen[0] / 10),
63      '--prefix', 'gfx@0@_intel_shaders'.format(gen[1]),
64      prepended_input_args, '-o', '@OUTPUT@', '--',
65      '-cl-std=cl2.0', '-D__OPENCL_VERSION__=200',
66      '-DGFX_VERx10=@0@'.format(gen[0]),
67      '-I' + join_paths(meson.current_source_dir(), '.'),
68      '-I' + join_paths(dir_source_root, 'src'),
69      '-I' + join_paths(dir_source_root, 'src/intel'),
70      '-I' + join_paths(meson.project_build_root(), 'src/intel'),
71      '-I' + join_paths(dir_source_root, 'src/intel/genxml'),
72    ],
73    env: ['MESA_SHADER_CACHE_DISABLE=true'],
74    depends : [dep_prog_intel_clc, gen_cl_xml_pack],
75  )
76endforeach
77
78idep_intel_shaders = declare_dependency(
79  sources : intel_shaders,
80  include_directories : include_directories('.'),
81)
82