Mesa (master): r300-gallium: Cleanup viewport state setup.

Corbin Simpson csimpson at kemper.freedesktop.org
Mon May 18 16:52:49 UTC 2009


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

Author: Corbin Simpson <MostAwesomeDude at gmail.com>
Date:   Mon May 18 09:41:21 2009 -0700

r300-gallium: Cleanup viewport state setup.

---

 src/gallium/drivers/r300/r300_state.c |   64 ++++++++++++++------------------
 1 files changed, 28 insertions(+), 36 deletions(-)

diff --git a/src/gallium/drivers/r300/r300_state.c b/src/gallium/drivers/r300/r300_state.c
index d7825e0..4e65fbb 100644
--- a/src/gallium/drivers/r300/r300_state.c
+++ b/src/gallium/drivers/r300/r300_state.c
@@ -559,43 +559,35 @@ static void r300_set_viewport_state(struct pipe_context* pipe,
 {
     struct r300_context* r300 = r300_context(pipe);
 
-    //draw_flush(r300->draw);
+    /* Do the transform in HW. */
+    r300->viewport_state->vte_control = R300_VTX_W0_FMT;
 
-    if (TRUE || r300_screen(r300->context.screen)->caps->has_tcl) {
-        /* Do the transform in HW. */
-        r300->viewport_state->vte_control = R300_VTX_W0_FMT;
-
-        if (state->scale[0] != 1.0f) {
-            assert(state->scale[0] != 0.0f);
-            r300->viewport_state->xscale = state->scale[0];
-            r300->viewport_state->vte_control |= R300_VPORT_X_SCALE_ENA;
-        }
-        if (state->scale[1] != 1.0f) {
-            assert(state->scale[1] != 0.0f);
-            r300->viewport_state->yscale = state->scale[1];
-            r300->viewport_state->vte_control |= R300_VPORT_Y_SCALE_ENA;
-        }
-        if (state->scale[2] != 1.0f) {
-            assert(state->scale[2] != 0.0f);
-            r300->viewport_state->zscale = state->scale[2];
-            r300->viewport_state->vte_control |= R300_VPORT_Z_SCALE_ENA;
-        }
-        if (state->translate[0] != 0.0f) {
-            r300->viewport_state->xoffset = state->translate[0];
-            r300->viewport_state->vte_control |= R300_VPORT_X_OFFSET_ENA;
-        }
-        if (state->translate[1] != 0.0f) {
-            r300->viewport_state->yoffset = state->translate[1];
-            r300->viewport_state->vte_control |= R300_VPORT_Y_OFFSET_ENA;
-        }
-        if (state->translate[2] != 0.0f) {
-            r300->viewport_state->zoffset = state->translate[2];
-            r300->viewport_state->vte_control |= R300_VPORT_Z_OFFSET_ENA;
-        }
-    } else {
-        r300->viewport_state->vte_control = 0;
-        /* Have Draw do the actual transform. */
-        draw_set_viewport_state(r300->draw, state);
+    if (state->scale[0] != 1.0f) {
+        assert(state->scale[0] != 0.0f);
+        r300->viewport_state->xscale = state->scale[0];
+        r300->viewport_state->vte_control |= R300_VPORT_X_SCALE_ENA;
+    }
+    if (state->scale[1] != 1.0f) {
+        assert(state->scale[1] != 0.0f);
+        r300->viewport_state->yscale = state->scale[1];
+        r300->viewport_state->vte_control |= R300_VPORT_Y_SCALE_ENA;
+    }
+    if (state->scale[2] != 1.0f) {
+        assert(state->scale[2] != 0.0f);
+        r300->viewport_state->zscale = state->scale[2];
+        r300->viewport_state->vte_control |= R300_VPORT_Z_SCALE_ENA;
+    }
+    if (state->translate[0] != 0.0f) {
+        r300->viewport_state->xoffset = state->translate[0];
+        r300->viewport_state->vte_control |= R300_VPORT_X_OFFSET_ENA;
+    }
+    if (state->translate[1] != 0.0f) {
+        r300->viewport_state->yoffset = state->translate[1];
+        r300->viewport_state->vte_control |= R300_VPORT_Y_OFFSET_ENA;
+    }
+    if (state->translate[2] != 0.0f) {
+        r300->viewport_state->zoffset = state->translate[2];
+        r300->viewport_state->vte_control |= R300_VPORT_Z_OFFSET_ENA;
     }
 
     r300->dirty_state |= R300_NEW_VIEWPORT;




More information about the mesa-commit mailing list