From 4b2aa948e662aa037ad39f5ee81a64256a4d61aa Mon Sep 17 00:00:00 2001 From: degasus Date: Tue, 31 Jan 2023 18:10:48 +0100 Subject: VideoBackend/OGL: Prefer KHR_subgroup over NV_shader_thread. While the NV extension is totally fine, the KHR extension should be able to support more hardware. For NVIDIA, the hardware either supports both or neither, it just needs a driver from the last two years. For AMD, the drivers from late 2022-12 seems to bring support for the KHR extension. For Intel, the KHR is also supported for some years. --- Source/Core/VideoBackends/Vulkan/ShaderCompiler.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'Source/Core/VideoBackends/Vulkan/ShaderCompiler.cpp') diff --git a/Source/Core/VideoBackends/Vulkan/ShaderCompiler.cpp b/Source/Core/VideoBackends/Vulkan/ShaderCompiler.cpp index 56d20caf43..49b007f43b 100644 --- a/Source/Core/VideoBackends/Vulkan/ShaderCompiler.cpp +++ b/Source/Core/VideoBackends/Vulkan/ShaderCompiler.cpp @@ -81,9 +81,8 @@ static const char SUBGROUP_HELPER_HEADER[] = R"( #extension GL_KHR_shader_subgroup_ballot : enable #define SUPPORTS_SUBGROUP_REDUCTION 1 - #define CAN_USE_SUBGROUP_REDUCTION true #define IS_HELPER_INVOCATION gl_HelperInvocation - #define IS_FIRST_ACTIVE_INVOCATION (gl_SubgroupInvocationID == subgroupBallotFindLSB(subgroupBallot(!gl_HelperInvocation))) + #define IS_FIRST_ACTIVE_INVOCATION (subgroupElect()) #define SUBGROUP_MIN(value) value = subgroupMin(value) #define SUBGROUP_MAX(value) value = subgroupMax(value) )"; -- cgit v1.2.3