From: Bas Nieuwenhuizen Date: Sat, 13 May 2017 16:05:36 +0000 (+0200) Subject: radv: Save descriptor set even if vertex buffers are not saved. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d4e4c36c7c96d3e38b7f3ce6f3aac9956b6c9df8;p=mesa.git radv: Save descriptor set even if vertex buffers are not saved. Totally independent. Signed-off-by: Bas Nieuwenhuizen Reviewed-by: Dave Airlie Fixes: 0e6d532d327 "radv/meta: add support for save/restore meta without vertex data." --- diff --git a/src/amd/vulkan/radv_meta.c b/src/amd/vulkan/radv_meta.c index 973316103aa..4f359bd6a9d 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;