diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index c3c17af850..fa483c5ade 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -1729,8 +1729,12 @@ radv_generate_graphics_pipeline_key(struct radv_pipeline *pipeline, for (unsigned i = 0; i < input_state->vertexAttributeDescriptionCount; ++i) { unsigned binding; binding = input_state->pVertexAttributeDescriptions[i].binding; - if (input_state->pVertexBindingDescriptions[binding].inputRate) - key.instance_rate_inputs |= 1u << input_state->pVertexAttributeDescriptions[i].location; + + for (unsigned j = 0; j < input_state->vertexBindingDescriptionCount; ++j) { + if (input_state->pVertexBindingDescriptions[j].binding == binding && + input_state->pVertexBindingDescriptions[j].inputRate) + key.instance_rate_inputs |= 1u << input_state->pVertexAttributeDescriptions[i].location; + } } if (pCreateInfo->pTessellationState)