setup vertex format for GL_FEEDBACK mode
authorBrian <brian.paul@tungstengraphics.com>
Mon, 15 Oct 2007 19:42:56 +0000 (13:42 -0600)
committerBrian <brian.paul@tungstengraphics.com>
Mon, 15 Oct 2007 19:42:56 +0000 (13:42 -0600)
src/mesa/state_tracker/st_cb_feedback.c

index f0c6bf6185825a814ae84f0c1566b64da35ad889..5e334e3c857a166df32d275e6dc4edbb7dae2d0e 100644 (file)
@@ -54,6 +54,7 @@
 #include "pipe/p_context.h"
 #include "pipe/p_defines.h"
 #include "pipe/p_winsys.h"
+#include "pipe/cso_cache/cso_cache.h"
 #include "vf/vf.h"
 
 #include "pipe/draw/draw_context.h"
@@ -307,6 +308,19 @@ st_RenderMode(GLcontext *ctx, GLenum newMode )
       draw_set_rasterize_stage(draw, st->feedback_stage);
       /* Plug in new vbo draw function */
       vbo->draw_prims = st_feedback_draw_vbo;
+      /* setup post-transform vertex attribs */
+      {
+         /* emit all attribs as GLfloat[4] */
+         uint attrs[PIPE_MAX_SHADER_OUTPUTS];
+         interp_mode interp[PIPE_MAX_SHADER_OUTPUTS];
+         GLuint n = st->state.vs->state.num_outputs;
+         GLuint i;
+         for (i = 0; i < n; i++) {
+            attrs[i] = FORMAT_4F;
+            interp[i] = INTERP_NONE;
+         }
+         draw_set_vertex_attributes(draw, attrs, interp, n);
+      }
    }
 }