Mesa (master): st/mesa: Add checks for ST_SURFACE_x vs MESA_BUFFER_x
Brian Paul
brianp at kemper.freedesktop.org
Mon Feb 22 15:05:11 UTC 2010
Module: Mesa
Branch: master
Commit: 504e297a2c395d136ff73279db28cc9de3303c2d
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=504e297a2c395d136ff73279db28cc9de3303c2d
Author: Brian Paul <brianp at vmware.com>
Date: Mon Feb 22 08:04:39 2010 -0700
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.
(cherry picked from commit 13cbb5fff68ef8831230638e9f0b29a217750e9d)
---
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 4e225a1..1d35e8d 100644
--- a/src/mesa/state_tracker/st_framebuffer.c
+++ b/src/mesa/state_tracker/st_framebuffer.c
@@ -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);
diff --git a/src/mesa/state_tracker/st_public.h b/src/mesa/state_tracker/st_public.h
index 5c9a855..0824356 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