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