summaryrefslogtreecommitdiff
path: root/src/intel/genxml
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2017-05-10 23:37:23 -0700
committerKenneth Graunke <kenneth@whitecape.org>2017-05-29 21:46:37 -0700
commit9afe5846d2c9df4e1ac6c1a5c296e14ac68ae968 (patch)
tree4244fecebf3c38557888c04e4ae632810c3d3171 /src/intel/genxml
parent44309dcea361f7000d7c28030c328cbcb4995948 (diff)
genxml: Make a SCISSOR_RECT structure on Gen4-5.
Gen6+ support multiple scissor rectangles, and define a SCISSOR_RECT structure containing their dimensions. On Gen4-5, those same fields exist in SF_VIEWPORT. This patch extracts the SF_VIEWPORT fields into a SCISSOR_RECT structure. Although not a named concept on Gen4-5, it works just as well, and gives us a consistent SCISSOR_RECT structure across all generations, making it easier to reuse code. Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Diffstat (limited to 'src/intel/genxml')
-rw-r--r--src/intel/genxml/gen4.xml12
-rw-r--r--src/intel/genxml/gen45.xml12
-rw-r--r--src/intel/genxml/gen5.xml12
3 files changed, 24 insertions, 12 deletions
diff --git a/src/intel/genxml/gen4.xml b/src/intel/genxml/gen4.xml
index 58e07515853..b6721ac9f6c 100644
--- a/src/intel/genxml/gen4.xml
+++ b/src/intel/genxml/gen4.xml
@@ -401,6 +401,13 @@
<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"/>
@@ -693,10 +700,7 @@
<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">
diff --git a/src/intel/genxml/gen45.xml b/src/intel/genxml/gen45.xml
index 47100e55e8a..72c9fc23daa 100644
--- a/src/intel/genxml/gen45.xml
+++ b/src/intel/genxml/gen45.xml
@@ -402,6 +402,13 @@
<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"/>
@@ -707,10 +714,7 @@
<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">
diff --git a/src/intel/genxml/gen5.xml b/src/intel/genxml/gen5.xml
index 777ed36427d..729137c666e 100644
--- a/src/intel/genxml/gen5.xml
+++ b/src/intel/genxml/gen5.xml
@@ -400,6 +400,13 @@
<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"/>
@@ -798,10 +805,7 @@
<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">