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

Author: Samuel Pitoiset <[email protected]>
Date:   Mon Oct 16 14:15:54 2017 +0200

radv: be smarter with the draw packets when executing secondary buffers

Signed-off-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>

---

 src/amd/vulkan/radv_cmd_buffer.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
index 64e7e2637b..2252d80e11 100644
--- a/src/amd/vulkan/radv_cmd_buffer.c
+++ b/src/amd/vulkan/radv_cmd_buffer.c
@@ -2669,8 +2669,16 @@ void radv_CmdExecuteCommands(
                                secondary->state.emitted_compute_pipeline;
                }
 
-               primary->state.last_primitive_reset_en = 
secondary->state.last_primitive_reset_en;
-               primary->state.last_primitive_reset_index = 
secondary->state.last_primitive_reset_index;
+               /* Only re-emit the draw packets when needed. */
+               if (secondary->state.last_primitive_reset_en != -1) {
+                       primary->state.last_primitive_reset_en =
+                               secondary->state.last_primitive_reset_en;
+               }
+
+               if (secondary->state.last_primitive_reset_index) {
+                       primary->state.last_primitive_reset_index =
+                               secondary->state.last_primitive_reset_index;
+               }
        }
 
        /* After executing commands from secondary buffers we have to dirty

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

Reply via email to