diff --git a/.pick_status.json b/.pick_status.json index 410e87b2537..891729bec6e 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1914,7 +1914,7 @@ "description": "nvk: Don't clobber vb0 after repeated blits", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "e1c665013b14d63ccf4be265c5ec59914e5a5748", "notes": null diff --git a/src/nouveau/vulkan/nvk_cmd_draw.c b/src/nouveau/vulkan/nvk_cmd_draw.c index 407a11f0092..5fb678823d5 100644 --- a/src/nouveau/vulkan/nvk_cmd_draw.c +++ b/src/nouveau/vulkan/nvk_cmd_draw.c @@ -1678,6 +1678,10 @@ void nvk_cmd_bind_vertex_buffer(struct nvk_cmd_buffer *cmd, uint32_t vb_idx, struct nvk_addr_range addr_range) { + /* Used for meta save/restore */ + if (vb_idx == 0) + cmd->state.gfx.vb0 = addr_range; + struct nv_push *p = nvk_cmd_buffer_push(cmd, 6); P_MTHD(p, NV9097, SET_VERTEX_STREAM_A_LOCATION_A(vb_idx)); @@ -1722,10 +1726,6 @@ nvk_CmdBindVertexBuffers2(VkCommandBuffer commandBuffer, const struct nvk_addr_range addr_range = nvk_buffer_addr_range(buffer, pOffsets[i], size); - /* Used for meta save/restore */ - if (idx == 0) - cmd->state.gfx.vb0 = addr_range; - nvk_cmd_bind_vertex_buffer(cmd, idx, addr_range); } }