xref: /aosp_15_r20/external/mesa3d/src/amd/vulkan/bvh/meson.build (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1*61046927SAndroid Build Coastguard Worker# Copyright © 2022 Konstantin Seurer
2*61046927SAndroid Build Coastguard Worker# SPDX-License-Identifier: MIT
3*61046927SAndroid Build Coastguard Worker
4*61046927SAndroid Build Coastguard Worker# source file, output name, defines
5*61046927SAndroid Build Coastguard Workerbvh_shaders = [
6*61046927SAndroid Build Coastguard Worker  [
7*61046927SAndroid Build Coastguard Worker    'copy.comp',
8*61046927SAndroid Build Coastguard Worker    'copy',
9*61046927SAndroid Build Coastguard Worker    [],
10*61046927SAndroid Build Coastguard Worker  ],
11*61046927SAndroid Build Coastguard Worker  [
12*61046927SAndroid Build Coastguard Worker    'encode.comp',
13*61046927SAndroid Build Coastguard Worker    'encode',
14*61046927SAndroid Build Coastguard Worker    ['COMPACT=0'],
15*61046927SAndroid Build Coastguard Worker  ],
16*61046927SAndroid Build Coastguard Worker  [
17*61046927SAndroid Build Coastguard Worker    'encode.comp',
18*61046927SAndroid Build Coastguard Worker    'encode_compact',
19*61046927SAndroid Build Coastguard Worker    ['COMPACT=1'],
20*61046927SAndroid Build Coastguard Worker  ],
21*61046927SAndroid Build Coastguard Worker  [
22*61046927SAndroid Build Coastguard Worker    'header.comp',
23*61046927SAndroid Build Coastguard Worker    'header',
24*61046927SAndroid Build Coastguard Worker    [],
25*61046927SAndroid Build Coastguard Worker  ],
26*61046927SAndroid Build Coastguard Worker  [
27*61046927SAndroid Build Coastguard Worker    'lbvh_generate_ir.comp',
28*61046927SAndroid Build Coastguard Worker    'lbvh_generate_ir',
29*61046927SAndroid Build Coastguard Worker    [],
30*61046927SAndroid Build Coastguard Worker  ],
31*61046927SAndroid Build Coastguard Worker  [
32*61046927SAndroid Build Coastguard Worker    'lbvh_main.comp',
33*61046927SAndroid Build Coastguard Worker    'lbvh_main',
34*61046927SAndroid Build Coastguard Worker    [],
35*61046927SAndroid Build Coastguard Worker  ],
36*61046927SAndroid Build Coastguard Worker  [
37*61046927SAndroid Build Coastguard Worker    'leaf.comp',
38*61046927SAndroid Build Coastguard Worker    'leaf',
39*61046927SAndroid Build Coastguard Worker    ['ALWAYS_ACTIVE=0'],
40*61046927SAndroid Build Coastguard Worker  ],
41*61046927SAndroid Build Coastguard Worker  [
42*61046927SAndroid Build Coastguard Worker    'leaf.comp',
43*61046927SAndroid Build Coastguard Worker    'leaf_always_active',
44*61046927SAndroid Build Coastguard Worker    ['ALWAYS_ACTIVE=1'],
45*61046927SAndroid Build Coastguard Worker  ],
46*61046927SAndroid Build Coastguard Worker  [
47*61046927SAndroid Build Coastguard Worker    'morton.comp',
48*61046927SAndroid Build Coastguard Worker    'morton',
49*61046927SAndroid Build Coastguard Worker    [],
50*61046927SAndroid Build Coastguard Worker  ],
51*61046927SAndroid Build Coastguard Worker  [
52*61046927SAndroid Build Coastguard Worker    'ploc_internal.comp',
53*61046927SAndroid Build Coastguard Worker    'ploc_internal',
54*61046927SAndroid Build Coastguard Worker    [],
55*61046927SAndroid Build Coastguard Worker  ],
56*61046927SAndroid Build Coastguard Worker  [
57*61046927SAndroid Build Coastguard Worker    'update.comp',
58*61046927SAndroid Build Coastguard Worker    'update',
59*61046927SAndroid Build Coastguard Worker    [],
60*61046927SAndroid Build Coastguard Worker  ],
61*61046927SAndroid Build Coastguard Worker]
62*61046927SAndroid Build Coastguard Worker
63*61046927SAndroid Build Coastguard Workerbvh_include_dir = dir_source_root + '/src/amd/vulkan/bvh'
64*61046927SAndroid Build Coastguard Worker
65*61046927SAndroid Build Coastguard Workerbvh_includes = files(
66*61046927SAndroid Build Coastguard Worker  'build_helpers.h',
67*61046927SAndroid Build Coastguard Worker  'build_interface.h',
68*61046927SAndroid Build Coastguard Worker  'bvh.h',
69*61046927SAndroid Build Coastguard Worker)
70*61046927SAndroid Build Coastguard Worker
71*61046927SAndroid Build Coastguard Workerbvh_spv = []
72*61046927SAndroid Build Coastguard Workerforeach s : bvh_shaders
73*61046927SAndroid Build Coastguard Worker  command = [
74*61046927SAndroid Build Coastguard Worker    prog_glslang, '-V', '-I' + bvh_include_dir, '--target-env', 'spirv1.5',
75*61046927SAndroid Build Coastguard Worker    '-x', '-o', '@OUTPUT@', '@INPUT@', glslang_depfile, glslang_quiet,
76*61046927SAndroid Build Coastguard Worker  ]
77*61046927SAndroid Build Coastguard Worker
78*61046927SAndroid Build Coastguard Worker  foreach define : s[2]
79*61046927SAndroid Build Coastguard Worker    command += '-D' + define
80*61046927SAndroid Build Coastguard Worker  endforeach
81*61046927SAndroid Build Coastguard Worker
82*61046927SAndroid Build Coastguard Worker  _bvh_name = '@[email protected]'.format(s[1])
83*61046927SAndroid Build Coastguard Worker  bvh_spv += custom_target(
84*61046927SAndroid Build Coastguard Worker    _bvh_name,
85*61046927SAndroid Build Coastguard Worker    input : s[0],
86*61046927SAndroid Build Coastguard Worker    output : _bvh_name,
87*61046927SAndroid Build Coastguard Worker    command : command,
88*61046927SAndroid Build Coastguard Worker    depfile : f'@[email protected]',
89*61046927SAndroid Build Coastguard Worker    depend_files: bvh_includes
90*61046927SAndroid Build Coastguard Worker  )
91*61046927SAndroid Build Coastguard Workerendforeach
92