_simd_vmask_ps(CalcDepthBoundsAcceptMask(z, minz, maxz)));
}
- RDTSC_BEGIN(BEBarycentric, pDC->drawId);
+ RDTSC_BEGIN(psContext.pBucketManager, BEBarycentric, pDC->drawId);
// calculate per sample positions
psContext.vX.sample = _simd_add_ps(psContext.vX.UL, samplePos.vX(sample));
vZ[sample] = state.pfnQuantizeDepth(vZ[sample]);
}
- RDTSC_END(BEBarycentric, 0);
+ RDTSC_END(psContext.pBucketManager, BEBarycentric, 0);
///@todo: perspective correct vs non-perspective correct clipping?
// if clip distances are enabled, we need to interpolate for each sample
// ZTest for this sample
///@todo Need to uncomment out this bucket.
- // RDTSC_BEGIN(BEDepthBucket, pDC->drawId);
+ // RDTSC_BEGIN(psContext.pBucketManager, BEDepthBucket, pDC->drawId);
depthPassMask[sample] = vCoverageMask[sample];
stencilPassMask[sample] = vCoverageMask[sample];
depthPassMask[sample] = DepthStencilTest(&state,
vCoverageMask[sample],
pStencilSample,
&stencilPassMask[sample]);
- // RDTSC_END(BEDepthBucket, 0);
+ // RDTSC_END(psContext.pBucketManager, BEDepthBucket, 0);
// early-exit if no pixels passed depth or earlyZ is forced on
if (psState.forceEarlyZ || !_simd_movemask_ps(depthPassMask[sample]))
/// backend
- RDTSC_BEGIN(BEPixelRateBackend, pDC->drawId);
- RDTSC_BEGIN(BESetup, pDC->drawId);
+ RDTSC_BEGIN(pDC->pContext->pBucketMgr, BEPixelRateBackend, pDC->drawId);
+ RDTSC_BEGIN(pDC->pContext->pBucketMgr, BESetup, pDC->drawId);
const API_STATE& state = GetApiState(pDC);
state.colorHottileEnable,
renderBuffers);
- RDTSC_END(BESetup, 0);
+ RDTSC_END(pDC->pContext->pBucketMgr, BESetup, 0);
PixelRateZTestLoop<T> PixelRateZTest(pDC,
workerId,
pCoverageMask, psContext.inputMask, state.blendState.sampleMask);
}
- RDTSC_BEGIN(BEBarycentric, pDC->drawId);
+ RDTSC_BEGIN(pDC->pContext->pBucketMgr, BEBarycentric, pDC->drawId);
CalcPixelBarycentrics(coeffs, psContext);
CalcCentroid<T, false>(
&psContext, samplePos, coeffs, work.coverageMask, state.blendState.sampleMask);
- RDTSC_END(BEBarycentric, 0);
+ RDTSC_END(pDC->pContext->pBucketMgr, BEBarycentric, 0);
if (T::bForcedSampleCount)
{
if (state.psState.usesSourceDepth)
{
- RDTSC_BEGIN(BEBarycentric, pDC->drawId);
+ RDTSC_BEGIN(pDC->pContext->pBucketMgr, BEBarycentric, pDC->drawId);
// interpolate and quantize z
psContext.vZ = vplaneps(
coeffs.vZa, coeffs.vZb, coeffs.vZc, psContext.vI.center, psContext.vJ.center);
psContext.vZ = state.pfnQuantizeDepth(psContext.vZ);
- RDTSC_END(BEBarycentric, 0);
+ RDTSC_END(pDC->pContext->pBucketMgr, BEBarycentric, 0);
}
// pixels that are currently active
psContext.oMask = T::MultisampleT::FullSampleMask();
// execute pixel shader
- RDTSC_BEGIN(BEPixelShader, pDC->drawId);
+ RDTSC_BEGIN(pDC->pContext->pBucketMgr, BEPixelShader, pDC->drawId);
state.psState.pfnPixelShader(GetPrivateState(pDC), pWorkerData, &psContext);
UPDATE_STAT_BE(PsInvocations, _mm_popcnt_u32(_simd_movemask_ps(activeLanes)));
- RDTSC_END(BEPixelShader, 0);
+ RDTSC_END(pDC->pContext->pBucketMgr, BEPixelShader, 0);
// update stats
UPDATE_STAT_BE(PsInvocations, _mm_popcnt_u32(_simd_movemask_ps(activeLanes)));
for (uint32_t sample = 0; sample < GetNumOMSamples<T>(state.blendState.sampleCount);
sample++)
{
- RDTSC_BEGIN(BEOutputMerger, pDC->drawId);
+ RDTSC_BEGIN(pDC->pContext->pBucketMgr, BEOutputMerger, pDC->drawId);
// center pattern does a single coverage/depth/stencil test, standard pattern tests
// all samples
uint32_t coverageSampleNum = (T::bIsCenterPattern) ? 0 : sample;
if (!_simd_movemask_ps(depthMask))
{
// stencil should already have been written in early/lateZ tests
- RDTSC_END(BEOutputMerger, 0);
+ RDTSC_END(pDC->pContext->pBucketMgr, BEOutputMerger, 0);
continue;
}
}
pStencilSample,
PixelRateZTest.stencilPassMask[coverageSampleNum]);
}
- RDTSC_END(BEOutputMerger, 0);
+ RDTSC_END(pDC->pContext->pBucketMgr, BEOutputMerger, 0);
}
Endtile:
- RDTSC_BEGIN(BEEndTile, pDC->drawId);
+ RDTSC_BEGIN(pDC->pContext->pBucketMgr, BEEndTile, pDC->drawId);
for (uint32_t sample = 0; sample < T::MultisampleT::numCoverageSamples; sample++)
{
pStencilBuffer +=
(KNOB_SIMD_WIDTH * FormatTraits<KNOB_STENCIL_HOT_TILE_FORMAT>::bpp) / 8;
- RDTSC_END(BEEndTile, 0);
+ RDTSC_END(pDC->pContext->pBucketMgr, BEEndTile, 0);
psContext.vX.UL = _simd_add_ps(psContext.vX.UL, dx);
psContext.vX.center = _simd_add_ps(psContext.vX.center, dx);
psContext.vY.center = _simd_add_ps(psContext.vY.center, dy);
}
- RDTSC_END(BEPixelRateBackend, 0);
+ RDTSC_END(pDC->pContext->pBucketMgr, BEPixelRateBackend, 0);
}
template <uint32_t sampleCountT = SWR_MULTISAMPLE_1X,