1*61046927SAndroid Build Coastguard Worker# Copyright © 2017 Intel Corporation 2*61046927SAndroid Build Coastguard Worker# SPDX-License-Identifier: MIT 3*61046927SAndroid Build Coastguard Worker 4*61046927SAndroid Build Coastguard Workergen_xml_files = [ 5*61046927SAndroid Build Coastguard Worker 'gen4.xml', 6*61046927SAndroid Build Coastguard Worker 'gen45.xml', 7*61046927SAndroid Build Coastguard Worker 'gen5.xml', 8*61046927SAndroid Build Coastguard Worker 'gen6.xml', 9*61046927SAndroid Build Coastguard Worker 'gen7.xml', 10*61046927SAndroid Build Coastguard Worker 'gen75.xml', 11*61046927SAndroid Build Coastguard Worker 'gen8.xml', 12*61046927SAndroid Build Coastguard Worker 'gen9.xml', 13*61046927SAndroid Build Coastguard Worker 'gen11.xml', 14*61046927SAndroid Build Coastguard Worker 'gen12.xml', 15*61046927SAndroid Build Coastguard Worker 'gen125.xml', 16*61046927SAndroid Build Coastguard Worker 'gen20.xml', 17*61046927SAndroid Build Coastguard Worker] 18*61046927SAndroid Build Coastguard Worker 19*61046927SAndroid Build Coastguard Workergen_xml_rt_files = [ 20*61046927SAndroid Build Coastguard Worker 'gen125_rt.xml', 21*61046927SAndroid Build Coastguard Worker 'gen20_rt.xml', 22*61046927SAndroid Build Coastguard Worker] 23*61046927SAndroid Build Coastguard Worker 24*61046927SAndroid Build Coastguard Workergen_pack_header_deps = files('intel_genxml.py', 'util.py') 25*61046927SAndroid Build Coastguard Workerforeach f : gen_xml_files + gen_xml_rt_files 26*61046927SAndroid Build Coastguard Worker gen_pack_header_deps += files(f) 27*61046927SAndroid Build Coastguard Workerendforeach 28*61046927SAndroid Build Coastguard Worker 29*61046927SAndroid Build Coastguard WorkergenX_xml_h = custom_target( 30*61046927SAndroid Build Coastguard Worker 'genX_xml.h', 31*61046927SAndroid Build Coastguard Worker input : ['../../util/gen_zipped_xml_file.py', gen_xml_files], 32*61046927SAndroid Build Coastguard Worker output : 'genX_xml.h', 33*61046927SAndroid Build Coastguard Worker command : [prog_python, '@INPUT@'], 34*61046927SAndroid Build Coastguard Worker capture : true, 35*61046927SAndroid Build Coastguard Worker) 36*61046927SAndroid Build Coastguard Worker 37*61046927SAndroid Build Coastguard WorkergenX_bits_included_symbols = [ 38*61046927SAndroid Build Coastguard Worker # instructions 39*61046927SAndroid Build Coastguard Worker 'MI_BATCH_BUFFER_START::Batch Buffer Start Address', 40*61046927SAndroid Build Coastguard Worker 'MI_REPORT_PERF_COUNT::Memory Address', 41*61046927SAndroid Build Coastguard Worker 'MI_STORE_DATA_IMM::Address', 42*61046927SAndroid Build Coastguard Worker 'MI_STORE_DATA_IMM::Immediate Data', 43*61046927SAndroid Build Coastguard Worker 'MI_STORE_REGISTER_MEM::Memory Address', 44*61046927SAndroid Build Coastguard Worker '3DSTATE_DEPTH_BUFFER::Surface Base Address', 45*61046927SAndroid Build Coastguard Worker '3DSTATE_DEPTH_BUFFER::Surface Pitch', 46*61046927SAndroid Build Coastguard Worker '3DSTATE_STENCIL_BUFFER::Surface Base Address', 47*61046927SAndroid Build Coastguard Worker '3DSTATE_STENCIL_BUFFER::Surface Pitch', 48*61046927SAndroid Build Coastguard Worker '3DSTATE_HIER_DEPTH_BUFFER::Surface Base Address', 49*61046927SAndroid Build Coastguard Worker '3DSTATE_HIER_DEPTH_BUFFER::Surface Pitch', 50*61046927SAndroid Build Coastguard Worker '3DSTATE_CLEAR_PARAMS', 51*61046927SAndroid Build Coastguard Worker '3DSTATE_SO_BUFFER::Surface Base Address', 52*61046927SAndroid Build Coastguard Worker '3DSTATE_SO_BUFFER::Stream Offset', 53*61046927SAndroid Build Coastguard Worker '3DSTATE_CPSIZE_CONTROL_BUFFER::Surface Base Address', 54*61046927SAndroid Build Coastguard Worker '3DSTATE_CPSIZE_CONTROL_BUFFER::Surface Pitch', 55*61046927SAndroid Build Coastguard Worker # structures 56*61046927SAndroid Build Coastguard Worker 'RENDER_SURFACE_STATE::Surface Base Address', 57*61046927SAndroid Build Coastguard Worker 'RENDER_SURFACE_STATE::Surface Pitch', 58*61046927SAndroid Build Coastguard Worker 'RENDER_SURFACE_STATE::Auxiliary Surface Base Address', 59*61046927SAndroid Build Coastguard Worker 'RENDER_SURFACE_STATE::Auxiliary Surface Pitch', 60*61046927SAndroid Build Coastguard Worker 'RENDER_SURFACE_STATE::Clear Value Address', 61*61046927SAndroid Build Coastguard Worker 'RENDER_SURFACE_STATE::Red Clear Color', 62*61046927SAndroid Build Coastguard Worker 'RENDER_SURFACE_STATE::Green Clear Color', 63*61046927SAndroid Build Coastguard Worker 'RENDER_SURFACE_STATE::Blue Clear Color', 64*61046927SAndroid Build Coastguard Worker 'RENDER_SURFACE_STATE::Alpha Clear Color', 65*61046927SAndroid Build Coastguard Worker 'RENDER_SURFACE_STATE::Width', 66*61046927SAndroid Build Coastguard Worker 'RENDER_SURFACE_STATE::Height', 67*61046927SAndroid Build Coastguard Worker 'RENDER_SURFACE_STATE::Depth', 68*61046927SAndroid Build Coastguard Worker 'RENDER_SURFACE_STATE::Surface Type', 69*61046927SAndroid Build Coastguard Worker 'RENDER_SURFACE_STATE::Render Target View Extent', 70*61046927SAndroid Build Coastguard Worker 'CLEAR_COLOR', 71*61046927SAndroid Build Coastguard Worker 'VERTEX_BUFFER_STATE::Buffer Starting Address', 72*61046927SAndroid Build Coastguard Worker 'CPS_STATE', 73*61046927SAndroid Build Coastguard Worker 'RT_DISPATCH_GLOBALS::Hit Group Table', 74*61046927SAndroid Build Coastguard Worker 'RT_DISPATCH_GLOBALS::Miss Group Table', 75*61046927SAndroid Build Coastguard Worker 'RT_DISPATCH_GLOBALS::Callable Group Table', 76*61046927SAndroid Build Coastguard Worker 'RT_DISPATCH_GLOBALS::Launch Width', 77*61046927SAndroid Build Coastguard Worker 'RT_DISPATCH_GLOBALS::Launch Height', 78*61046927SAndroid Build Coastguard Worker 'RT_DISPATCH_GLOBALS::Launch Depth', 79*61046927SAndroid Build Coastguard Worker] 80*61046927SAndroid Build Coastguard Worker 81*61046927SAndroid Build Coastguard WorkergenX_bits_h = custom_target( 82*61046927SAndroid Build Coastguard Worker 'genX_bits.h', 83*61046927SAndroid Build Coastguard Worker input : ['gen_bits_header.py', gen_xml_files, gen_xml_rt_files], 84*61046927SAndroid Build Coastguard Worker output : 'genX_bits.h', 85*61046927SAndroid Build Coastguard Worker command : [prog_python, '@INPUT@', '-o', '@OUTPUT@', 86*61046927SAndroid Build Coastguard Worker '--include-symbols', ','.join(genX_bits_included_symbols)], 87*61046927SAndroid Build Coastguard Worker depend_files: gen_pack_header_deps 88*61046927SAndroid Build Coastguard Worker) 89*61046927SAndroid Build Coastguard Worker 90*61046927SAndroid Build Coastguard Workergen_xml_pack = [] 91*61046927SAndroid Build Coastguard Workerforeach f : gen_xml_files + gen_xml_rt_files 92*61046927SAndroid Build Coastguard Worker _name = '@0@_pack.h'.format(f.split('.')[0]) 93*61046927SAndroid Build Coastguard Worker gen_xml_pack += custom_target( 94*61046927SAndroid Build Coastguard Worker _name, 95*61046927SAndroid Build Coastguard Worker input : ['gen_pack_header.py', f], 96*61046927SAndroid Build Coastguard Worker output : _name, 97*61046927SAndroid Build Coastguard Worker command : [prog_python, '@INPUT@', '--engines=render,blitter,video'], 98*61046927SAndroid Build Coastguard Worker capture : true, 99*61046927SAndroid Build Coastguard Worker depend_files: gen_pack_header_deps 100*61046927SAndroid Build Coastguard Worker ) 101*61046927SAndroid Build Coastguard Workerendforeach 102*61046927SAndroid Build Coastguard Worker 103*61046927SAndroid Build Coastguard WorkergenX_cl_included_symbols = [ 104*61046927SAndroid Build Coastguard Worker # instructions 105*61046927SAndroid Build Coastguard Worker '3DSTATE_INDEX_BUFFER', 106*61046927SAndroid Build Coastguard Worker '3DSTATE_VERTEX_BUFFERS', 107*61046927SAndroid Build Coastguard Worker '3DPRIMITIVE', 108*61046927SAndroid Build Coastguard Worker '3DPRIMITIVE_EXTENDED', 109*61046927SAndroid Build Coastguard Worker 'MI_ARB_CHECK', 110*61046927SAndroid Build Coastguard Worker 'MI_BATCH_BUFFER_START', 111*61046927SAndroid Build Coastguard Worker # structures 112*61046927SAndroid Build Coastguard Worker 'VERTEX_BUFFER_STATE', 113*61046927SAndroid Build Coastguard Worker] 114*61046927SAndroid Build Coastguard Worker 115*61046927SAndroid Build Coastguard Workergen_cl_xml_pack = [] 116*61046927SAndroid Build Coastguard Workerforeach f : gen_xml_files + gen_xml_rt_files 117*61046927SAndroid Build Coastguard Worker _name = '@0@_cl_pack.h'.format(f.split('.')[0]) 118*61046927SAndroid Build Coastguard Worker gen_cl_xml_pack += custom_target( 119*61046927SAndroid Build Coastguard Worker _name, 120*61046927SAndroid Build Coastguard Worker input : ['gen_pack_header.py', f], 121*61046927SAndroid Build Coastguard Worker output : _name, 122*61046927SAndroid Build Coastguard Worker command : [prog_python, '@INPUT@', '--engines=render,blitter,video', 123*61046927SAndroid Build Coastguard Worker '--opencl', '--repack', 124*61046927SAndroid Build Coastguard Worker '--include-symbols', ','.join(genX_cl_included_symbols)], 125*61046927SAndroid Build Coastguard Worker capture : true, 126*61046927SAndroid Build Coastguard Worker depend_files: gen_pack_header_deps 127*61046927SAndroid Build Coastguard Worker ) 128*61046927SAndroid Build Coastguard Workerendforeach 129*61046927SAndroid Build Coastguard Worker 130*61046927SAndroid Build Coastguard Workergen_pack_header_py = files('gen_pack_header.py') 131*61046927SAndroid Build Coastguard Worker 132*61046927SAndroid Build Coastguard Workeridep_genxml = declare_dependency( 133*61046927SAndroid Build Coastguard Worker include_directories : include_directories('.'), 134*61046927SAndroid Build Coastguard Worker dependencies : idep_mesautil, 135*61046927SAndroid Build Coastguard Worker sources : [gen_xml_pack, gen_cl_xml_pack, genX_bits_h, genX_xml_h] 136*61046927SAndroid Build Coastguard Worker) 137*61046927SAndroid Build Coastguard Worker 138*61046927SAndroid Build Coastguard Workerforeach f : gen_xml_files + gen_xml_rt_files 139*61046927SAndroid Build Coastguard Worker test( 140*61046927SAndroid Build Coastguard Worker 'genxml sort @0@'.format(f), 141*61046927SAndroid Build Coastguard Worker prog_python, 142*61046927SAndroid Build Coastguard Worker args : [files('gen_sort_tags.py'), files(f), '--validate', '--quiet'], 143*61046927SAndroid Build Coastguard Worker suite : ['intel'], 144*61046927SAndroid Build Coastguard Worker ) 145*61046927SAndroid Build Coastguard Workerendforeach 146