make sure ctx->Driver.Flush is valid before calling it

This commit is contained in:
Alex Deucher 2009-07-15 11:31:24 -04:00
parent efe7ad233c
commit a0d4a12614
2 changed files with 8 additions and 4 deletions

View file

@ -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++) {

View file

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