• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2024 Valve Corporation
2# SPDX-License-Identifier: MIT
3
4libagx_shader_files = files(
5  'compression.cl',
6  'draws.cl',
7  'geometry.cl',
8  'query.cl',
9  'tessellation.cl',
10  'tessellator.cl',
11  'texture.cl',
12  'helper.cl',
13)
14
15# We need to set -fmacro-prefix-map properly for reproducability.
16relative_dir = fs.relative_to(meson.global_source_root(), meson.global_build_root()) + '/'
17
18libagx_spv = custom_target(
19  'libagx.spv',
20  input : libagx_shader_files,
21  output : 'libagx.spv',
22  command : [
23    prog_mesa_clc, '-o', '@OUTPUT@', '--depfile', '@DEPFILE@',
24    libagx_shader_files, '--',
25    '-I' + join_paths(meson.current_source_dir(), '.'),
26    '-I' + join_paths(meson.current_source_dir(), '../../'),
27    '-I' + join_paths(meson.current_source_dir(), 'shaders'),
28    '-I' + join_paths(meson.current_build_dir(), '../genxml'),
29    '-fmacro-prefix-map=@0@='.format(relative_dir),
30    ],
31  env: ['MESA_SHADER_CACHE_DISABLE=true'],
32  depends : [prog_mesa_clc, agx_pack],
33  depfile : 'libagx_shaders.h.d',
34)
35
36libagx_h = custom_target(
37  'libagx.h',
38  input : libagx_spv,
39  output : 'libagx.h',
40  command : [prog_vtn_bindgen, libagx_spv, '@OUTPUT@'],
41  depends : [prog_vtn_bindgen],
42)
43
44idep_libagx = declare_dependency(
45  sources : [libagx_h],
46  include_directories : include_directories('.'),
47)
48