diff options
author | Eric Anholt <[email protected]> | 2017-07-12 15:56:00 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2017-07-25 14:44:52 -0700 |
commit | b3c78a51f33a26b57f4bec64bab73ea720c1e619 (patch) | |
tree | 32b74b7c012fdc6e5886da80409e5563a4ce9317 | |
parent | 299c9a2db1391f222e784aa54b4b5e321afdffc6 (diff) |
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.
-rw-r--r-- | src/broadcom/cle/v3d_packet_v21.xml | 4 | ||||
-rw-r--r-- | 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 350cf294b51..b28f2b5eb6c 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 d0a701f17b3..b45ffb75aa9 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]; } } |