From 891eeea222b49bdf4dec2901bbe233ab645233ad Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Fri, 10 Jul 2020 13:26:16 -0500 Subject: [PATCH] anv: Use the same re-order mode for streamout as for GS This makes the vertex order of TRISTRIP and TRISTRIP_ADJ primitves consistent between XFB output and GS input. Technically, the Vulkan spec allows us to XFB out in whatever order we want but being consistent with GS inputs is probably nicer to apps. Fixes: 36ee2fd61c8 "anv: Implement the basic form of VK_EXT_transform_feedback" Reviewed-by: Lionel Landwerlin Part-of: (cherry picked from commit 22b8bcda2c42cb6a8a9d6cc4f3aa20c8d18041b8) --- .pick_status.json | 2 +- src/intel/vulkan/genX_pipeline.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index 2e412fce30c..6ef8891f22d 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -31,7 +31,7 @@ "description": "anv: Use the same re-order mode for streamout as for GS", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": "36ee2fd61c8f943be1d1e2b0354f7a121ffef28f" }, diff --git a/src/intel/vulkan/genX_pipeline.c b/src/intel/vulkan/genX_pipeline.c index 8e3aeef9ff2..131c4dcc903 100644 --- a/src/intel/vulkan/genX_pipeline.c +++ b/src/intel/vulkan/genX_pipeline.c @@ -1413,6 +1413,7 @@ emit_3dstate_streamout(struct anv_graphics_pipeline *pipeline, if (xfb_info) { so.SOFunctionEnable = true; so.SOStatisticsEnable = true; + so.ReorderMode = TRAILING; const VkPipelineRasterizationStateStreamCreateInfoEXT *stream_info = vk_find_struct_const(rs_info, PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT);