Mesa (master): broadcom/vc4: Switch the Viewport Center fields to a fixed-point representation.

Eric Anholt anholt at kemper.freedesktop.org
Tue Jul 25 21:56:01 UTC 2017


Module: Mesa
Branch: master
Commit: b3c78a51f33a26b57f4bec64bab73ea720c1e619
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b3c78a51f33a26b57f4bec64bab73ea720c1e619

Author: Eric Anholt <eric at anholt.net>
Date:   Wed Jul 12 15:56:00 2017 -0700

broadcom/vc4: Switch the Viewport Center fields to a fixed-point representation.

This gets us automatic CL decoding to a floating-point value, and drops a
magic number from the emit code.  250x250 shader runner tests now say they
have a center of 125.0 instead of 2000.

---

 src/broadcom/cle/v3d_packet_v21.xml | 4 ++--
 src/gallium/drivers/vc4/vc4_emit.c  | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/broadcom/cle/v3d_packet_v21.xml b/src/broadcom/cle/v3d_packet_v21.xml
index 350cf294b5..b28f2b5eb6 100644
--- a/src/broadcom/cle/v3d_packet_v21.xml
+++ b/src/broadcom/cle/v3d_packet_v21.xml
@@ -212,8 +212,8 @@
   </packet>
 
   <packet name="Viewport Offset" code="103">
-    <field name="Viewport Centre Y-coordinate" size="16" start="16" type="int"/>
-    <field name="Viewport Centre X-coordinate" size="16" start="0" type="int"/>
+    <field name="Viewport Centre Y-coordinate" size="16" start="16" type="s12.4"/>
+    <field name="Viewport Centre X-coordinate" size="16" start="0" type="s12.4"/>
   </packet>
 
   <packet name="Z min and max clipping planes" code="104">
diff --git a/src/gallium/drivers/vc4/vc4_emit.c b/src/gallium/drivers/vc4/vc4_emit.c
index d0a701f17b..b45ffb75aa 100644
--- a/src/gallium/drivers/vc4/vc4_emit.c
+++ b/src/gallium/drivers/vc4/vc4_emit.c
@@ -135,9 +135,9 @@ vc4_emit_state(struct pipe_context *pctx)
 
                 cl_emit(&job->bcl, VIEWPORT_OFFSET, vp) {
                         vp.viewport_centre_x_coordinate =
-                                16 * vc4->viewport.translate[0];
+                                vc4->viewport.translate[0];
                         vp.viewport_centre_y_coordinate =
-                                16 * vc4->viewport.translate[1];
+                                vc4->viewport.translate[1];
                 }
         }
 




More information about the mesa-commit mailing list