mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-25 06:08:21 +02:00
This optimization doesn't work when the ray query index isn't uniform across
the subgroup, which is something the spec allows. While there are some smart
ways to fix this and still avoid unnecessary spilling, its not worth investing
the time until we find a realtime raytracing workload that actually needs to
use multiple live ray queries for something.
Fixes: 1f1de7eb ("anv,brw: Allow multiple ray queries without spilling to a shadow stack")
Acked-by: Sagar Ghuge <sagar.ghuge@intel.com>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39445>
44 lines
2.4 KiB
XML
44 lines
2.4 KiB
XML
<?xml version='1.0' encoding='utf-8'?>
|
|
<genxml name="RT" gen="12.5">
|
|
<struct name="BINDLESS_SHADER_RECORD" length="2">
|
|
<field name="Offset To Local Arguments" dword="0" bits="2:0" type="uint" />
|
|
<field name="Bindless Shader Dispatch Mode" dword="0" bits="4:4" type="uint">
|
|
<value name="RT_SIMD16" value="0" />
|
|
<value name="RT_SIMD8" value="1" />
|
|
</field>
|
|
<field name="Kernel Start Pointer" dword="0" bits="31:6" type="offset" />
|
|
</struct>
|
|
<struct name="RT_SHADER_TABLE" length="2">
|
|
<field name="Base Address" dword="0" bits="47:0" type="address" />
|
|
<field name="Stride" dword="1" bits="31:16" type="uint" />
|
|
</struct>
|
|
<struct name="RT_DISPATCH_GLOBALS" length="20">
|
|
<field name="Mem Base Address" dword="0" bits="63:0" type="address" />
|
|
<field name="Call Stack Handler" dword="2" bits="63:0" type="BINDLESS_SHADER_RECORD" />
|
|
<field name="Async RT Stack Size" dword="4" bits="31:0" type="uint" />
|
|
<field name="Num DSS RT Stacks" dword="5" bits="15:0" type="uint" />
|
|
<field name="Max BVH Levels" dword="6" bits="2:0" type="uint" />
|
|
<field name="Flags" dword="7" bits="0:0" type="uint">
|
|
<value name="RT_DEPTH_TEST_LESS_EQUAL" value="1" />
|
|
</field>
|
|
<field name="Hit Group Table" dword="8" bits="63:0" type="RT_SHADER_TABLE" />
|
|
<field name="Miss Group Table" dword="10" bits="63:0" type="RT_SHADER_TABLE" />
|
|
<field name="SW Stack Size" dword="12" bits="31:0" type="uint" />
|
|
<field name="Launch Width" dword="13" bits="31:0" type="uint" />
|
|
<field name="Launch Height" dword="14" bits="31:0" type="uint" />
|
|
<field name="Launch Depth" dword="15" bits="31:0" type="uint" />
|
|
<field name="Callable Group Table" dword="16" bits="63:0" type="RT_SHADER_TABLE" />
|
|
<field name="Resume Shader Table" dword="18" bits="63:0" type="address" />
|
|
</struct>
|
|
<struct name="RT_GENERAL_SBT_HANDLE" length="8">
|
|
<field name="General" dword="0" bits="63:0" type="BINDLESS_SHADER_RECORD" />
|
|
</struct>
|
|
<struct name="RT_PROCEDURAL_SBT_HANDLE" length="8">
|
|
<field name="Closest Hit" dword="0" bits="63:0" type="BINDLESS_SHADER_RECORD" />
|
|
<field name="Intersection" dword="2" bits="63:0" type="BINDLESS_SHADER_RECORD" />
|
|
</struct>
|
|
<struct name="RT_TRIANGLES_SBT_HANDLE" length="8">
|
|
<field name="Closest Hit" dword="0" bits="63:0" type="BINDLESS_SHADER_RECORD" />
|
|
<field name="Any Hit" dword="2" bits="63:0" type="BINDLESS_SHADER_RECORD" />
|
|
</struct>
|
|
</genxml>
|