Module: Mesa
Branch: master
Commit: bea00a7b6ef9483f7ced507df863259e89c8c09c
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=bea00a7b6ef9483f7ced507df863259e89c8c09c

Author: Tim Rowley <[email protected]>
Date:   Thu Jun  8 14:44:32 2017 -0500

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 <[email protected]>

---

 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 ca9a8b4044..524c4f4e60 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);

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to