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