From 54973a393bd4501d42128a55fe4ebe23281babfb Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Fri, 24 Apr 2020 12:27:21 -0500 Subject: [PATCH] anv:gpu_memcpy: Emit 3DSTATE_VF_INDEXING on Gen8+ If this gets run right after something which uses VK_VERTEX_INPUT_RATE_INSTANCE on its first vertex binding, we could end up in serious trouble. Fixes: 3d9747780b "anv: Add a helper for doing buffer copies with..." Reviewed-by: Rafael Antognolli Part-of: (cherry picked from commit 164aed6c8142a995c6ac1c36ee7a16896f675163) --- .pick_status.json | 2 +- src/intel/vulkan/genX_gpu_memcpy.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index 0bda7eb5f78..0fe839ed909 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -4459,7 +4459,7 @@ "description": "anv:gpu_memcpy: Emit 3DSTATE_VF_INDEXING on Gen8+", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": "3d9747780bc2508f4474230a0998d9dba7b02d1e" }, diff --git a/src/intel/vulkan/genX_gpu_memcpy.c b/src/intel/vulkan/genX_gpu_memcpy.c index 50d0894b93c..ecc3ff0f0e7 100644 --- a/src/intel/vulkan/genX_gpu_memcpy.c +++ b/src/intel/vulkan/genX_gpu_memcpy.c @@ -112,6 +112,13 @@ genX(cmd_buffer_so_memcpy)(struct anv_cmd_buffer *cmd_buffer, .Component3Control = (bs >= 16) ? VFCOMP_STORE_SRC : VFCOMP_STORE_0, }); +#if GEN_GEN >= 8 + anv_batch_emit(&cmd_buffer->batch, GENX(3DSTATE_VF_INSTANCING), vfi) { + vfi.InstancingEnable = false; + vfi.VertexElementIndex = 0; + } +#endif + #if GEN_GEN >= 8 anv_batch_emit(&cmd_buffer->batch, GENX(3DSTATE_VF_SGVS), sgvs); #endif