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