From: Corbin Simpson Date: Tue, 9 Jun 2009 03:23:34 +0000 (-0700) Subject: r300-gallium: HW TCL glxgears. (Read the rest of the log.) X-Git-Tag: 062012170305~17489^2~38 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c534604800e2ea14991acb83fe4c68ffcdb7b661;p=profile%2Fivi%2Fmesa.git 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. --- 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);