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 <bruce.cherniak@intel.com>
This commit is contained in:
Tim Rowley 2016-06-10 10:18:45 -06:00
parent 0f025eb478
commit c867c22d85

View file

@ -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
{