framebuffer state
authorBrian <brian.paul@tungstengraphics.com>
Fri, 15 Jun 2007 16:54:08 +0000 (10:54 -0600)
committerBrian <brian.paul@tungstengraphics.com>
Fri, 15 Jun 2007 16:54:08 +0000 (10:54 -0600)
src/mesa/pipe/softpipe/sp_context.c
src/mesa/pipe/softpipe/sp_context.h
src/mesa/pipe/softpipe/sp_state.h
src/mesa/pipe/softpipe/sp_state_surface.c

index 8e547cb..9a05426 100644 (file)
@@ -66,6 +66,7 @@ struct pipe_context *softpipe_create( void )
    struct softpipe_context *softpipe = CALLOC_STRUCT(softpipe_context);
 
    softpipe->pipe.destroy = softpipe_destroy;
+   softpipe->pipe.set_framebuffer_state = softpipe_set_framebuffer_state;
    softpipe->pipe.set_clip_state = softpipe_set_clip_state;
    softpipe->pipe.set_viewport = softpipe_set_viewport;
    softpipe->pipe.set_setup_state = softpipe_set_setup_state;
index 9050b59..f2ebc42 100644 (file)
@@ -58,7 +58,7 @@ enum interp_mode {
 #define G_NEW_CLIP      0x20
 #define G_NEW_SCISSOR   0x40
 #define G_NEW_STIPPLE   0x80
-
+#define G_NEW_FRAMEBUFFER 0x100
 
 
 struct softpipe_context {     
index 2abefc6..14afce1 100644 (file)
@@ -35,6 +35,9 @@
 #include "pipe/p_state.h"
 
 
+void softpipe_set_framebuffer_state( struct pipe_context *,
+                            const struct pipe_framebuffer_state * );
+
 void softpipe_set_clip_state( struct pipe_context *,
                             const struct pipe_clip_state * );
 
index 989f2e2..d089fe0 100644 (file)
@@ -51,3 +51,17 @@ void softpipe_set_cbuf_state( struct pipe_context *pipe,
 }
 
 
+/*
+ * XXX this might get moved someday
+ */
+void softpipe_set_framebuffer_state( struct pipe_context *pipe,
+                                     const struct pipe_framebuffer_state *fb )
+{
+   struct softpipe_context *softpipe = softpipe_context(pipe);
+
+   softpipe->framebuffer = *fb; /* struct copy */
+
+   softpipe->dirty |= G_NEW_FRAMEBUFFER;
+}
+
+