diff options
author | Kenneth Graunke <[email protected]> | 2017-05-10 23:37:23 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2017-05-29 21:46:37 -0700 |
commit | 9afe5846d2c9df4e1ac6c1a5c296e14ac68ae968 (patch) | |
tree | 4244fecebf3c38557888c04e4ae632810c3d3171 /src/intel | |
parent | 44309dcea361f7000d7c28030c328cbcb4995948 (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 <[email protected]>
Diffstat (limited to 'src/intel')
-rw-r--r-- | src/intel/genxml/gen4.xml | 12 | ||||
-rw-r--r-- | src/intel/genxml/gen45.xml | 12 | ||||
-rw-r--r-- | src/intel/genxml/gen5.xml | 12 |
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"> |