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