Function static destructors were getting called by exit
handlers before context teardown.
---
 src/gallium/drivers/swr/rasterizer/core/api.cpp | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/swr/rasterizer/core/api.cpp 
b/src/gallium/drivers/swr/rasterizer/core/api.cpp
index 2e6f8b3..22a94fb 100644
--- a/src/gallium/drivers/swr/rasterizer/core/api.cpp
+++ b/src/gallium/drivers/swr/rasterizer/core/api.cpp
@@ -181,6 +181,8 @@ void WakeAllThreads(SWR_CONTEXT *pContext)
     pContext->FifosNotEmpty.notify_all();
 }
 
+static TileSet gSingleThreadLockedTiles;
+
 template<bool IsDraw>
 void QueueWork(SWR_CONTEXT *pContext)
 {
@@ -213,10 +215,9 @@ void QueueWork(SWR_CONTEXT *pContext)
 
         if (IsDraw)
         {
-            static TileSet lockedTiles;
             uint64_t curDraw[2] = { pContext->pCurDrawContext->drawId, 
pContext->pCurDrawContext->drawId };
             WorkOnFifoFE(pContext, 0, curDraw[0]);
-            WorkOnFifoBE(pContext, 0, curDraw[1], lockedTiles, 0, 0);
+            WorkOnFifoBE(pContext, 0, curDraw[1], gSingleThreadLockedTiles, 0, 
0);
         }
         else
         {
-- 
1.9.1

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to