diff options
author | Tim Rowley <[email protected]> | 2016-06-10 10:18:45 -0600 |
---|---|---|
committer | Tim Rowley <[email protected]> | 2016-06-23 10:50:36 -0500 |
commit | c867c22d855163ecbf18d5606b27c9d2cb50a148 (patch) | |
tree | 613c1c2581470b11b22c23137637718d832882f2 /src/gallium/drivers/swr/rasterizer | |
parent | 0f025eb478bfcca3f13c52fe7bc77f510bfc4486 (diff) |
swr: [rasterizer core] stop single threaded crash exit crash
Function static destructors were getting called by exit
handlers before context teardown.
Reviewed-by: Bruce Cherniak <[email protected]>
Diffstat (limited to 'src/gallium/drivers/swr/rasterizer')
-rw-r--r-- | src/gallium/drivers/swr/rasterizer/core/api.cpp | 5 |
1 files 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 2e6f8b3a16d..22a94fbf731 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 { |