Mesa (master): r300-gallium: HW TCL glxgears. (Read the rest of the log.)

Corbin Simpson csimpson at kemper.freedesktop.org
Mon Jun 8 20:35:31 PDT 2009


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

Author: Corbin Simpson <MostAwesomeDude at gmail.com>
Date:   Mon Jun  8 20:23:34 2009 -0700

r300-gallium: HW TCL glxgears. (Read the rest of the log.)

Um. So, yeah. Two massive WTF moments here. The first one is that, somehow,
I never actually hooked up vertex shader emission, so the only time that the
VAP gets set up is during surface_copy/surface_fill. That's why acidgears
was happening.

The second one is that, somehow, once I actually hooked it up, glxgears just
magically worked. Without any actual, real testing, I somehow accidentally
made the shader compiler work. Go figure.

---

 src/gallium/drivers/r300/r300_emit.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/r300/r300_emit.c b/src/gallium/drivers/r300/r300_emit.c
index 8b9fcd7..93cf690 100644
--- a/src/gallium/drivers/r300/r300_emit.c
+++ b/src/gallium/drivers/r300/r300_emit.c
@@ -632,6 +632,11 @@ validate:
         r300->dirty_state &= ~R300_NEW_VERTEX_FORMAT;
     }
 
+    if (r300->dirty_state & R300_NEW_VERTEX_SHADER) {
+        r300_emit_vertex_shader(r300, r300->vs);
+        r300->dirty_state &= ~R300_NEW_VERTEX_SHADER;
+    }
+
     /* Finally, emit the VBO. */
     r300_emit_vertex_buffer(r300);
 



More information about the mesa-commit mailing list