We no longer need it as we have a better way to deal with dynamic offsets.
ANV_FROM_HANDLE(anv_descriptor_set, set, pDescriptorSets[i]);
set_layout = layout->set[firstSet + i].layout;
- if (cmd_buffer->state.descriptors[firstSet + i].set != set) {
- cmd_buffer->state.descriptors[firstSet + i].set = set;
+ if (cmd_buffer->state.descriptors[firstSet + i] != set) {
+ cmd_buffer->state.descriptors[firstSet + i] = set;
cmd_buffer->state.descriptors_dirty |= set_layout->shader_stages;
}
struct anv_pipeline_binding *binding =
&layout->stage[stage].surface_to_descriptor[s];
struct anv_descriptor_set *set =
- cmd_buffer->state.descriptors[binding->set].set;
+ cmd_buffer->state.descriptors[binding->set];
struct anv_descriptor *desc = &set->descriptors[binding->offset];
const struct anv_state *surface_state;
struct anv_pipeline_binding *binding =
&layout->stage[stage].sampler_to_descriptor[s];
struct anv_descriptor_set *set =
- cmd_buffer->state.descriptors[binding->set].set;
+ cmd_buffer->state.descriptors[binding->set];
struct anv_descriptor *desc = &set->descriptors[binding->offset];
if (desc->type != ANV_DESCRIPTOR_TYPE_SAMPLER)
uint32_t dynamic_state)
{
state->old_pipeline = cmd_buffer->state.pipeline;
- state->old_descriptor_set0 = cmd_buffer->state.descriptors[0].set;
+ state->old_descriptor_set0 = cmd_buffer->state.descriptors[0];
memcpy(state->old_vertex_bindings, cmd_buffer->state.vertex_bindings,
sizeof(state->old_vertex_bindings));
state->dynamic_flags = dynamic_state;
const struct anv_saved_state *state)
{
cmd_buffer->state.pipeline = state->old_pipeline;
- cmd_buffer->state.descriptors[0].set = state->old_descriptor_set0;
+ cmd_buffer->state.descriptors[0] = state->old_descriptor_set0;
memcpy(cmd_buffer->state.vertex_bindings, state->old_vertex_bindings,
sizeof(state->old_vertex_bindings));
VkDeviceSize offset;
};
-struct anv_descriptor_set_binding {
- struct anv_descriptor_set * set;
- uint32_t dynamic_offsets[128];
-};
-
struct anv_push_constants {
/* Current allocated size of this push constants data structure.
* Because a decent chunk of it may not be used (images on SKL, for
struct anv_subpass * subpass;
uint32_t state_vf[GEN8_3DSTATE_VF_length];
struct anv_vertex_binding vertex_bindings[MAX_VBS];
- struct anv_descriptor_set_binding descriptors[MAX_SETS];
+ struct anv_descriptor_set * descriptors[MAX_SETS];
struct anv_push_constants * push_constants[VK_SHADER_STAGE_NUM];
struct anv_dynamic_state dynamic;