From a0747c4ce3b0dd89fbaa7f4dc4237df4ea7a97e3 Mon Sep 17 00:00:00 2001 From: Tim Rowley Date: Wed, 4 May 2016 15:04:39 -0600 Subject: [PATCH] swr: [rasterizer core] move variable query outside loop Reviewed-by: Bruce Cherniak --- src/gallium/drivers/swr/rasterizer/core/frontend.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/swr/rasterizer/core/frontend.cpp b/src/gallium/drivers/swr/rasterizer/core/frontend.cpp index c13280e..6bb9b12 100644 --- a/src/gallium/drivers/swr/rasterizer/core/frontend.cpp +++ b/src/gallium/drivers/swr/rasterizer/core/frontend.cpp @@ -1575,6 +1575,7 @@ void BinTriangles( const SWR_RASTSTATE& rastState = state.rastState; const SWR_FRONTEND_STATE& feState = state.frontendState; const SWR_GS_STATE& gsState = state.gsState; + MacroTileMgr *pTileMgr = pDC->pTileMgr; // Simple wireframe mode for debugging purposes only @@ -1783,6 +1784,7 @@ void BinTriangles( _simd_store_si((simdscalari*)aRTAI, _simd_setzero_si()); } + // scan remaining valid triangles and bin each separately while (_BitScanForward(&triIndex, triMask)) { @@ -1835,7 +1837,6 @@ void BinTriangles( ProcessUserClipDist<3>(pa, triIndex, rastState.clipDistanceMask, desc.pUserClipBuffer); } - MacroTileMgr *pTileMgr = pDC->pTileMgr; for (uint32_t y = aMTTop[triIndex]; y <= aMTBottom[triIndex]; ++y) { for (uint32_t x = aMTLeft[triIndex]; x <= aMTRight[triIndex]; ++x) -- 2.7.4