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