• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright © 2023 Intel Corporation
2# SPDX-License-Identifier: MIT
3
4intel_float64_spv_h = custom_target(
5  'float64_spv.h',
6  input : [glsl2spirv, float64_glsl_file],
7  output : 'float64_spv.h',
8  command : [
9    prog_python, '@INPUT@', '@OUTPUT@',
10    prog_glslang,
11    '--create-entry', 'main',
12    '--vn', 'float64_spv_source',
13    '--glsl-version', '450',
14    '-Olib',
15  ]
16)
17
18intel_shader_files = files(
19  'libintel_shaders.h',
20  'generate.cl',
21  'generate_draws.cl',
22  'generate_draws_iris.cl',
23  'memcpy.cl',
24  'query_copy.cl',
25)
26
27prepended_input_args = []
28foreach input_arg : intel_shader_files
29  prepended_input_args += ['--in', input_arg]
30endforeach
31
32intel_shaders_clc_wa_args = []
33if with_intel_clc
34  if chosen_llvm_version_major >= 17
35    intel_shaders_clc_wa_args += ['--llvm17-wa']
36  endif
37else
38  _intel_clc_llvm_version = run_command(prog_intel_clc, '-M')
39  if _intel_clc_llvm_version.stdout().strip().version_compare('>= 17.0')
40    intel_shaders_clc_wa_args += ['--llvm17-wa']
41  endif
42endif
43
44intel_shaders_gens = [ [ 80,   8],
45                       [ 90,   9],
46                       [110,  11],
47                       [120,  12],
48                       [125, 125],
49                       [200,  20] ]
50intel_shaders = []
51foreach gen : intel_shaders_gens
52  intel_shaders += custom_target(
53    'intel_gfx@0@_shaders_code.h'.format(gen[1]),
54    input : intel_shader_files,
55    output : 'intel_gfx@0@_shaders_code.h'.format(gen[1]),
56    command : [
57      prog_intel_clc, intel_shaders_clc_wa_args, '--nir',
58      '--gfx-version=@0@'.format(gen[0] / 10),
59      '--prefix', 'gfx@0@_intel_shaders'.format(gen[1]),
60      prepended_input_args, '-o', '@OUTPUT@', '--',
61      '-cl-std=cl2.0', '-D__OPENCL_VERSION__=200',
62      '-DGFX_VERx10=@0@'.format(gen[0]),
63      '-I' + join_paths(meson.current_source_dir(), '.'),
64      '-I' + join_paths(dir_source_root, 'src'),
65      '-I' + join_paths(dir_source_root, 'src/intel'),
66      '-I' + join_paths(meson.project_build_root(), 'src/intel'),
67      '-I' + join_paths(dir_source_root, 'src/intel/genxml'),
68    ],
69    env: ['MESA_SHADER_CACHE_DISABLE=true'],
70    depends : [dep_prog_intel_clc, gen_cl_xml_pack],
71  )
72endforeach
73
74idep_intel_shaders = declare_dependency(
75  sources : intel_shaders,
76  include_directories : include_directories('.'),
77)
78