From: Alex Deucher Date: Wed, 15 Jul 2009 15:31:24 +0000 (-0400) Subject: make sure ctx->Driver.Flush is valid before calling it X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a0d4a12614fce072fa1eb5516e626909171c95e1;p=mesa.git make sure ctx->Driver.Flush is valid before calling it --- diff --git a/src/mesa/drivers/dri/radeon/radeon_common.c b/src/mesa/drivers/dri/radeon/radeon_common.c index 1848b7113e1..59ae7814aa3 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 8fa665e49cf..ea18f1ee2db 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);