Mesa (master): intel: Use the current context rather than last bound context for a drawable.

Eric Anholt anholt at kemper.freedesktop.org
Sat Feb 26 22:07:31 UTC 2011


Module: Mesa
Branch: master
Commit: dea5e57861ec998cb7ee913a8819752cb9fa946b
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dea5e57861ec998cb7ee913a8819752cb9fa946b

Author: Eric Anholt <eric at anholt.net>
Date:   Mon Feb 14 18:57:49 2011 -0800

intel: Use the current context rather than last bound context for a drawable.

If another thread bound a context to the drawable then unbound it, the
driContextPriv would end up NULL.

With the previous two fixes, this fixes glx-multithread-makecurrent-2,
despite the issue not being about the multithreaded makecurrent.

---

 src/mesa/drivers/dri/intel/intel_screen.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c
index 356d5f7..746da46 100644
--- a/src/mesa/drivers/dri/intel/intel_screen.c
+++ b/src/mesa/drivers/dri/intel/intel_screen.c
@@ -104,7 +104,8 @@ static const __DRItexBufferExtension intelTexBufferExtension = {
 static void
 intelDRI2Flush(__DRIdrawable *drawable)
 {
-   struct intel_context *intel = drawable->driContextPriv->driverPrivate;
+   GET_CURRENT_CONTEXT(ctx);
+   struct intel_context *intel = intel_context(ctx);
 
    if (intel->gen < 4)
       INTEL_FIREVERTICES(intel);




More information about the mesa-commit mailing list