xref: /aosp_15_r20/external/mesa3d/src/intel/genxml/gen125_rt.xml (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1*61046927SAndroid Build Coastguard Worker<?xml version='1.0' encoding='utf-8'?>
2*61046927SAndroid Build Coastguard Worker<genxml name="RT" gen="12.5">
3*61046927SAndroid Build Coastguard Worker  <struct name="BINDLESS_SHADER_RECORD" length="2">
4*61046927SAndroid Build Coastguard Worker    <field name="Offset To Local Arguments" start="0" end="2" type="uint" />
5*61046927SAndroid Build Coastguard Worker    <field name="Bindless Shader Dispatch Mode" start="4" end="4" type="uint">
6*61046927SAndroid Build Coastguard Worker      <value name="RT_SIMD16" value="0" />
7*61046927SAndroid Build Coastguard Worker      <value name="RT_SIMD8" value="1" />
8*61046927SAndroid Build Coastguard Worker    </field>
9*61046927SAndroid Build Coastguard Worker    <field name="Kernel Start Pointer" start="6" end="31" type="offset" />
10*61046927SAndroid Build Coastguard Worker  </struct>
11*61046927SAndroid Build Coastguard Worker  <struct name="RT_BVH_VEC3" length="3">
12*61046927SAndroid Build Coastguard Worker    <field name="X" start="0" end="31" type="float" />
13*61046927SAndroid Build Coastguard Worker    <field name="Y" start="32" end="63" type="float" />
14*61046927SAndroid Build Coastguard Worker    <field name="Z" start="64" end="95" type="float" />
15*61046927SAndroid Build Coastguard Worker  </struct>
16*61046927SAndroid Build Coastguard Worker  <struct name="RT_BVH_METADATA" length="16">
17*61046927SAndroid Build Coastguard Worker    <field name="Bounds Min" start="0" end="95" type="RT_BVH_VEC3" />
18*61046927SAndroid Build Coastguard Worker    <field name="Bounds Max" start="96" end="191" type="RT_BVH_VEC3" />
19*61046927SAndroid Build Coastguard Worker  </struct>
20*61046927SAndroid Build Coastguard Worker  <struct name="RT_BVH" length="32">
21*61046927SAndroid Build Coastguard Worker    <field name="Root Node Offset" start="0" end="63" type="offset" />
22*61046927SAndroid Build Coastguard Worker    <field name="Meta" start="512" end="1023" type="RT_BVH_METADATA" />
23*61046927SAndroid Build Coastguard Worker  </struct>
24*61046927SAndroid Build Coastguard Worker  <struct name="RT_BVH_INSTANCE_LEAF" length="32">
25*61046927SAndroid Build Coastguard Worker    <field name="Shader Index" start="0" end="23" type="uint" />
26*61046927SAndroid Build Coastguard Worker    <field name="Geometry Ray Mask" start="24" end="31" type="uint" />
27*61046927SAndroid Build Coastguard Worker    <field name="Instance Contribution To Hit Group Index" start="32" end="55" type="uint" />
28*61046927SAndroid Build Coastguard Worker    <field name="Leaf Type" start="61" end="61" type="uint">
29*61046927SAndroid Build Coastguard Worker      <value name="TYPE_OPAQUE_CULLING_ENABLED" value="0" />
30*61046927SAndroid Build Coastguard Worker      <value name="TYPE_OPAQUE_CULLING_DISABLED" value="1" />
31*61046927SAndroid Build Coastguard Worker    </field>
32*61046927SAndroid Build Coastguard Worker    <field name="Geometry Flags" start="62" end="63" type="uint">
33*61046927SAndroid Build Coastguard Worker      <value name="GEOMETRY_OPAQUE" value="1" />
34*61046927SAndroid Build Coastguard Worker    </field>
35*61046927SAndroid Build Coastguard Worker    <field name="Start Node Address" start="64" end="111" type="address" />
36*61046927SAndroid Build Coastguard Worker    <field name="Instance Flags" start="112" end="119" type="uint">
37*61046927SAndroid Build Coastguard Worker      <value name="TRIANGLE_CULL_DISABLE" value="1" />
38*61046927SAndroid Build Coastguard Worker      <value name="TRIANGLE_FRONT_COUNTERCLOCKWISE" value="2" />
39*61046927SAndroid Build Coastguard Worker      <value name="FORCE_OPAQUE" value="4" />
40*61046927SAndroid Build Coastguard Worker      <value name="FORCE_NON_OPAQUE" value="8" />
41*61046927SAndroid Build Coastguard Worker    </field>
42*61046927SAndroid Build Coastguard Worker    <field name="World To Object m00" start="128" end="159" type="float" />
43*61046927SAndroid Build Coastguard Worker    <field name="World To Object m01" start="160" end="191" type="float" />
44*61046927SAndroid Build Coastguard Worker    <field name="World To Object m02" start="192" end="223" type="float" />
45*61046927SAndroid Build Coastguard Worker    <field name="World To Object m10" start="224" end="255" type="float" />
46*61046927SAndroid Build Coastguard Worker    <field name="World To Object m11" start="256" end="287" type="float" />
47*61046927SAndroid Build Coastguard Worker    <field name="World To Object m12" start="288" end="319" type="float" />
48*61046927SAndroid Build Coastguard Worker    <field name="World To Object m20" start="320" end="351" type="float" />
49*61046927SAndroid Build Coastguard Worker    <field name="World To Object m21" start="352" end="383" type="float" />
50*61046927SAndroid Build Coastguard Worker    <field name="World To Object m22" start="384" end="415" type="float" />
51*61046927SAndroid Build Coastguard Worker    <field name="Object To World m30" start="416" end="447" type="float" />
52*61046927SAndroid Build Coastguard Worker    <field name="Object To World m31" start="448" end="479" type="float" />
53*61046927SAndroid Build Coastguard Worker    <field name="Object To World m32" start="480" end="511" type="float" />
54*61046927SAndroid Build Coastguard Worker    <field name="BVH Address" start="512" end="559" type="address" />
55*61046927SAndroid Build Coastguard Worker    <field name="Instance ID" start="576" end="607" type="uint" />
56*61046927SAndroid Build Coastguard Worker    <field name="Instance Index" start="608" end="639" type="uint" />
57*61046927SAndroid Build Coastguard Worker    <field name="Object To World m00" start="640" end="671" type="float" />
58*61046927SAndroid Build Coastguard Worker    <field name="Object To World m01" start="672" end="703" type="float" />
59*61046927SAndroid Build Coastguard Worker    <field name="Object To World m02" start="704" end="735" type="float" />
60*61046927SAndroid Build Coastguard Worker    <field name="Object To World m10" start="736" end="767" type="float" />
61*61046927SAndroid Build Coastguard Worker    <field name="Object To World m11" start="768" end="799" type="float" />
62*61046927SAndroid Build Coastguard Worker    <field name="Object To World m12" start="800" end="831" type="float" />
63*61046927SAndroid Build Coastguard Worker    <field name="Object To World m20" start="832" end="863" type="float" />
64*61046927SAndroid Build Coastguard Worker    <field name="Object To World m21" start="864" end="895" type="float" />
65*61046927SAndroid Build Coastguard Worker    <field name="Object To World m22" start="896" end="927" type="float" />
66*61046927SAndroid Build Coastguard Worker    <field name="World To Object m30" start="928" end="959" type="float" />
67*61046927SAndroid Build Coastguard Worker    <field name="World To Object m31" start="960" end="991" type="float" />
68*61046927SAndroid Build Coastguard Worker    <field name="World To Object m32" start="992" end="1023" type="float" />
69*61046927SAndroid Build Coastguard Worker  </struct>
70*61046927SAndroid Build Coastguard Worker  <struct name="RT_BVH_INTERNAL_NODE" length="16">
71*61046927SAndroid Build Coastguard Worker    <field name="Origin" start="0" end="95" type="RT_BVH_VEC3" />
72*61046927SAndroid Build Coastguard Worker    <field name="Child Offset" start="96" end="127" type="int" />
73*61046927SAndroid Build Coastguard Worker    <field name="Node Type" start="128" end="135" type="uint" prefix="NODE_TYPE">
74*61046927SAndroid Build Coastguard Worker      <value name="INTERNAL" value="0" />
75*61046927SAndroid Build Coastguard Worker      <value name="INSTANCE" value="1" />
76*61046927SAndroid Build Coastguard Worker      <value name="PROCEDURAL" value="3" />
77*61046927SAndroid Build Coastguard Worker      <value name="QUAD" value="4" />
78*61046927SAndroid Build Coastguard Worker      <value name="INVALID" value="7" />
79*61046927SAndroid Build Coastguard Worker    </field>
80*61046927SAndroid Build Coastguard Worker    <field name="Child Bounds Exponent X" start="144" end="151" type="int" />
81*61046927SAndroid Build Coastguard Worker    <field name="Child Bounds Exponent Y" start="152" end="159" type="int" />
82*61046927SAndroid Build Coastguard Worker    <field name="Child Bounds Exponent Z" start="160" end="168" type="int" />
83*61046927SAndroid Build Coastguard Worker    <field name="Node Ray Mask" start="168" end="175" type="uint" />
84*61046927SAndroid Build Coastguard Worker    <group count="6" start="176" size="8">
85*61046927SAndroid Build Coastguard Worker      <field name="Child Size" start="0" end="1" type="uint" />
86*61046927SAndroid Build Coastguard Worker      <field name="Child Type" start="2" end="5" type="uint" />
87*61046927SAndroid Build Coastguard Worker      <field name="Start Primitive" start="2" end="5" type="uint" />
88*61046927SAndroid Build Coastguard Worker    </group>
89*61046927SAndroid Build Coastguard Worker    <group count="6" start="224" size="8">
90*61046927SAndroid Build Coastguard Worker      <field name="Child Lower X Bound" start="0" end="7" type="uint" />
91*61046927SAndroid Build Coastguard Worker    </group>
92*61046927SAndroid Build Coastguard Worker    <group count="6" start="272" size="8">
93*61046927SAndroid Build Coastguard Worker      <field name="Child Upper X Bound" start="0" end="7" type="uint" />
94*61046927SAndroid Build Coastguard Worker    </group>
95*61046927SAndroid Build Coastguard Worker    <group count="6" start="320" size="8">
96*61046927SAndroid Build Coastguard Worker      <field name="Child Lower Y Bound" start="0" end="7" type="uint" />
97*61046927SAndroid Build Coastguard Worker    </group>
98*61046927SAndroid Build Coastguard Worker    <group count="6" start="368" size="8">
99*61046927SAndroid Build Coastguard Worker      <field name="Child Upper Y Bound" start="0" end="7" type="uint" />
100*61046927SAndroid Build Coastguard Worker    </group>
101*61046927SAndroid Build Coastguard Worker    <group count="6" start="416" size="8">
102*61046927SAndroid Build Coastguard Worker      <field name="Child Lower Z Bound" start="0" end="7" type="uint" />
103*61046927SAndroid Build Coastguard Worker    </group>
104*61046927SAndroid Build Coastguard Worker    <group count="6" start="464" size="8">
105*61046927SAndroid Build Coastguard Worker      <field name="Child Upper Z Bound" start="0" end="7" type="uint" />
106*61046927SAndroid Build Coastguard Worker    </group>
107*61046927SAndroid Build Coastguard Worker  </struct>
108*61046927SAndroid Build Coastguard Worker  <struct name="RT_BVH_PRIMITIVE_LEAF_DESCRIPTOR" length="2">
109*61046927SAndroid Build Coastguard Worker    <field name="Shader Index" start="0" end="23" type="uint" />
110*61046927SAndroid Build Coastguard Worker    <field name="Geometry Ray Mask" start="24" end="31" type="uint" />
111*61046927SAndroid Build Coastguard Worker    <field name="Geometry Index" start="32" end="60" type="uint" />
112*61046927SAndroid Build Coastguard Worker    <field name="Leaf Type" start="61" end="61" type="uint">
113*61046927SAndroid Build Coastguard Worker      <value name="TYPE_QUAD" value="0" />
114*61046927SAndroid Build Coastguard Worker      <value name="TYPE_OPAQUE_CULLING_ENABLED" value="0" />
115*61046927SAndroid Build Coastguard Worker      <value name="TYPE_OPAQUE_CULLING_DISABLED" value="1" />
116*61046927SAndroid Build Coastguard Worker    </field>
117*61046927SAndroid Build Coastguard Worker    <field name="Geometry Flags" start="62" end="63" type="uint">
118*61046927SAndroid Build Coastguard Worker      <value name="GEOMETRY_OPAQUE" value="1" />
119*61046927SAndroid Build Coastguard Worker    </field>
120*61046927SAndroid Build Coastguard Worker  </struct>
121*61046927SAndroid Build Coastguard Worker  <struct name="RT_BVH_PROCEDURAL_LEAF" length="16">
122*61046927SAndroid Build Coastguard Worker    <field name="Leaf Descriptor" start="0" end="63" type="RT_BVH_PRIMITIVE_LEAF_DESCRIPTOR" />
123*61046927SAndroid Build Coastguard Worker    <field name="Num Primitives" start="64" end="67" type="uint" />
124*61046927SAndroid Build Coastguard Worker    <field name="Last Primitive" start="83" end="95" type="uint" />
125*61046927SAndroid Build Coastguard Worker    <group count="13" start="96" size="32">
126*61046927SAndroid Build Coastguard Worker      <field name="Primitive Index" start="0" end="31" type="uint" />
127*61046927SAndroid Build Coastguard Worker    </group>
128*61046927SAndroid Build Coastguard Worker  </struct>
129*61046927SAndroid Build Coastguard Worker  <struct name="RT_BVH_QUAD_LEAF" length="16">
130*61046927SAndroid Build Coastguard Worker    <field name="Leaf Descriptor" start="0" end="63" type="RT_BVH_PRIMITIVE_LEAF_DESCRIPTOR" />
131*61046927SAndroid Build Coastguard Worker    <field name="Primitive Index 0" start="64" end="95" type="uint" />
132*61046927SAndroid Build Coastguard Worker    <field name="Primitive Index 1 Delta" start="96" end="112" type="uint" />
133*61046927SAndroid Build Coastguard Worker    <field name="j0" start="112" end="113" type="uint" />
134*61046927SAndroid Build Coastguard Worker    <field name="j1" start="114" end="115" type="uint" />
135*61046927SAndroid Build Coastguard Worker    <field name="j2" start="116" end="117" type="uint" />
136*61046927SAndroid Build Coastguard Worker    <field name="Last Quad" start="118" end="118" type="bool" />
137*61046927SAndroid Build Coastguard Worker    <group count="4" start="128" size="96">
138*61046927SAndroid Build Coastguard Worker      <field name="Quad Vertex" start="0" end="95" type="RT_BVH_VEC3" />
139*61046927SAndroid Build Coastguard Worker    </group>
140*61046927SAndroid Build Coastguard Worker  </struct>
141*61046927SAndroid Build Coastguard Worker  <struct name="RT_SHADER_TABLE" length="2">
142*61046927SAndroid Build Coastguard Worker    <field name="Base Address" start="0" end="47" type="address" />
143*61046927SAndroid Build Coastguard Worker    <field name="Stride" start="48" end="63" type="uint" />
144*61046927SAndroid Build Coastguard Worker  </struct>
145*61046927SAndroid Build Coastguard Worker  <struct name="RT_DISPATCH_GLOBALS" length="20">
146*61046927SAndroid Build Coastguard Worker    <field name="Mem Base Address" start="0" end="63" type="address" />
147*61046927SAndroid Build Coastguard Worker    <field name="Call Stack Handler" start="64" end="127" type="BINDLESS_SHADER_RECORD" />
148*61046927SAndroid Build Coastguard Worker    <field name="Async RT Stack Size" start="128" end="159" type="uint" />
149*61046927SAndroid Build Coastguard Worker    <field name="Num DSS RT Stacks" start="160" end="175" type="uint" />
150*61046927SAndroid Build Coastguard Worker    <field name="Max BVH Levels" start="192" end="194" type="uint" />
151*61046927SAndroid Build Coastguard Worker    <field name="Flags" start="224" end="224" type="uint">
152*61046927SAndroid Build Coastguard Worker      <value name="RT_DEPTH_TEST_LESS_EQUAL" value="1" />
153*61046927SAndroid Build Coastguard Worker    </field>
154*61046927SAndroid Build Coastguard Worker    <field name="Hit Group Table" start="256" end="319" type="RT_SHADER_TABLE" />
155*61046927SAndroid Build Coastguard Worker    <field name="Miss Group Table" start="320" end="383" type="RT_SHADER_TABLE" />
156*61046927SAndroid Build Coastguard Worker    <field name="SW Stack Size" start="384" end="415" type="uint" />
157*61046927SAndroid Build Coastguard Worker    <field name="Launch Width" start="416" end="447" type="uint" />
158*61046927SAndroid Build Coastguard Worker    <field name="Launch Height" start="448" end="479" type="uint" />
159*61046927SAndroid Build Coastguard Worker    <field name="Launch Depth" start="480" end="511" type="uint" />
160*61046927SAndroid Build Coastguard Worker    <field name="Callable Group Table" start="512" end="575" type="RT_SHADER_TABLE" />
161*61046927SAndroid Build Coastguard Worker    <field name="Resume Shader Table" start="576" end="639" type="address" />
162*61046927SAndroid Build Coastguard Worker  </struct>
163*61046927SAndroid Build Coastguard Worker  <struct name="RT_GENERAL_SBT_HANDLE" length="8">
164*61046927SAndroid Build Coastguard Worker    <field name="General" start="0" end="63" type="BINDLESS_SHADER_RECORD" />
165*61046927SAndroid Build Coastguard Worker  </struct>
166*61046927SAndroid Build Coastguard Worker  <struct name="RT_PROCEDURAL_SBT_HANDLE" length="8">
167*61046927SAndroid Build Coastguard Worker    <field name="Closest Hit" start="0" end="63" type="BINDLESS_SHADER_RECORD" />
168*61046927SAndroid Build Coastguard Worker    <field name="Intersection" start="64" end="127" type="BINDLESS_SHADER_RECORD" />
169*61046927SAndroid Build Coastguard Worker  </struct>
170*61046927SAndroid Build Coastguard Worker  <struct name="RT_TRIANGLES_SBT_HANDLE" length="8">
171*61046927SAndroid Build Coastguard Worker    <field name="Closest Hit" start="0" end="63" type="BINDLESS_SHADER_RECORD" />
172*61046927SAndroid Build Coastguard Worker    <field name="Any Hit" start="64" end="127" type="BINDLESS_SHADER_RECORD" />
173*61046927SAndroid Build Coastguard Worker  </struct>
174*61046927SAndroid Build Coastguard Worker</genxml>
175