From bea00a7b6ef9483f7ced507df863259e89c8c09c Mon Sep 17 00:00:00 2001 From: Tim Rowley Date: Thu, 8 Jun 2017 14:44:32 -0500 Subject: [PATCH] swr/rast: Don't transition hottile resolved->dirty during store tiles Fixes crash when dumping render targets and RT surface has been deleted. Reviewed-by: Bruce Cherniak --- src/gallium/drivers/swr/rasterizer/core/backend.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/swr/rasterizer/core/backend.cpp b/src/gallium/drivers/swr/rasterizer/core/backend.cpp index ca9a8b40449..524c4f4e609 100644 --- a/src/gallium/drivers/swr/rasterizer/core/backend.cpp +++ b/src/gallium/drivers/swr/rasterizer/core/backend.cpp @@ -386,7 +386,10 @@ void ProcessStoreTileBE(DRAW_CONTEXT *pDC, uint32_t workerId, uint32_t macroTile if (pHotTile->state == HOTTILE_DIRTY || pHotTile->state == HOTTILE_RESOLVED) { - pHotTile->state = (HOTTILE_STATE)pDesc->postStoreTileState; + if (!(pDesc->postStoreTileState == HOTTILE_DIRTY && pHotTile->state == HOTTILE_RESOLVED)) + { + pHotTile->state = (HOTTILE_STATE)pDesc->postStoreTileState; + } } } AR_END(BEStoreTiles, 1); -- 2.30.2