diff options
author | Ilia Mirkin <[email protected]> | 2016-11-18 10:15:30 -0500 |
---|---|---|
committer | Ilia Mirkin <[email protected]> | 2016-11-28 20:14:48 -0500 |
commit | 2fca08e550ae0c4b036ee8fc34dcf98d45d6bf20 (patch) | |
tree | 7fcadd71ff3c91a99b8a7080912a0d7d6437939f /src/gallium/drivers | |
parent | 5582610ea190e52e49c60aa8fe18bebfe2466cde (diff) |
swr: [rasterizer memory] hook up stencil clears for ClearTile
Signed-off-by: Ilia Mirkin <[email protected]>
Reviewed-by: Tim Rowley <[email protected]>
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r-- | src/gallium/drivers/swr/rasterizer/memory/ClearTile.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/gallium/drivers/swr/rasterizer/memory/ClearTile.cpp b/src/gallium/drivers/swr/rasterizer/memory/ClearTile.cpp index 8501e21eded..31a40a3feea 100644 --- a/src/gallium/drivers/swr/rasterizer/memory/ClearTile.cpp +++ b/src/gallium/drivers/swr/rasterizer/memory/ClearTile.cpp @@ -156,16 +156,19 @@ void StoreHotTileClear( { PFN_STORE_TILES_CLEAR pfnStoreTilesClear = NULL; - SWR_ASSERT(renderTargetIndex != SWR_ATTACHMENT_STENCIL); ///@todo Not supported yet. - - if (renderTargetIndex != SWR_ATTACHMENT_DEPTH) + if (renderTargetIndex == SWR_ATTACHMENT_STENCIL) { - pfnStoreTilesClear = sStoreTilesClearColorTable[pDstSurface->format]; + SWR_ASSERT(pDstSurface->format == R8_UINT); + pfnStoreTilesClear = StoreMacroTileClear<R8_UINT, R8_UINT>::StoreClear; } - else + else if (renderTargetIndex == SWR_ATTACHMENT_DEPTH) { pfnStoreTilesClear = sStoreTilesClearDepthTable[pDstSurface->format]; } + else + { + pfnStoreTilesClear = sStoreTilesClearColorTable[pDstSurface->format]; + } SWR_ASSERT(pfnStoreTilesClear != NULL); |