Mesa (main): anv: reemit 3DSTATE_STREAMOUT after memcpy

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Apr 27 19:07:49 UTC 2022


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

Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date:   Wed Apr 27 15:24:28 2022 +0300

anv: reemit 3DSTATE_STREAMOUT after memcpy

This doesn't fix anything because memcpy is only used before secondary
buffer execution and we dirty everything after that.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16189>

---

 src/intel/vulkan/genX_gpu_memcpy.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/intel/vulkan/genX_gpu_memcpy.c b/src/intel/vulkan/genX_gpu_memcpy.c
index af353ca69e1..53d0f9eb399 100644
--- a/src/intel/vulkan/genX_gpu_memcpy.c
+++ b/src/intel/vulkan/genX_gpu_memcpy.c
@@ -315,5 +315,9 @@ genX(cmd_buffer_so_memcpy)(struct anv_cmd_buffer *cmd_buffer,
    genX(cmd_buffer_update_dirty_vbs_for_gfx8_vb_flush)(cmd_buffer, SEQUENTIAL,
                                                        1ull << 32);
 
-   cmd_buffer->state.gfx.dirty |= ANV_CMD_DIRTY_PIPELINE;
+   /* Invalidate pipeline & raster discard since we touch
+    * 3DSTATE_STREAMOUT.
+    */
+   cmd_buffer->state.gfx.dirty |= ANV_CMD_DIRTY_PIPELINE |
+                                  ANV_CMD_DIRTY_DYNAMIC_RASTERIZER_DISCARD_ENABLE;
 }



More information about the mesa-commit mailing list