Signed-off-by: Samuel Pitoiset <[email protected]>
---
 src/amd/vulkan/radv_meta.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/src/amd/vulkan/radv_meta.c b/src/amd/vulkan/radv_meta.c
index 3f57618ad2..d12797a76c 100644
--- a/src/amd/vulkan/radv_meta.c
+++ b/src/amd/vulkan/radv_meta.c
@@ -94,10 +94,14 @@ void
 radv_meta_restore(const struct radv_meta_saved_state *state,
                  struct radv_cmd_buffer *cmd_buffer)
 {
+       uint32_t bind_flags = 0;
+
+       if (!(state->flags & RADV_META_SAVE_DESCRIPTORS))
+               bind_flags |= RADV_BIND_PIPELINE_SKIP_DESCRIPTORS;
+
        if (state->flags & RADV_META_SAVE_GRAPHICS_PIPELINE) {
-               radv_CmdBindPipeline(radv_cmd_buffer_to_handle(cmd_buffer),
-                                    VK_PIPELINE_BIND_POINT_GRAPHICS,
-                                    
radv_pipeline_to_handle(state->old_pipeline));
+               radv_bind_pipeline(cmd_buffer, VK_PIPELINE_BIND_POINT_GRAPHICS,
+                                  state->old_pipeline, bind_flags);
 
                cmd_buffer->state.dirty |= RADV_CMD_DIRTY_PIPELINE;
 
@@ -118,9 +122,8 @@ radv_meta_restore(const struct radv_meta_saved_state *state,
        }
 
        if (state->flags & RADV_META_SAVE_COMPUTE_PIPELINE) {
-               radv_CmdBindPipeline(radv_cmd_buffer_to_handle(cmd_buffer),
-                                    VK_PIPELINE_BIND_POINT_COMPUTE,
-                                    
radv_pipeline_to_handle(state->old_pipeline));
+               radv_bind_pipeline(cmd_buffer, VK_PIPELINE_BIND_POINT_COMPUTE,
+                                  state->old_pipeline, bind_flags);
        }
 
        if (state->flags & RADV_META_SAVE_DESCRIPTORS) {
-- 
2.14.2

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

Reply via email to