diff options
author | Kenneth Graunke <[email protected]> | 2013-08-06 14:36:09 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2013-08-08 12:12:47 -0700 |
commit | fb3d62fe3d4fc40ba4ad9804d8b6f451316c9ae2 (patch) | |
tree | 8fa3e84a36580ca61445869bec3b0b67b08130da | |
parent | 43076a55c2c914a619b8b3a3f93e15a7eee6d2ad (diff) |
i965: Remember to call intel_prepare_render() before blitting.
Otherwise, blits to the window system buffer may cause crashes,
since dst_irb->mt may be NULL.
This code is lifted straight out of brw_blorp_framebuffer()'s
try_blorp_blit() helper.
Fixes crashes in Piglit's fbo-sys-blit on systems without BLORP.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=65919
Signed-off-by: Kenneth Graunke <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
Reviewed-by: Chad Versace <[email protected]>
Cc: "9.2" <[email protected]>
-rw-r--r-- | src/mesa/drivers/dri/i965/intel_fbo.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/intel_fbo.c b/src/mesa/drivers/dri/i965/intel_fbo.c index fb0bb71b028..1692325903b 100644 --- a/src/mesa/drivers/dri/i965/intel_fbo.c +++ b/src/mesa/drivers/dri/i965/intel_fbo.c @@ -695,6 +695,11 @@ intel_blit_framebuffer_with_blitter(struct gl_context *ctx, { struct brw_context *brw = brw_context(ctx); + /* Sync up the state of window system buffers. We need to do this before + * we go looking for the buffers. + */ + intel_prepare_render(brw); + if (mask & GL_COLOR_BUFFER_BIT) { GLint i; const struct gl_framebuffer *drawFb = ctx->DrawBuffer; |