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.
This commit is contained in:
Brian Paul 2010-02-21 12:38:46 +01:00 committed by Thomas Hellstrom
parent dd8d78c908
commit 13cbb5fff6
2 changed files with 9 additions and 1 deletions

View file

@ -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);

View 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