diff --git a/src/intel/vulkan/anv_pipeline.c b/src/intel/vulkan/anv_pipeline.c index 5677c725945..03301f9729a 100644 --- a/src/intel/vulkan/anv_pipeline.c +++ b/src/intel/vulkan/anv_pipeline.c @@ -2267,13 +2267,6 @@ anv_graphics_pipeline_init(struct anv_graphics_pipeline *pipeline, pipeline->vb_used |= BITFIELD64_BIT(state->vi->attributes[a].binding); } - u_foreach_bit(b, state->vi->bindings_valid) { - pipeline->vb[b].stride = state->vi->bindings[b].stride; - pipeline->vb[b].instanced = state->vi->bindings[b].input_rate == - VK_VERTEX_INPUT_RATE_INSTANCE; - pipeline->vb[b].instance_divisor = state->vi->bindings[b].divisor; - } - /* Our implementation of VK_KHR_multiview uses instancing to draw the * different views when primitive replication cannot be used. If the * client asks for instancing, we need to multiply by the client's diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index 6743e1f1e40..58c800d4302 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -3080,11 +3080,6 @@ struct anv_graphics_pipeline { bool uses_xfb; uint32_t vb_used; - struct anv_pipeline_vertex_binding { - uint32_t stride; - bool instanced; - uint32_t instance_divisor; - } vb[MAX_VBS]; /* Pre computed CS instructions that can directly be copied into * anv_cmd_buffer. diff --git a/src/intel/vulkan/genX_pipeline.c b/src/intel/vulkan/genX_pipeline.c index 3cbf459c649..5656a7c1bd4 100644 --- a/src/intel/vulkan/genX_pipeline.c +++ b/src/intel/vulkan/genX_pipeline.c @@ -183,8 +183,9 @@ emit_vertex_input(struct anv_graphics_pipeline *pipeline, * VERTEX_BUFFER_STATE which we emit later. */ anv_batch_emit(&pipeline->base.batch, GENX(3DSTATE_VF_INSTANCING), vfi) { - bool per_instance = pipeline->vb[binding].instanced; - uint32_t divisor = pipeline->vb[binding].instance_divisor * + bool per_instance = vi->bindings[binding].input_rate == + VK_VERTEX_INPUT_RATE_INSTANCE; + uint32_t divisor = vi->bindings[binding].divisor * pipeline->instance_multiplier; vfi.InstancingEnable = per_instance;