From 5b84767f2592310c4f7f65d3cf490db2cf419a8d Mon Sep 17 00:00:00 2001 From: JPikachu Date: Sat, 2 Aug 2025 22:43:36 +0100 Subject: [PATCH] [vk] Remove shuffle uniform Fixes green and red lines when using any res that's not 0.75x inside Luigi's Mansion 3 --- src/shader_recompiler/backend/spirv/emit_spirv_warp.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_warp.cpp b/src/shader_recompiler/backend/spirv/emit_spirv_warp.cpp index 77ff8c5731..2931c72852 100644 --- a/src/shader_recompiler/backend/spirv/emit_spirv_warp.cpp +++ b/src/shader_recompiler/backend/spirv/emit_spirv_warp.cpp @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later @@ -68,9 +71,10 @@ Id GetMaxThreadId(EmitContext& ctx, Id thread_id, Id clamp, Id segmentation_mask } Id SelectValue(EmitContext& ctx, Id in_range, Id value, Id src_thread_id) { - return ctx.OpSelect( + /*return ctx.OpSelect( ctx.U32[1], in_range, - ctx.OpGroupNonUniformShuffle(ctx.U32[1], SubgroupScope(ctx), value, src_thread_id), value); + ctx.OpGroupNonUniformShuffle(ctx.U32[1], SubgroupScope(ctx), value, src_thread_id), value);*/ + return value; } Id AddPartitionBase(EmitContext& ctx, Id thread_id) {