intel/genxml: Add RT_DISPATCH_GLOBALS and RT_*_SBT_HANDLE structs

The RT_DISPATCH_GLOBALS struct is half HW-defined by the ray-tracing
spec and half SW-defined.  However, due to the addresses in it, it's
convenient for it to all be in GenXML.

Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7356>
This commit is contained in:
Jason Ekstrand 2020-10-21 15:02:57 -05:00 committed by Marge Bot
parent 858d565eea
commit 980950c521

View file

@ -8,4 +8,45 @@
</field>
<field name="Kernel Start Pointer" start="6" end="31" type="offset"/>
</struct>
<struct name="RT_GENERAL_SBT_HANDLE" length="8">
<field name="General" start="0" end="63" type="BINDLESS_SHADER_RECORD"/>
</struct>
<struct name="RT_TRIANGLES_SBT_HANDLE" length="8">
<field name="Closest Hit" start="0" end="63" type="BINDLESS_SHADER_RECORD"/>
<field name="Any Hit" start="64" end="127" type="BINDLESS_SHADER_RECORD"/>
</struct>
<struct name="RT_PROCEDURAL_SBT_HANDLE" length="8">
<field name="Closest Hit" start="0" end="63" type="BINDLESS_SHADER_RECORD"/>
<field name="Intersection" start="64" end="127" type="BINDLESS_SHADER_RECORD"/>
</struct>
<struct name="RT_SHADER_TABLE" length="2">
<field name="Base Address" start="0" end="47" type="address"/>
<field name="Stride" start="48" end="63" type="uint"/>
</struct>
<struct name="RT_DISPATCH_GLOBALS" length="20">
<!-- These are dictated by hardware -->
<field name="Mem Base Address" start="0" end="63" type="address"/>
<field name="Call Stack Handler" start="64" end="127" type="BINDLESS_SHADER_RECORD"/>
<field name="Async RT Stack Size" start="128" end="159" type="uint"/>
<field name="Num DSS RT Stacks" start="160" end="175" type="uint"/>
<field name="Max BVH Levels" start="192" end="194" type="uint"/>
<field name="Flags" start="224" end="224" type="uint">
<value name="RT_DEPTH_TEST_LESS_EQUAL" value="1"/>
</field>
<!-- These are simply a software interface -->
<field name="Hit Group Table" start="256" end="319" type="RT_SHADER_TABLE"/>
<field name="Miss Group Table" start="320" end="383" type="RT_SHADER_TABLE"/>
<field name="SW Stack Size" start="384" end="415" type="uint"/>
<field name="Launch Width" start="416" end="447" type="uint"/>
<field name="Launch Height" start="448" end="479" type="uint"/>
<field name="Launch Depth" start="480" end="511" type="uint"/>
<field name="Callable Group Table" start="512" end="575" type="RT_SHADER_TABLE"/>
<field name="Resume Shader Table" start="576" end="639" type="address"/>
</struct>
</genxml>