summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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);