Mesa (master): intel: make intel_flush_front safe to call during initial MakeCurrent
Paul Berry
stereotype441 at kemper.freedesktop.org
Fri Jun 7 20:30:20 UTC 2013
Module: Mesa
Branch: master
Commit: 03cc31031315059a80d12485a402ea2a8731dc8a
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=03cc31031315059a80d12485a402ea2a8731dc8a
Author: Paul Berry <stereotype441 at gmail.com>
Date: Thu May 30 07:08:07 2013 -0700
intel: make intel_flush_front safe to call during initial MakeCurrent
The patch that follows will fix a bug that prevents
intel_flush_front() from being called often enough. In doing so, it
will create a situation where intel_flush_front() is called during the
initial call to glXMakeCurrent(). In this circumstance,
ctx->DrawBuffer hasn't been initialized yet and is NULL. Fortunately,
intel->front_buffer_dirty is false, so intel_flush_front() doesn't
actually need to do anything. To avoid a segfault, swap the order of
terms in intel_flush_front()'s if statement.
Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>
---
src/mesa/drivers/dri/intel/intel_context.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c
index 8c88b3c..54d0a69 100644
--- a/src/mesa/drivers/dri/intel/intel_context.c
+++ b/src/mesa/drivers/dri/intel/intel_context.c
@@ -132,7 +132,7 @@ intel_flush_front(struct gl_context *ctx)
__DRIdrawable *driDrawable = driContext->driDrawablePriv;
__DRIscreen *const screen = intel->intelScreen->driScrnPriv;
- if (_mesa_is_winsys_fbo(ctx->DrawBuffer) && intel->front_buffer_dirty) {
+ if (intel->front_buffer_dirty && _mesa_is_winsys_fbo(ctx->DrawBuffer)) {
if (screen->dri2.loader->flushFrontBuffer != NULL &&
driDrawable &&
driDrawable->loaderPrivate) {
More information about the mesa-commit
mailing list