Browse Source

Fix MoltenVK subgroup scope error in SPIR-V emission

Removed incorrect __APPLE__ preprocessor check that was forcing Workgroup scope for subgroup operations. MoltenVK requires Subgroup scope, not Workgroup scope. This fixes the error: "SPIR-V to MSL conversion error: Only subgroup scope is supported."
pull/3279/head
chrelliott978 1 month ago
committed by crueter
parent
commit
3d0730a7d8
  1. 5
      src/shader_recompiler/backend/spirv/emit_spirv_warp.cpp

5
src/shader_recompiler/backend/spirv/emit_spirv_warp.cpp

@ -7,12 +7,7 @@
namespace Shader::Backend::SPIRV {
namespace {
Id SubgroupScope(EmitContext& ctx) {
#ifdef __APPLE__
// MoltenVK doesn't support Subgroup scope for compute shaders
return ctx.Const(static_cast<u32>(spv::Scope::Workgroup));
#else
return ctx.Const(static_cast<u32>(spv::Scope::Subgroup));
#endif
}
Id GetThreadId(EmitContext& ctx) {

Loading…
Cancel
Save