1# Copyright © 2022 Konstantin Seurer 2 3# Permission is hereby granted, free of charge, to any person obtaining a copy 4# of this software and associated documentation files (the "Software"), to deal 5# in the Software without restriction, including without limitation the rights 6# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7# copies of the Software, and to permit persons to whom the Software is 8# furnished to do so, subject to the following conditions: 9 10# The above copyright notice and this permission notice shall be included in 11# all copies or substantial portions of the Software. 12 13# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19# SOFTWARE. 20 21# source file, output name, defines 22bvh_shaders = [ 23 [ 24 'encode.comp', 25 'encode', 26 [], 27 ], 28 [ 29 'header.comp', 30 'header', 31 [], 32 ], 33 [ 34 'copy.comp', 35 'copy', 36 [] 37 ], 38] 39 40tu_bvh_include_dir = dir_source_root + '/src/freedreno/vulkan/bvh' 41 42tu_bvh_includes = files( 43 'tu_build_helpers.h', 44 'tu_build_interface.h', 45 'tu_bvh.h', 46) 47 48bvh_spv = [] 49foreach s : bvh_shaders 50 command = [ 51 prog_glslang, '-V', '-I' + vk_bvh_include_dir, '-I' + tu_bvh_include_dir, '--target-env', 'spirv1.5', '-x', '-o', '@OUTPUT@', '@INPUT@' 52 ] 53 command += glslang_quiet 54 55 foreach define : s[2] 56 command += '-D' + define 57 endforeach 58 59 bvh_spv += custom_target( 60 s[1] + '.spv.h', 61 input : s[0], 62 output : s[1] + '.spv.h', 63 command : command, 64 depend_files: [vk_bvh_includes, tu_bvh_includes], 65 ) 66endforeach 67