gallium: incorporate alpha state into depth_stencil state object.
[mesa.git] / src / mesa / state_tracker / st_context.h
index a6045230a0f063ca4b6439de61f70c785a9d1a45..c3919d474cfad627d669e9fc9fd723fd9f2fbd85 100644 (file)
@@ -34,9 +34,7 @@
 
 
 struct st_context;
-struct st_region;
 struct st_texture_object;
-struct st_texture_image;
 struct st_fragment_program;
 struct draw_context;
 struct draw_stage;
@@ -61,6 +59,25 @@ struct st_tracked_state {
 
 
 
+struct st_texture_image
+{
+   struct gl_texture_image base;
+
+   /* These aren't stored in gl_texture_image 
+    */
+   GLuint level;
+   GLuint face;
+
+   /* If stImage->pt != NULL, image data is stored here.
+    * Else if stImage->base.Data != NULL, image is stored there.
+    * Else there is no image data.
+    */
+   struct pipe_texture *pt;
+
+   struct pipe_surface *surface;
+};
+
+
 
 struct st_context
 {
@@ -80,18 +97,16 @@ struct st_context
       const struct cso_alpha_test      *alpha_test;
       const struct cso_blend           *blend;
       const struct cso_sampler         *sampler[PIPE_MAX_SAMPLERS];
-      const struct cso_depth_stencil   *depth_stencil;
+      const struct cso_depth_stencil_alpha   *depth_stencil;
       const struct cso_rasterizer      *rasterizer;
       const struct cso_fragment_shader *fs;
       const struct cso_vertex_shader   *vs;
 
       struct pipe_blend_color  blend_color;
-      struct pipe_clear_color_state clear_color;
       struct pipe_clip_state clip;
       struct pipe_constant_buffer constants[2];
-      struct pipe_feedback_state feedback;
       struct pipe_framebuffer_state framebuffer;
-      struct pipe_mipmap_tree *texture[PIPE_MAX_SAMPLERS];
+      struct pipe_texture *sampler_texture[PIPE_MAX_SAMPLERS];
       struct pipe_poly_stipple poly_stipple;
       struct pipe_scissor_state scissor;
       struct pipe_viewport_state viewport;
@@ -113,11 +128,11 @@ struct st_context
    char vendor[100];
    char renderer[100];
 
-   /** Can we access the front/back color buffers as pipe_regions?
+   /** Can we access the front/back color buffers as pipe_surfaces?
     * We can't with the Xlib driver...
     * This is a hack that should be fixed someday.
     */
-   GLboolean haveFramebufferRegions;
+   GLboolean haveFramebufferSurfaces;
 
    /* State to be validated:
     */