gallium: Update calls to the simple shader functions
authorBrian <brian.paul@tungstengraphics.com>
Thu, 27 Mar 2008 21:42:52 +0000 (15:42 -0600)
committerBrian <brian.paul@tungstengraphics.com>
Thu, 27 Mar 2008 21:43:32 +0000 (15:43 -0600)
src/mesa/state_tracker/st_cb_bitmap.c
src/mesa/state_tracker/st_cb_clear.c
src/mesa/state_tracker/st_context.h

index 0291b03143caeba05ca2c8dacf393c9ad49be20b..64b188242455cda4961247f53ac792a74b46a7dc 100644 (file)
@@ -487,13 +487,15 @@ st_Bitmap(GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height,
       const uint semantic_indexes[] = { 0, 0, 0 };
       st->bitmap.vs = util_make_vertex_passthrough_shader(st->pipe, 3,
                                                           semantic_names,
-                                                          semantic_indexes);
+                                                          semantic_indexes,
+                                                          &st->bitmap.vert_shader);
    }
 
    st_validate_state(st);
 
    pt = make_bitmap_texture(ctx, width, height, unpack, bitmap);
    if (pt) {
+      assert(pt->target == PIPE_TEXTURE_2D);
       draw_bitmap_quad(ctx, x, y, ctx->Current.RasterPos[2],
                        width, height,
                        pt, stfp);
index 5ca15df602a811f9d0162b771b1bde23f537d288..ec8d3e102215c731219bcf24785f5d702f3d7b4f 100644 (file)
@@ -251,7 +251,7 @@ clear_with_quad(GLcontext *ctx,
 
    /* fragment shader state: color pass-through program */
    if (!st->clear.fs) {
-      st->clear.fs = util_make_fragment_passthrough_shader(pipe);
+      st->clear.fs = util_make_fragment_passthrough_shader(pipe, &st->clear.frag_shader);
    }
    pipe->bind_fs_state(pipe, st->clear.fs);
 
@@ -264,7 +264,8 @@ clear_with_quad(GLcontext *ctx,
       const uint semantic_indexes[] = { 0, 0 };
       st->clear.vs = util_make_vertex_passthrough_shader(pipe, 2,
                                                          semantic_names,
-                                                         semantic_indexes);
+                                                         semantic_indexes,
+                                                         &st->clear.vert_shader);
    }
    pipe->bind_vs_state(pipe, st->clear.vs);
 #endif
index 2d37086799d8d2f3f4e0987602eda98c77d3e709..f235c194b7470d464c6bb346d7c7a4d7d9b24358 100644 (file)
@@ -147,6 +147,7 @@ struct st_context
       struct st_fragment_program *program;  /**< bitmap tex/kil program */
       GLuint user_prog_sn;  /**< user fragment program serial no. */
       struct st_fragment_program *combined_prog;
+      struct pipe_shader_state vert_shader;
       void *vs;
       float vertices[4][3][4];  /**< vertex pos + color + texcoord */
       struct pipe_buffer *vbuf;
@@ -154,6 +155,8 @@ struct st_context
 
    /** for glClear */
    struct {
+      struct pipe_shader_state vert_shader;
+      struct pipe_shader_state frag_shader;
       void *vs;
       void *fs;
       float vertices[4][2][4];  /**< vertex pos + color */