vulkan: Do not override the shader_flags in case of no task shader

This should be doing a or and not an assign.
This fixes issues on NVK with mesh stages on DGC.

Signed-off-by: Mary Guillemard <mary@mary.zone>
Fixes: 9308e8d90d ("vulkan: Add generic graphics and compute VkPipeline implementations")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
(cherry picked from commit 8f2eeee7ba)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>
This commit is contained in:
Mary Guillemard 2026-03-05 12:30:16 +01:00 committed by Eric Engestrom
parent 7b2af9e15a
commit f550eb1903
2 changed files with 2 additions and 2 deletions

View file

@ -514,7 +514,7 @@
"description": "vulkan: Do not override the shader_flags in case of no task shader",
"nominated": true,
"nomination_type": 2,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "9308e8d90d26fca678fe72380d899cdae77415b5",
"notes": null

View file

@ -1739,7 +1739,7 @@ vk_graphics_pipeline_compile_shaders(struct vk_device *device,
if ((compile_info->part_stages[p] & VK_SHADER_STAGE_MESH_BIT_EXT) &&
!(all_stages & VK_SHADER_STAGE_TASK_BIT_EXT))
shader_flags = VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT;
shader_flags |= VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT;
VkShaderStageFlags next_stage;
if (stage->stage == MESA_SHADER_FRAGMENT) {