intel/genxml: Use a single field for clear color address on gen10.
authorRafael Antognolli <rafael.antognolli@intel.com>
Mon, 7 Aug 2017 19:14:04 +0000 (12:14 -0700)
committerRafael Antognolli <rafael.antognolli@intel.com>
Thu, 5 Apr 2018 14:42:45 +0000 (07:42 -0700)
genxml does not support having two address fields with different names
but same position in the state struct. Both "Clear Color Address"
and "Clear Depth Address Low" mean the same thing, only for different
surface types.

To workaround this genxml limitation, rename "Clear Color Address"
to "Clear Value Address" and use it for both color and depth. Do the
same for the high bits.

TODO: add support for multiple addresses at the same position in the
xml.

v2: Combine high and low order bits into a single address field.

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
src/intel/genxml/gen10.xml
src/intel/genxml/gen11.xml

index 8c35d70e9d293c975ff48dcdca57a95d9985194a..5aa518fb5335ba2fa68dc9213553215d4dbc897e 100644 (file)
     <field name="Clear Value Address Enable" start="330" end="330" type="bool"/>
     <field name="Quilt Height" start="325" end="329" type="uint"/>
     <field name="Quilt Width" start="320" end="324" type="uint"/>
+    <!-- This address points to the address of a Clear Color in the case of
+         CCS_D and CCS_E surfaces, and Depth Color for HiZ surfaces -->
+    <field name="Clear Value Address" start="390" end="431" type="address"/>
     <field name="Red Clear Color" start="384" end="415" type="int"/>
-    <field name="Clear Color Address" start="390" end="415" type="address"/>
-    <field name="Clear Depth Address Low" start="390" end="415" type="address"/>
     <field name="Green Clear Color" start="416" end="447" type="int"/>
-    <field name="Clear Color Address High" start="416" end="431" type="address"/>
-    <field name="Clear Depth Address High" start="416" end="431" type="address"/>
     <field name="Blue Clear Color" start="448" end="479" type="int"/>
     <field name="Alpha Clear Color" start="480" end="511" type="int"/>
   </struct>
index 517f0beb93b0030e179b3fd8894b79311da1ea2a..0cdd6dce0d65d99eb773aff0bc6b0c27542590ce 100644 (file)
     <field name="Clear Value Address Enable" start="330" end="330" type="bool"/>
     <field name="Quilt Height" start="325" end="329" type="uint"/>
     <field name="Quilt Width" start="320" end="324" type="uint"/>
+    <!-- This address points to the address of a Clear Color in the case of
+         CCS_D and CCS_E surfaces, and Depth Color for HiZ surfaces -->
+    <field name="Clear Value Address" start="390" end="431" type="address"/>
     <field name="Red Clear Color" start="384" end="415" type="int"/>
-    <field name="Clear Color Address" start="390" end="415" type="address"/>
-    <field name="Clear Depth Address Low" start="390" end="415" type="address"/>
     <field name="Clear Color Conversion Enable" start="389" end="389" type="uint"/>
     <field name="Green Clear Color" start="416" end="447" type="int"/>
-    <field name="Clear Color Address High" start="416" end="431" type="address"/>
-    <field name="Clear Depth Address High" start="416" end="431" type="address"/>
     <field name="Blue Clear Color" start="448" end="479" type="int"/>
     <field name="Alpha Clear Color" start="480" end="511" type="int"/>
   </struct>