summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/swr
diff options
context:
space:
mode:
authorIlia Mirkin <[email protected]>2016-11-18 10:15:30 -0500
committerIlia Mirkin <[email protected]>2016-11-28 20:14:48 -0500
commit2fca08e550ae0c4b036ee8fc34dcf98d45d6bf20 (patch)
tree7fcadd71ff3c91a99b8a7080912a0d7d6437939f /src/gallium/drivers/swr
parent5582610ea190e52e49c60aa8fe18bebfe2466cde (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/swr')
-rw-r--r--src/gallium/drivers/swr/rasterizer/memory/ClearTile.cpp13
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);