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

Author: Samuel Iglesias Gonsálvez <[email protected]>
Date:   Thu Jun 18 11:04:50 2020 +0200

turnip: add LRZ valid tracking for secondary command buffers

After a secondary command buffer is executed, LRZ is not valid
until it is cleared again.

Signed-off-by: Samuel Iglesias Gonsálvez <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5146>

---

 src/freedreno/vulkan/tu_cmd_buffer.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/freedreno/vulkan/tu_cmd_buffer.c 
b/src/freedreno/vulkan/tu_cmd_buffer.c
index 33dc17b17fe..d1fb52ea083 100644
--- a/src/freedreno/vulkan/tu_cmd_buffer.c
+++ b/src/freedreno/vulkan/tu_cmd_buffer.c
@@ -2754,6 +2754,13 @@ tu_CmdExecuteCommands(VkCommandBuffer commandBuffer,
    }
    cmd->state.dirty = ~0u; /* TODO: set dirty only what needs to be */
 
+   if (cmd->state.pass) {
+      /* After a secondary command buffer is executed, LRZ is not valid
+       * until it is cleared again.
+       */
+      cmd->state.lrz.valid = false;
+   }
+
    /* After executing secondary command buffers, there may have been arbitrary
     * flushes executed, so when we encounter a pipeline barrier with a
     * srcMask, we have to assume that we need to invalidate. Therefore we need

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

Reply via email to