Mesa (master): radv: Save descriptor set even if vertex buffers are not saved.

Bas Nieuwenhuizen bnieuwenhuizen at kemper.freedesktop.org
Sat May 13 21:07:03 UTC 2017


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

Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Sat May 13 18:05:36 2017 +0200

radv: Save descriptor set even if vertex buffers are not saved.

Totally independent.

Signed-off-by: Bas Nieuwenhuizen <basni at google.com>
Reviewed-by: Dave Airlie <airlied at redhat.com>
Fixes: 0e6d532d327 "radv/meta: add support for save/restore meta without vertex data."

---

 src/amd/vulkan/radv_meta.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/amd/vulkan/radv_meta.c b/src/amd/vulkan/radv_meta.c
index 973316103a..4f359bd6a9 100644
--- a/src/amd/vulkan/radv_meta.c
+++ b/src/amd/vulkan/radv_meta.c
@@ -36,6 +36,7 @@ radv_meta_save_novertex(struct radv_meta_saved_state *state,
 	       uint32_t dynamic_mask)
 {
 	state->old_pipeline = cmd_buffer->state.pipeline;
+	state->old_descriptor_set0 = cmd_buffer->state.descriptors[0];
 
 	state->dynamic_mask = dynamic_mask;
 	radv_dynamic_state_copy(&state->dynamic, &cmd_buffer->state.dynamic,
@@ -50,9 +51,9 @@ radv_meta_restore(const struct radv_meta_saved_state *state,
 		  struct radv_cmd_buffer *cmd_buffer)
 {
 	cmd_buffer->state.pipeline = state->old_pipeline;
+	cmd_buffer->state.descriptors[0] = state->old_descriptor_set0;
+	cmd_buffer->state.descriptors_dirty |= (1u << 0);
 	if (state->vertex_saved) {
-		cmd_buffer->state.descriptors[0] = state->old_descriptor_set0;
-	        cmd_buffer->state.descriptors_dirty |= (1u << 0);
 		memcpy(cmd_buffer->state.vertex_bindings, state->old_vertex_bindings,
 		       sizeof(state->old_vertex_bindings));
 		cmd_buffer->state.vb_dirty |= (1 << RADV_META_VERTEX_BINDING_COUNT) - 1;




More information about the mesa-commit mailing list