st/mesa: Add checks for ST_SURFACE_x vs MESA_BUFFER_x
authorBrian Paul <brianp@vmware.com>
Mon, 22 Feb 2010 15:04:39 +0000 (08:04 -0700)
committerBrian Paul <brianp@vmware.com>
Mon, 22 Feb 2010 15:04:39 +0000 (08:04 -0700)
The ST_SURFACE_x values should match the Mesa BUFFER_x values.
Added some assertions to prevent future mix-ups.

(cherry picked from commit 13cbb5fff68ef8831230638e9f0b29a217750e9d)

src/mesa/state_tracker/st_framebuffer.c
src/mesa/state_tracker/st_public.h

index 4e225a123c885d041b10859d7c11de0562c091dc..1d35e8d65744eaa646dca44ef5663791f2dc56a6 100644 (file)
@@ -160,6 +160,7 @@ void st_unreference_framebuffer( struct st_framebuffer *stfb )
  * Set/replace a framebuffer surface.
  * The user of the state tracker can use this instead of
  * st_resize_framebuffer() to provide new surfaces when a window is resized.
+ * \param surfIndex  an ST_SURFACE_x index
  */
 void
 st_set_framebuffer_surface(struct st_framebuffer *stfb,
@@ -170,6 +171,13 @@ st_set_framebuffer_surface(struct st_framebuffer *stfb,
    struct st_renderbuffer *strb;
    GLuint width, height, i;
 
+   /* sanity checks */
+   assert(ST_SURFACE_FRONT_LEFT == BUFFER_FRONT_LEFT);
+   assert(ST_SURFACE_BACK_LEFT == BUFFER_BACK_LEFT);
+   assert(ST_SURFACE_FRONT_RIGHT == BUFFER_FRONT_RIGHT);
+   assert(ST_SURFACE_BACK_RIGHT == BUFFER_BACK_RIGHT);
+   assert(ST_SURFACE_DEPTH == BUFFER_DEPTH);
+
    assert(surfIndex < BUFFER_COUNT);
 
    strb = st_renderbuffer(stfb->Base.Attachment[surfIndex].Renderbuffer);
index 5c9a8550db12c84bb495091d8a9f408b3e9dd5ad..0824356cecc5c6eec1d59a89fd9a843eb5e69b78 100644 (file)
@@ -34,7 +34,7 @@
 #include "pipe/p_compiler.h"
 #include "pipe/p_format.h"
 
-
+/** Renderbuffer surfaces (should match Mesa names) */
 #define ST_SURFACE_FRONT_LEFT   0
 #define ST_SURFACE_BACK_LEFT    1
 #define ST_SURFACE_FRONT_RIGHT  2