The bindings also have an index field.
Fixes: 49d035122e "radv: Add single pipeline cache key."
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104677
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
key.has_multiview_view_index = has_view_index;
+ uint32_t binding_input_rate = 0;
+ for (unsigned i = 0; i < input_state->vertexBindingDescriptionCount; ++i) {
+ if (input_state->pVertexBindingDescriptions[i].inputRate)
+ binding_input_rate |= 1u << input_state->pVertexBindingDescriptions[i].binding;
+ }
+
for (unsigned i = 0; i < input_state->vertexAttributeDescriptionCount; ++i) {
unsigned binding;
binding = input_state->pVertexAttributeDescriptions[i].binding;
- if (input_state->pVertexBindingDescriptions[binding].inputRate)
+ if (binding_input_rate & (1u << binding))
key.instance_rate_inputs |= 1u << input_state->pVertexAttributeDescriptions[i].location;
}