Commit 6ba47bedba087b6c8d155a8485ef2325926846b9

Amirali Abdolrashidi 2025-05-13T12:44:06

Vulkan: Use GS input prim type for warmup pipeline For graphics pipeline creation, the primitive topology should be set in the input assembly state create info (unless for dynamic state). This can come from the primitive mode in ProgramExecutableVk (prepareForWarmUpPipelineCache()). Currently, the patch mode is used if there is a tessellation shader, and triangle strip otherwise. However, if there is a geometry shader without tessellation, this can lead to a VVL error on certain platforms if the primitive mode for the pipeline does not match the input primitive type for the geometry shader. * Updated the primitive mode in the above function for the case of geometry shader without tessellation shaders, to be set to the input primitive type of the GS. * This will be used later for graphics pipeline initialization for the input assembly state info (in case of vertex input). * (GraphicsPipelineDesc::initializePipeline()) * Removed the following VVL suppression: VUID-VkGraphicsPipelineCreateInfo-pStages-00738 Bug: angleproject:303219657 Change-Id: I8d804fd87438033071261a5002a4155e6d62d27c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6541872 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>