intel/genxml: Add coarse pixel shading instructions
authorLionel Landwerlin <lionel.g.landwerlin@intel.com>
Fri, 16 Oct 2020 13:11:53 +0000 (16:11 +0300)
committerMarge Bot <eric+marge@anholt.net>
Sun, 2 May 2021 20:20:06 +0000 (20:20 +0000)
v2: Add Gen12.5

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7455>

src/intel/genxml/gen11.xml
src/intel/genxml/gen12.xml
src/intel/genxml/gen125.xml

index 8513256..0c43c17 100644 (file)
       <value name="DX10/OGL" value="0"/>
       <value name="DX9" value="1"/>
     </field>
+    <field name="CPS LOD Compensation Enable" start="30" end="30" type="bool"/>
     <field name="Sampler Disable" start="31" end="31" type="bool"/>
     <field name="Cube Surface Control Mode" start="32" end="32" type="uint">
       <value name="PROGRAMMED" value="0"/>
     <field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
+  <instruction name="3DSTATE_CPS" bias="2" length="9">
+    <field name="DWord Length" start="0" end="7" type="uint" default="7"/>
+    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="34"/>
+    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
+    <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Min CP Size X" start="32" end="42" type="s3.7"/>
+    <field name="Statistics Enable" start="43" end="43" type="bool"/>
+    <field name="Coarse Pixel Shading Mode" start="44" end="45" type="uint">
+      <value name="CPS_MODE_NONE" value="0"/>
+      <value name="CPS_MODE_CONSTANT" value="1"/>
+      <value name="CPS_MODE_RADIAL" value="2"/>
+    </field>
+    <field name="Scale Axis" start="46" end="46" type="uint">
+      <value name="X axis" value="0"/>
+      <value name="Y axis" value="1"/>
+    </field>
+    <field name="Min CP Size Y" start="48" end="58" type="s3.7"/>
+    <field name="Max CP Size X " start="64" end="74" type="s3.7"/>
+    <field name="Max CP Size Y" start="80" end="90" type="s3.7"/>
+    <field name="Y Focal" start="96" end="111" type="int"/>
+    <field name="X Focal" start="128" end="143" type="int"/>
+    <field name="M y" start="160" end="191" type="float"/>
+    <field name="M x" start="192" end="223" type="float"/>
+    <field name="R min" start="224" end="255" type="float"/>
+    <field name="Aspect" start="256" end="287" type="float"/>
+  </instruction>
+
   <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="8" engine="render">
     <field name="DWord Length" start="0" end="7" type="uint" default="6"/>
     <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="5"/>
     </field>
     <field name="Pixel Shader Has UAV" start="34" end="34" type="bool"/>
     <field name="Pixel Shader Pulls Bary" start="35" end="35" type="bool"/>
+    <field name="Pixel Shader Is Per Coarse Pixel" start="36" end="36" type="bool"/>
     <field name="Pixel Shader Computes Stencil" start="37" end="37" type="bool"/>
     <field name="Pixel Shader Is Per Sample" start="38" end="38" type="bool"/>
     <field name="Pixel Shader Disables Alpha To Coverage" start="39" end="39" type="bool"/>
     <field name="Pixel Shader Requires Non-Perspective Bary Plane Coefficients" start="51" end="51" type="bool"/>
     <field name="Pixel Shader Requires Perspective Bary Plane Coefficients" start="52" end="52" type="bool"/>
     <field name="Pixel Shader Requires Source Depth and/or W Plane Coefficients" start="53" end="53" type="bool"/>
+    <field name="Pixel Shader Requires Requested Coarse Pixel Shading Size" start="54" end="54" type="bool"/>
     <field name="Pixel Shader Uses Source W" start="55" end="55" type="bool"/>
     <field name="Pixel Shader Uses Source Depth" start="56" end="56" type="bool"/>
     <field name="Force Computed Depth" start="57" end="57" type="bool"/>
index 3a179bf..bfad1a2 100644 (file)
     <field name="Blend Constant Color Alpha" start="160" end="191" type="float"/>
   </struct>
 
+  <struct name="CPS_STATE" length="8">
+    <field name="Min CP Size X" start="0" end="10" type="s3.7"/>
+    <field name="Statistics Enable" start="11" end="11" type="bool"/>
+    <field name="Coarse Pixel Shading Mode" start="12" end="13" type="uint">
+      <value name="CPS_MODE_NONE" value="0"/>
+      <value name="CPS_MODE_CONSTANT" value="1"/>
+      <value name="CPS_MODE_RADIAL" value="2"/>
+    </field>
+    <field name="Scale Axis" start="14" end="14" type="uint" prefix="SCALE_AXIS">
+      <value name="X Axis" value="0"/>
+      <value name="Y Axis" value="1"/>
+    </field>
+    <field name="Min CP Size Y" start="16" end="26" type="s3.7"/>
+    <field name="Max CP Size X" start="32" end="42" type="s3.7"/>
+    <field name="Max CP Size Y" start="48" end="58" type="s3.7"/>
+    <field name="Y Focal" start="64" end="79" type="s15.0"/>
+    <field name="X Focal" start="96" end="111" type="s15.0"/>
+    <field name="M y" start="128" end="159" type="float"/>
+    <field name="M x" start="160" end="191" type="float"/>
+    <field name="R min" start="192" end="223" type="float"/>
+    <field name="Aspect" start="224" end="255" type="float"/>
+  </struct>
+
   <struct name="EXECUTION_UNIT_EXTENDED_MESSAGE_DESCRIPTOR" length="1">
     <field name="Target Function ID" start="0" end="3" type="uint"/>
     <field name="End Of Thread" start="5" end="5" type="uint">
       <value name="DX10/OGL" value="0"/>
       <value name="DX9" value="1"/>
     </field>
+    <field name="CPS LOD Compensation Enable" start="30" end="30" type="bool"/>
     <field name="Sampler Disable" start="31" end="31" type="bool"/>
     <field name="Cube Surface Control Mode" start="32" end="32" type="uint">
       <value name="PROGRAMMED" value="0"/>
     <field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
+  <instruction name="3DSTATE_CPS_POINTERS" bias="2" length="2" engine="render">
+    <field name="DWord Length" start="0" end="15" type="uint" default="0"/>
+    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="34"/>
+    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
+    <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Coarse Pixel Shading State Array Pointer" start="37" end="63" type="offset"/>
+  </instruction>
+
   <instruction name="3DSTATE_DEPTH_BOUNDS" bias="2" length="4">
     <field name="Length" start="0" end="7" type="uint" default="2"/>
     <field name="Depth Bounds Test Value Modify Disable" start="14" end="14" type="bool"/>
     </field>
     <field name="Pixel Shader Has UAV" start="34" end="34" type="bool"/>
     <field name="Pixel Shader Pulls Bary" start="35" end="35" type="bool"/>
+    <field name="Pixel Shader Is Per Coarse Pixel" start="36" end="36" type="bool"/>
     <field name="Pixel Shader Computes Stencil" start="37" end="37" type="bool"/>
     <field name="Pixel Shader Is Per Sample" start="38" end="38" type="bool"/>
     <field name="Pixel Shader Disables Alpha To Coverage" start="39" end="39" type="bool"/>
     <field name="Pixel Shader Requires Non-Perspective Bary Plane Coefficients" start="51" end="51" type="bool"/>
     <field name="Pixel Shader Requires Perspective Bary Plane Coefficients" start="52" end="52" type="bool"/>
     <field name="Pixel Shader Requires Source Depth and/or W Plane Coefficients" start="53" end="53" type="bool"/>
+    <field name="Pixel Shader Requires Requested Coarse Pixel Shading Size" start="54" end="54" type="bool"/>
     <field name="Pixel Shader Uses Source W" start="55" end="55" type="bool"/>
     <field name="Pixel Shader Uses Source Depth" start="56" end="56" type="bool"/>
     <field name="Force Computed Depth" start="57" end="57" type="bool"/>
index 5154cbb..cec4914 100644 (file)
     <field name="Blend Constant Color Alpha" start="160" end="191" type="float"/>
   </struct>
 
+  <struct name="CPS_STATE" length="8">
+    <field name="Min CP Size X" start="0" end="10" type="s3.7"/>
+    <field name="Statistics Enable" start="11" end="11" type="bool"/>
+    <field name="Coarse Pixel Shading Mode" start="12" end="13" type="uint">
+      <value name="CPS_MODE_NONE" value="0"/>
+      <value name="CPS_MODE_CONSTANT" value="1"/>
+      <value name="CPS_MODE_RADIAL" value="2"/>
+    </field>
+    <field name="Scale Axis" start="14" end="14" type="uint" prefix="SCALE_AXIS">
+      <value name="X Axis" value="0"/>
+      <value name="Y Axis" value="1"/>
+    </field>
+    <field name="Min CP Size Y" start="16" end="26" type="s3.7"/>
+    <field name="Max CP Size X" start="32" end="42" type="s3.7"/>
+    <field name="Max CP Size Y" start="48" end="58" type="s3.7"/>
+    <field name="Y Focal" start="64" end="79" type="s15.0"/>
+    <field name="X Focal" start="96" end="111" type="s15.0"/>
+    <field name="M y" start="128" end="159" type="float"/>
+    <field name="M x" start="160" end="191" type="float"/>
+    <field name="R min" start="192" end="223" type="float"/>
+    <field name="Aspect" start="224" end="255" type="float"/>
+  </struct>
+
   <struct name="EXECUTION_UNIT_EXTENDED_MESSAGE_DESCRIPTOR" length="1">
     <field name="Target Function ID" start="0" end="3" type="uint"/>
     <field name="End Of Thread" start="5" end="5" type="uint">
       <value name="DX10/OGL" value="0"/>
       <value name="DX9" value="1"/>
     </field>
+    <field name="CPS LOD Compensation Enable" start="30" end="30" type="bool"/>
     <field name="Sampler Disable" start="31" end="31" type="bool"/>
     <field name="Cube Surface Control Mode" start="32" end="32" type="uint">
       <value name="PROGRAMMED" value="0"/>
     <field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
+  <instruction name="3DSTATE_CPS_POINTERS" bias="2" length="2" engine="render">
+    <field name="DWord Length" start="0" end="15" type="uint" default="0"/>
+    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="34"/>
+    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
+    <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Coarse Pixel Shading State Array Pointer" start="37" end="63" type="offset"/>
+  </instruction>
+
   <instruction name="3DSTATE_DEPTH_BOUNDS" bias="2" length="4">
     <field name="Length" start="0" end="7" type="uint" default="2"/>
     <field name="Depth Bounds Test Value Modify Disable" start="14" end="14" type="bool"/>
     </field>
     <field name="Pixel Shader Has UAV" start="34" end="34" type="bool"/>
     <field name="Pixel Shader Pulls Bary" start="35" end="35" type="bool"/>
+    <field name="Pixel Shader Is Per Coarse Pixel" start="36" end="36" type="bool"/>
     <field name="Pixel Shader Computes Stencil" start="37" end="37" type="bool"/>
     <field name="Pixel Shader Is Per Sample" start="38" end="38" type="bool"/>
     <field name="Pixel Shader Disables Alpha To Coverage" start="39" end="39" type="bool"/>
     <field name="Pixel Shader Requires Non-Perspective Bary Plane Coefficients" start="51" end="51" type="bool"/>
     <field name="Pixel Shader Requires Perspective Bary Plane Coefficients" start="52" end="52" type="bool"/>
     <field name="Pixel Shader Requires Source Depth and/or W Plane Coefficients" start="53" end="53" type="bool"/>
+    <field name="Pixel Shader Requires Requested Coarse Pixel Shading Size" start="54" end="54" type="bool"/>
     <field name="Pixel Shader Uses Source W" start="55" end="55" type="bool"/>
     <field name="Pixel Shader Uses Source Depth" start="56" end="56" type="bool"/>
     <field name="Force Computed Depth" start="57" end="57" type="bool"/>