summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2009-07-15 11:31:24 -0400
committerAlex Deucher <alexdeucher@gmail.com>2009-07-15 11:31:24 -0400
commita0d4a12614fce072fa1eb5516e626909171c95e1 (patch)
treef6a21246d082a45f970e40e2f42b95bb6b568c07
parentefe7ad233ca8fa1b7e1aabf706c433955c5c51e8 (diff)
make sure ctx->Driver.Flush is valid before calling it
-rw-r--r--src/mesa/drivers/dri/radeon/radeon_common.c6
-rw-r--r--src/mesa/drivers/dri/radeon/radeon_fbo.c6
2 files changed, 8 insertions, 4 deletions
diff --git a/src/mesa/drivers/dri/radeon/radeon_common.c b/src/mesa/drivers/dri/radeon/radeon_common.c
index 1848b7113e..59ae7814aa 100644
--- a/src/mesa/drivers/dri/radeon/radeon_common.c
+++ b/src/mesa/drivers/dri/radeon/radeon_common.c
@@ -999,7 +999,8 @@ again:
if (ret == RADEON_CS_SPACE_OP_TO_BIG)
return GL_FALSE;
if (ret == RADEON_CS_SPACE_FLUSH) {
- ctx->Driver.Flush(ctx); /* +r6/r7 */
+ if (ctx->Driver.Flush)
+ ctx->Driver.Flush(ctx); /* +r6/r7 */
if (flushed)
return GL_FALSE;
flushed = 1;
@@ -1121,7 +1122,8 @@ void radeonFinish(GLcontext * ctx)
struct gl_framebuffer *fb = ctx->DrawBuffer;
int i;
- ctx->Driver.Flush(ctx); /* +r6/r7 */
+ if (ctx->Driver.Flush)
+ ctx->Driver.Flush(ctx); /* +r6/r7 */
if (radeon->radeonScreen->kernel_mm) {
for (i = 0; i < fb->_NumColorDrawBuffers; i++) {
diff --git a/src/mesa/drivers/dri/radeon/radeon_fbo.c b/src/mesa/drivers/dri/radeon/radeon_fbo.c
index 8fa665e49c..ea18f1ee2d 100644
--- a/src/mesa/drivers/dri/radeon/radeon_fbo.c
+++ b/src/mesa/drivers/dri/radeon/radeon_fbo.c
@@ -165,7 +165,8 @@ radeon_alloc_renderbuffer_storage(GLcontext * ctx, struct gl_renderbuffer *rb,
return GL_FALSE;
}
- ctx->Driver.Flush(ctx); /* +r6/r7 */
+ if (ctx->Driver.Flush)
+ ctx->Driver.Flush(ctx); /* +r6/r7 */
if (rrb->bo)
radeon_bo_unref(rrb->bo);
@@ -381,7 +382,8 @@ radeon_framebuffer_renderbuffer(GLcontext * ctx,
GLenum attachment, struct gl_renderbuffer *rb)
{
- ctx->Driver.Flush(ctx); /* +r6/r7 */
+ if (ctx->Driver.Flush)
+ ctx->Driver.Flush(ctx); /* +r6/r7 */
_mesa_framebuffer_renderbuffer(ctx, fb, attachment, rb);
radeon_draw_buffer(ctx, fb);