mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 07:08:04 +02:00
swr: [rasterizer core] minor cleanup to thread initialization
Signed-off-by: Tim Rowley <timothy.o.rowley@intel.com>
This commit is contained in:
parent
7472a8ee75
commit
a4efbd14d3
3 changed files with 12 additions and 13 deletions
|
|
@ -104,14 +104,6 @@ HANDLE SwrCreateContext(
|
|||
|
||||
CreateThreadPool(pContext, &pContext->threadPool);
|
||||
|
||||
// Calling createThreadPool() above can set SINGLE_THREADED
|
||||
if (pContext->threadInfo.SINGLE_THREADED)
|
||||
{
|
||||
pContext->NumWorkerThreads = 1;
|
||||
pContext->NumFEThreads = 1;
|
||||
pContext->NumBEThreads = 1;
|
||||
}
|
||||
|
||||
pContext->ppScratch = new uint8_t*[pContext->NumWorkerThreads];
|
||||
pContext->pStats = new SWR_STATS[pContext->NumWorkerThreads];
|
||||
|
||||
|
|
@ -356,7 +348,7 @@ DRAW_CONTEXT* GetDrawContext(SWR_CONTEXT *pContext, bool isSplitDraw = false)
|
|||
pCurDrawContext->threadsDone = 0;
|
||||
pCurDrawContext->retireCallback.pfnCallbackFunc = nullptr;
|
||||
|
||||
pCurDrawContext->dynState.Reset(pContext->threadPool.numThreads);
|
||||
pCurDrawContext->dynState.Reset(pContext->NumWorkerThreads);
|
||||
|
||||
// Assign unique drawId for this DC
|
||||
pCurDrawContext->drawId = pContext->dcRing.GetHead();
|
||||
|
|
|
|||
|
|
@ -373,7 +373,7 @@ struct DRAW_DYNAMIC_STATE
|
|||
SWR_STATS* pSavePtr = pStats;
|
||||
memset(this, 0, sizeof(*this));
|
||||
pStats = pSavePtr;
|
||||
memset(pStats, 0, sizeof(SWR_STATS) * (numThreads ? numThreads : 1));
|
||||
memset(pStats, 0, sizeof(SWR_STATS) * numThreads);
|
||||
}
|
||||
///@todo Currently assumes only a single FE can do stream output for a draw.
|
||||
uint32_t SoWriteOffset[4];
|
||||
|
|
|
|||
|
|
@ -877,8 +877,6 @@ void CreateThreadPool(SWR_CONTEXT *pContext, THREAD_POOL *pPool)
|
|||
}
|
||||
else
|
||||
{
|
||||
pPool->numThreads = 0;
|
||||
numThreads = 1;
|
||||
pContext->threadInfo.SINGLE_THREADED = true;
|
||||
}
|
||||
}
|
||||
|
|
@ -895,6 +893,11 @@ void CreateThreadPool(SWR_CONTEXT *pContext, THREAD_POOL *pPool)
|
|||
}
|
||||
}
|
||||
|
||||
if (pContext->threadInfo.SINGLE_THREADED)
|
||||
{
|
||||
numThreads = 1;
|
||||
}
|
||||
|
||||
// Initialize DRAW_CONTEXT's per-thread stats
|
||||
for (uint32_t dc = 0; dc < KNOB_MAX_DRAWS_IN_FLIGHT; ++dc)
|
||||
{
|
||||
|
|
@ -904,10 +907,14 @@ void CreateThreadPool(SWR_CONTEXT *pContext, THREAD_POOL *pPool)
|
|||
|
||||
if (pContext->threadInfo.SINGLE_THREADED)
|
||||
{
|
||||
pContext->NumWorkerThreads = 1;
|
||||
pContext->NumFEThreads = 1;
|
||||
pContext->NumBEThreads = 1;
|
||||
pPool->numThreads = 0;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
pPool->numThreads = numThreads;
|
||||
pContext->NumWorkerThreads = pPool->numThreads;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue