diff options
| author | OatmealDome <OatmealDome@users.noreply.github.com> | 2024-10-04 17:32:44 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-04 17:32:44 -0400 |
| commit | ae14abb2faab4b96c12a70f5a9c136476523b36a (patch) | |
| tree | d9c67a8c462a0ac8d16a4f7afd7b55830b4e43ed /Source/Core/VideoBackends | |
| parent | e6f222c86b7396d427180475da50488f1cff6e73 (diff) | |
| parent | 70f69c3213c144536ab328b514e96fd2f8bd5146 (diff) | |
Merge pull request #13088 from TellowKrinkle/iOSFixes
VideoBackends:Metal: Fix bbox on newer iOS devices
Diffstat (limited to 'Source/Core/VideoBackends')
| -rw-r--r-- | Source/Core/VideoBackends/Metal/MTLUtil.mm | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Source/Core/VideoBackends/Metal/MTLUtil.mm b/Source/Core/VideoBackends/Metal/MTLUtil.mm index b9a195b555..de073280d7 100644 --- a/Source/Core/VideoBackends/Metal/MTLUtil.mm +++ b/Source/Core/VideoBackends/Metal/MTLUtil.mm @@ -309,7 +309,7 @@ void Metal::Util::PopulateBackendInfoFeatures(VideoConfig* config, id<MTLDevice> { // Requires SIMD-scoped reduction operations g_features.subgroup_ops = - [device supportsFamily:MTLGPUFamilyMac2] || [device supportsFamily:MTLGPUFamilyApple6]; + [device supportsFamily:MTLGPUFamilyMac2] || [device supportsFamily:MTLGPUFamilyApple7]; config->backend_info.bSupportsFramebufferFetch = [device supportsFamily:MTLGPUFamilyApple1]; } if (g_features.subgroup_ops) @@ -559,6 +559,9 @@ std::optional<std::string> Metal::Util::TranslateShaderToMSL(ShaderStage stage, options.platform = spirv_cross::CompilerMSL::Options::macOS; #elif TARGET_OS_IOS options.platform = spirv_cross::CompilerMSL::Options::iOS; + // Otherwise SPIRV-Cross will try to compile subgroup ops to quad ops instead + // (And crash because there's no quad_min or quad_max) + options.ios_use_simdgroup_functions = Metal::g_features.subgroup_ops; #else #error What platform is this? #endif |
