diff options
-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); |