| # Copyright © 2017 Intel Corporation |
| # SPDX-License-Identifier: MIT |
| |
| gen_xml_files = [ |
| 'gen40.xml', |
| 'gen45.xml', |
| 'gen50.xml', |
| 'gen60.xml', |
| 'gen70.xml', |
| 'gen75.xml', |
| 'gen80.xml', |
| 'gen90.xml', |
| 'gen110.xml', |
| 'gen120.xml', |
| 'gen125.xml', |
| 'gen200.xml', |
| 'gen300.xml', |
| ] |
| |
| gen_xml_rt_files = [ |
| 'gen125_rt.xml', |
| 'gen200_rt.xml', |
| 'gen300_rt.xml', |
| ] |
| |
| gen_pack_header_deps = files('intel_genxml.py', 'util.py') |
| foreach f : gen_xml_files + gen_xml_rt_files |
| gen_pack_header_deps += files(f) |
| endforeach |
| |
| genX_xml_h = custom_target( |
| 'genX_xml.h', |
| input : ['../../util/gen_zipped_xml_file.py', gen_xml_files], |
| output : 'genX_xml.h', |
| command : [prog_python, '@INPUT@'], |
| capture : true, |
| ) |
| |
| genX_bits_included_symbols = [ |
| # instructions |
| 'MI_BATCH_BUFFER_START::Batch Buffer Start Address', |
| 'MI_REPORT_PERF_COUNT::Memory Address', |
| 'MI_STORE_DATA_IMM::Address', |
| 'MI_STORE_DATA_IMM::Immediate Data', |
| 'MI_STORE_REGISTER_MEM::Memory Address', |
| '3DSTATE_DEPTH_BUFFER::Surface Base Address', |
| '3DSTATE_DEPTH_BUFFER::Surface Pitch', |
| '3DSTATE_STENCIL_BUFFER::Surface Base Address', |
| '3DSTATE_STENCIL_BUFFER::Surface Pitch', |
| '3DSTATE_HIER_DEPTH_BUFFER::Surface Base Address', |
| '3DSTATE_HIER_DEPTH_BUFFER::Surface Pitch', |
| '3DSTATE_CLEAR_PARAMS', |
| '3DSTATE_SO_BUFFER::Surface Base Address', |
| '3DSTATE_SO_BUFFER::Stream Offset', |
| '3DSTATE_CPSIZE_CONTROL_BUFFER::Surface Base Address', |
| '3DSTATE_CPSIZE_CONTROL_BUFFER::Surface Pitch', |
| # structures |
| 'RENDER_SURFACE_STATE::Surface Base Address', |
| 'RENDER_SURFACE_STATE::Surface Pitch', |
| 'RENDER_SURFACE_STATE::Surface QPitch', |
| 'RENDER_SURFACE_STATE::Auxiliary Surface Base Address', |
| 'RENDER_SURFACE_STATE::Auxiliary Surface Pitch', |
| 'RENDER_SURFACE_STATE::Clear Value Address', |
| 'RENDER_SURFACE_STATE::Red Clear Color', |
| 'RENDER_SURFACE_STATE::Green Clear Color', |
| 'RENDER_SURFACE_STATE::Blue Clear Color', |
| 'RENDER_SURFACE_STATE::Alpha Clear Color', |
| 'RENDER_SURFACE_STATE::Width', |
| 'RENDER_SURFACE_STATE::Height', |
| 'RENDER_SURFACE_STATE::Depth', |
| 'RENDER_SURFACE_STATE::Surface Format', |
| 'RENDER_SURFACE_STATE::Surface Type', |
| 'RENDER_SURFACE_STATE::Render Target View Extent', |
| 'RENDER_SURFACE_STATE::Tile Mode', |
| 'CLEAR_COLOR', |
| 'VERTEX_BUFFER_STATE::Buffer Starting Address', |
| 'CPS_STATE', |
| 'RT_DISPATCH_GLOBALS::Hit Group Table', |
| 'RT_DISPATCH_GLOBALS::Miss Group Table', |
| 'RT_DISPATCH_GLOBALS::Callable Group Table', |
| 'RT_DISPATCH_GLOBALS::Launch Width', |
| 'RT_DISPATCH_GLOBALS::Launch Height', |
| 'RT_DISPATCH_GLOBALS::Launch Depth', |
| ] |
| |
| genX_bits_h = custom_target( |
| 'genX_bits.h', |
| input : ['gen_bits_header.py', gen_xml_files, gen_xml_rt_files], |
| output : 'genX_bits.h', |
| command : [prog_python, '@INPUT@', '-o', '@OUTPUT@', |
| '--include-symbols', ','.join(genX_bits_included_symbols)], |
| depend_files: gen_pack_header_deps |
| ) |
| |
| gen_xml_pack = [] |
| foreach f : gen_xml_files + gen_xml_rt_files |
| _name = '@0@_pack.h'.format(f.split('.')[0]) |
| gen_xml_pack += custom_target( |
| _name, |
| input : ['gen_pack_header.py', f], |
| output : _name, |
| command : [prog_python, '@INPUT@', '--engines=render,blitter,compute'], |
| capture : true, |
| depend_files: gen_pack_header_deps |
| ) |
| endforeach |
| |
| gen_xml_video_pack = [] |
| foreach f : gen_xml_files |
| _name = '@0@_video_pack.h'.format(f.split('.')[0]) |
| gen_xml_pack += custom_target( |
| _name, |
| input : ['gen_pack_header.py', f], |
| output : _name, |
| command : [prog_python, '@INPUT@', '--engines=video'], |
| capture : true, |
| depend_files: gen_pack_header_deps |
| ) |
| endforeach |
| |
| genX_cl_included_symbols = [ |
| # instructions |
| '3DSTATE_DS', |
| '3DSTATE_HS', |
| '3DSTATE_INDEX_BUFFER', |
| '3DSTATE_VERTEX_BUFFERS', |
| '3DPRIMITIVE', |
| '3DPRIMITIVE_EXTENDED', |
| 'MI_ARB_CHECK', |
| 'MI_BATCH_BUFFER_START', |
| # structures |
| 'VERTEX_BUFFER_STATE', |
| ] |
| |
| gen_cl_xml_pack = [] |
| foreach f : gen_xml_files + gen_xml_rt_files |
| _name = '@0@_cl_pack.h'.format(f.split('.')[0]) |
| gen_cl_xml_pack += custom_target( |
| _name, |
| input : ['gen_pack_header.py', f], |
| output : _name, |
| command : [prog_python, '@INPUT@', '--engines=render,blitter,compute', |
| '--opencl', '--repack', |
| '--include-symbols', ','.join(genX_cl_included_symbols)], |
| capture : true, |
| depend_files: gen_pack_header_deps |
| ) |
| endforeach |
| |
| gen_pack_header_py = files('gen_pack_header.py') |
| |
| idep_genxml = declare_dependency( |
| include_directories : include_directories('.'), |
| dependencies : idep_mesautil, |
| sources : [gen_xml_pack, gen_xml_video_pack, gen_cl_xml_pack, genX_bits_h, genX_xml_h] |
| ) |
| |
| foreach f : gen_xml_files + gen_xml_rt_files |
| test( |
| 'genxml sort @0@'.format(f), |
| prog_python, |
| args : [files('gen_sort_tags.py'), files(f), '--validate', '--quiet'], |
| suite : ['intel'], |
| ) |
| endforeach |