From c534604800e2ea14991acb83fe4c68ffcdb7b661 Mon Sep 17 00:00:00 2001 From: Corbin Simpson Date: Mon, 8 Jun 2009 20:23:34 -0700 Subject: [PATCH] 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 file changed, 5 insertions(+) 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); -- 2.7.4