On Mon, Nov 6, 2017 at 12:44 AM, Dave Airlie <airl...@gmail.com> wrote: > From: Dave Airlie <airl...@redhat.com> > > This is just a simple refactor. > > Signed-off-by: Dave Airlie <airl...@redhat.com> > --- > src/amd/vulkan/radv_cmd_buffer.c | 20 ++++++++++++-------- > src/amd/vulkan/radv_meta.c | 3 +-- > src/amd/vulkan/radv_private.h | 4 ++++ > 3 files changed, 17 insertions(+), 10 deletions(-) > > diff --git a/src/amd/vulkan/radv_cmd_buffer.c > b/src/amd/vulkan/radv_cmd_buffer.c > index 85d6b57e8ad..80dcf7fe088 100644 > --- a/src/amd/vulkan/radv_cmd_buffer.c > +++ b/src/amd/vulkan/radv_cmd_buffer.c > @@ -476,6 +476,14 @@ radv_save_pipeline(struct radv_cmd_buffer *cmd_buffer, > radv_emit_write_data_packet(cs, va, 2, data); > } > > +void radv_set_descriptor(struct radv_cmd_buffer *cmd_buffer, > + struct radv_descriptor_set *set, > + unsigned idx) > +{ > + cmd_buffer->state.descriptors[idx] = set; > + cmd_buffer->state.descriptors_dirty |= (1u << idx); > +}
radv_set_descriptor_set? We are binding a set, not a single descriptor. > + > static void > radv_save_descriptors(struct radv_cmd_buffer *cmd_buffer) > { > @@ -2319,8 +2327,7 @@ radv_bind_descriptor_set(struct radv_cmd_buffer > *cmd_buffer, > { > struct radeon_winsys *ws = cmd_buffer->device->ws; > > - cmd_buffer->state.descriptors[idx] = set; > - cmd_buffer->state.descriptors_dirty |= (1u << idx); > + radv_set_descriptor(cmd_buffer, set, idx); > if (!set) > return; > > @@ -2432,8 +2439,7 @@ void radv_meta_push_descriptor_set( > radv_descriptor_set_to_handle(push_set), > descriptorWriteCount, pDescriptorWrites, > 0, NULL); > > - cmd_buffer->state.descriptors[set] = push_set; > - cmd_buffer->state.descriptors_dirty |= (1u << set); > + radv_set_descriptor(cmd_buffer, push_set, set); > } > > void radv_CmdPushDescriptorSetKHR( > @@ -2457,8 +2463,7 @@ void radv_CmdPushDescriptorSetKHR( > radv_descriptor_set_to_handle(push_set), > descriptorWriteCount, pDescriptorWrites, > 0, NULL); > > - cmd_buffer->state.descriptors[set] = push_set; > - cmd_buffer->state.descriptors_dirty |= (1u << set); > + radv_set_descriptor(cmd_buffer, push_set, set); > cmd_buffer->state.push_descriptors_dirty = true; > } > > @@ -2481,8 +2486,7 @@ void radv_CmdPushDescriptorSetWithTemplateKHR( > radv_update_descriptor_set_with_template(cmd_buffer->device, > cmd_buffer, push_set, > descriptorUpdateTemplate, > pData); > > - cmd_buffer->state.descriptors[set] = push_set; > - cmd_buffer->state.descriptors_dirty |= (1u << set); > + radv_set_descriptor(cmd_buffer, push_set, set); > cmd_buffer->state.push_descriptors_dirty = true; > } > > diff --git a/src/amd/vulkan/radv_meta.c b/src/amd/vulkan/radv_meta.c > index 3f57618ad28..dce78cdbe03 100644 > --- a/src/amd/vulkan/radv_meta.c > +++ b/src/amd/vulkan/radv_meta.c > @@ -124,8 +124,7 @@ radv_meta_restore(const struct radv_meta_saved_state > *state, > } > > if (state->flags & RADV_META_SAVE_DESCRIPTORS) { > - cmd_buffer->state.descriptors[0] = state->old_descriptor_set0; > - cmd_buffer->state.descriptors_dirty |= (1 << 0); > + radv_set_descriptor(cmd_buffer, state->old_descriptor_set0, > 0); > } > > if (state->flags & RADV_META_SAVE_CONSTANTS) { > diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h > index d236588621a..df3e76feb8f 100644 > --- a/src/amd/vulkan/radv_private.h > +++ b/src/amd/vulkan/radv_private.h > @@ -1552,6 +1552,10 @@ VkResult radv_alloc_sem_info(struct > radv_winsys_sem_info *sem_info, > const VkSemaphore *signal_sems); > void radv_free_sem_info(struct radv_winsys_sem_info *sem_info); > > +void radv_set_descriptor(struct radv_cmd_buffer *cmd_buffer, > + struct radv_descriptor_set *set, > + unsigned idx); > + > void > radv_update_descriptor_sets(struct radv_device *device, > struct radv_cmd_buffer *cmd_buffer, > -- > 2.14.2 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev