• 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  '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