intel/fs: Protect opt_algebraic from OOB BROADCAST indices
[mesa.git] / src / intel / genxml / gen45.xml
index bde6080466728f594da1bcd06c795b3bfb4df122..c91085831eada2fee61cd9625eb7eaeeeced549f 100644 (file)
     <field name="Viewport XY ClipTest Enable" start="188" end="188" type="bool"/>
     <field name="Viewport Z ClipTest Enable" start="187" end="187" type="bool"/>
     <field name="Guardband ClipTest Enable" start="186" end="186" type="bool"/>
+    <field name="Negative W ClipTest Enable" start="185" end="185" type="bool"/>
     <field name="UserClipFlags MustClip Enable" start="184" end="184" type="bool"/>
-    <field name="UserClipFlags ClipTest Enable Bitmask" start="176" end="183" type="bool"/>
+    <field name="UserClipDistance ClipTest Enable Bitmask" start="176" end="183" type="uint"/>
     <field name="Clip Mode" start="173" end="175" type="uint" prefix="CLIPMODE">
       <value name="NORMAL" value="0"/>
       <value name="ALL" value="1"/>
     <field name="YMax Clip Guardband" start="96" end="127" type="float"/>
   </struct>
 
+  <struct name="SCISSOR_RECT" length="2">
+    <field name="Scissor Rectangle Y Min" start="16" end="31" type="uint"/>
+    <field name="Scissor Rectangle X Min" start="0" end="15" type="uint"/>
+    <field name="Scissor Rectangle Y Max" start="48" end="63" type="uint"/>
+    <field name="Scissor Rectangle X Max" start="32" end="47" type="uint"/>
+  </struct>
+
   <struct name="COLOR_CALC_STATE" length="8">
     <field name="Stencil Test Enable" start="31" end="31" type="bool"/>
     <field name="Stencil Test Function" start="28" end="30" type="3D_Compare_Function"/>
       <value name="PROGRESSIVE_FRAME" value="2"/>
       <value name="INTERLACED_FRAME" value="3"/>
     </field>
-    <field name="Cube Face Enables" start="0" end="5" type="uint"/>
+    <field name="Cube Face Enable - Positive Z" start="0" end="0" type="bool"/>
+    <field name="Cube Face Enable - Negative Z" start="1" end="1" type="bool"/>
+    <field name="Cube Face Enable - Positive Y" start="2" end="2" type="bool"/>
+    <field name="Cube Face Enable - Negative Y" start="3" end="3" type="bool"/>
+    <field name="Cube Face Enable - Positive X" start="4" end="4" type="bool"/>
+    <field name="Cube Face Enable - Negative X" start="5" end="5" type="bool"/>
     <field name="Surface Base Address" start="32" end="63" type="address"/>
     <field name="Height" start="83" end="95" type="uint"/>
     <field name="Width" start="70" end="82" type="uint"/>
     <field name="Border Color Alpha" start="96" end="127" type="float"/>
   </struct>
 
+  <struct name="SAMPLER_STATE" length="4">
+    <field name="Sampler Disable" start="31" end="31" type="bool"/>
+    <field name="LOD PreClamp Enable" start="28" end="28" type="bool"/>
+    <field name="Base Mip Level" start="22" end="26" type="u4.1"/>
+    <field name="Mip Mode Filter" start="20" end="21" type="uint" prefix="MIPFILTER">
+      <value name="NONE" value="0"/>
+      <value name="NEAREST" value="1"/>
+      <value name="LINEAR" value="3"/>
+    </field>
+    <field name="Mag Mode Filter" start="17" end="19" type="uint" prefix="MAPFILTER">
+      <value name="NEAREST" value="0"/>
+      <value name="LINEAR" value="1"/>
+      <value name="ANISOTROPIC" value="2"/>
+      <value name="MONO" value="6"/>
+    </field>
+    <field name="Min Mode Filter" start="14" end="16" type="uint" prefix="MAPFILTER"/>
+    <field name="Texture LOD Bias" start="3" end="13" type="s4.6"/>
+    <field name="Shadow Function" start="0" end="2" type="uint">
+      <value name="PREFILTEROP_ALWAYS" value="0"/>
+      <value name="PREFILTEROP_NEVER" value="1"/>
+      <value name="PREFILTEROP_LESS" value="2"/>
+      <value name="PREFILTEROP_EQUAL" value="3"/>
+      <value name="PREFILTEROP_LEQUAL" value="4"/>
+      <value name="PREFILTEROP_GREATER" value="5"/>
+      <value name="PREFILTEROP_NOTEQUAL" value="6"/>
+      <value name="PREFILTEROP_GEQUAL" value="7"/>
+    </field>
+    <field name="Min LOD" start="54" end="63" type="u4.6"/>
+    <field name="Max LOD" start="44" end="53" type="u4.6"/>
+    <field name="Cube Surface Control Mode" start="41" end="41" type="uint">
+      <value name="CUBECTRLMODE_PROGRAMMED" value="0"/>
+      <value name="CUBECTRLMODE_OVERRIDE" value="1"/>
+    </field>
+    <field name="TCX Address Control Mode" start="38" end="40" type="Texture_Coordinate_Mode"/>
+    <field name="TCY Address Control Mode" start="35" end="37" type="Texture_Coordinate_Mode"/>
+    <field name="TCZ Address Control Mode" start="32" end="34" type="Texture_Coordinate_Mode"/>
+    <field name="Border Color Pointer" start="69" end="95" type="address"/>
+    <field name="Monochrome Filter Height" start="125" end="127" type="uint"/>
+    <field name="Monochrome Filter Width" start="122" end="124" type="uint"/>
+    <field name="ChromaKey Enable" start="121" end="121" type="bool"/>
+    <field name="ChromaKey Index" start="119" end="120" type="uint"/>
+    <field name="ChromaKey Mode" start="118" end="118" type="uint" prefix="KEYFILTER">
+      <value name="KILL_ON_ANY_MATCH" value="0"/>
+      <value name="REPLACE_BLACK" value="1"/>
+    </field>
+    <field name="Maximum Anisotropy" start="115" end="117" type="uint">
+      <value name="RATIO 2:1" value="0"/>
+      <value name="RATIO 4:1" value="1"/>
+      <value name="RATIO 6:1" value="2"/>
+      <value name="RATIO 8:1" value="3"/>
+      <value name="RATIO 10:1" value="4"/>
+      <value name="RATIO 12:1" value="5"/>
+      <value name="RATIO 14:1" value="6"/>
+      <value name="RATIO 16:1" value="7"/>
+    </field>
+    <field name="R Address Min Filter Rounding Enable" start="109" end="109" type="bool"/>
+    <field name="R Address Mag Filter Rounding Enable" start="110" end="110" type="bool"/>
+    <field name="V Address Min Filter Rounding Enable" start="111" end="111" type="bool"/>
+    <field name="V Address Mag Filter Rounding Enable" start="112" end="112" type="bool"/>
+    <field name="U Address Min Filter Rounding Enable" start="113" end="113" type="bool"/>
+    <field name="U Address Mag Filter Rounding Enable" start="114" end="114" type="bool"/>
+  </struct>
+
   <struct name="SF_STATE" length="8">
     <field name="Kernel Start Pointer" start="6" end="31" type="address"/>
     <field name="GRF Register Count" start="1" end="3" type="uint"/>
     <field name="URB Entry Allocation Size" start="147" end="151" type="uint"/>
     <field name="Number of URB Entries" start="139" end="146" type="uint"/>
     <field name="Statistics Enable" start="138" end="138" type="bool"/>
-    <field name="Setup Viewport State Offset" start="165" end="191" type="offset"/>
+    <field name="Setup Viewport State Offset" start="165" end="191" type="address"/>
     <field name="Viewport Transform Enable" start="161" end="161" type="bool"/>
     <field name="Front Winding" start="160" end="160" type="uint">
       <value name="FRONTWINDING_CW" value="0"/>
       <value name="FRONTWINDING_CCW" value="1"/>
     </field>
-    <field name="Anti-aliasing Enable" start="223" end="223" type="bool"/>
+    <field name="Anti-Aliasing Enable" start="223" end="223" type="bool"/>
     <field name="Cull Mode" start="221" end="222" type="uint" prefix="CULLMODE">
       <value name="BOTH" value="0"/>
       <value name="NONE" value="1"/>
       <value name="BACK" value="3"/>
     </field>
     <field name="Fast Scissor Clip Disable" start="220" end="220" type="bool"/>
-    <field name="Line Width" start="216" end="219" type="u3.7"/>
+    <field name="Line Width" start="216" end="219" type="u3.1"/>
     <field name="Line End Cap Antialiasing Region Width" start="214" end="215" type="uint">
       <value name="0.5 pixels" value="0"/>
       <value name="1.0 pixels" value="1"/>
       <value name="8 Sub-Pixel Precision Bits" value="0"/>
       <value name="4 Sub-Pixel Precision Bits" value="1"/>
     </field>
-    <field name="Use Point Width State" start="235" end="235" type="uint">
-      <value name="Use Point Width on Vertex" value="0"/>
-      <value name="Use Point Width from State" value="1"/>
+    <field name="Point Width Source" start="235" end="235" type="uint">
+      <value name="Vertex" value="0"/>
+      <value name="State" value="1"/>
     </field>
     <field name="Point Width" start="224" end="234" type="u8.3"/>
   </struct>
     <field name="Viewport Matrix Element m30" start="96" end="127" type="float"/>
     <field name="Viewport Matrix Element m31" start="128" end="159" type="float"/>
     <field name="Viewport Matrix Element m32" start="160" end="191" type="float"/>
-    <field name="Scissor Rectangle Y Min" start="208" end="223" type="uint"/>
-    <field name="Scissor Rectangle X Min" start="192" end="207" type="uint"/>
-    <field name="Scissor Rectangle Y Max" start="240" end="255" type="uint"/>
-    <field name="Scissor Rectangle X Max" start="224" end="239" type="uint"/>
+    <field name="Scissor Rectangle" start="192" end="255" type="SCISSOR_RECT"/>
   </struct>
 
   <struct name="VERTEX_BUFFER_STATE" length="4">
   </struct>
 
   <struct name="WM_STATE" length="8">
-    <field name="Kernel Start Pointer" start="6" end="31" type="address"/>
-    <field name="GRF Register Count" start="1" end="3" type="uint"/>
+    <field name="Kernel Start Pointer 0" start="6" end="31" type="address"/>
+    <field name="GRF Register Count 0" start="1" end="3" type="uint"/>
     <field name="Single Program Flow" start="63" end="63" type="bool"/>
     <field name="Binding Table Entry Count" start="50" end="57" type="uint"/>
     <field name="Thread Priority" start="49" end="49" type="uint">
     <field name="Constant URB Entry Read Offset" start="114" end="119" type="uint"/>
     <field name="Setup URB Entry Read Length" start="107" end="112" type="uint"/>
     <field name="Setup URB Entry Read Offset" start="100" end="105" type="uint"/>
-    <field name="Dispatch GRF Start Register For URB Data" start="96" end="99" type="uint"/>
+    <field name="Dispatch GRF Start Register For Constant/Setup Data 0" start="96" end="99" type="uint"/>
     <field name="Sampler State Pointer" start="133" end="159" type="address"/>
     <field name="Sampler Count" start="130" end="132" type="uint"/>
     <field name="Statistics Enable" start="128" end="128" type="bool"/>
     <field name="Maximum Number of Threads" start="185" end="191" type="uint"/>
     <field name="Legacy Diamond Line Rasterization" start="183" end="183" type="bool"/>
-    <field name="Pixel Shader Kill Pixel" start="182" end="182" type="bool"/>
+    <field name="Pixel Shader Kills Pixel" start="182" end="182" type="bool"/>
     <field name="Pixel Shader Computed Depth" start="181" end="181" type="bool"/>
     <field name="Pixel Shader Uses Source Depth" start="180" end="180" type="bool"/>
     <field name="Thread Dispatch Enable" start="179" end="179" type="bool"/>