Mesa (mesa_7_7_branch): st/mesa: Add checks for ST_SURFACE_x vs MESA_BUFFER_x

Thomas Hellstrom thomash at kemper.freedesktop.org
Sun Feb 21 11:53:24 UTC 2010


Module: Mesa
Branch: mesa_7_7_branch
Commit: 13cbb5fff68ef8831230638e9f0b29a217750e9d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=13cbb5fff68ef8831230638e9f0b29a217750e9d

Author: Brian Paul <brianp at vmware.com>
Date:   Sun Feb 21 12:38:46 2010 +0100

st/mesa: Add checks for ST_SURFACE_x vs MESA_BUFFER_x

The ST_SURFACE_x values should match the Mesa BUFFER_x values.
Added some assertions to prevent future mix-ups.

---

 src/mesa/state_tracker/st_framebuffer.c |    8 ++++++++
 src/mesa/state_tracker/st_public.h      |    2 +-
 2 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/src/mesa/state_tracker/st_framebuffer.c b/src/mesa/state_tracker/st_framebuffer.c
index 835142e..397fcd3 100644
--- a/src/mesa/state_tracker/st_framebuffer.c
+++ b/src/mesa/state_tracker/st_framebuffer.c
@@ -159,6 +159,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,
@@ -169,6 +170,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);
diff --git a/src/mesa/state_tracker/st_public.h b/src/mesa/state_tracker/st_public.h
index 2f25b8b..1936ed6 100644
--- a/src/mesa/state_tracker/st_public.h
+++ b/src/mesa/state_tracker/st_public.h
@@ -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




More information about the mesa-commit mailing list