VideoBackends:MTL: Use SPIRV 1.5

Allows non-constant simd broadcast, which is used by the ascii art shader
This commit is contained in:
TellowKrinkle
2023-05-17 19:05:23 -05:00
parent 990303a028
commit 6243e50b21

View File

@ -440,16 +440,16 @@ std::optional<std::string> Metal::Util::TranslateShaderToMSL(ShaderStage stage,
switch (stage) switch (stage)
{ {
case ShaderStage::Vertex: case ShaderStage::Vertex:
code = SPIRV::CompileVertexShader(full_source, APIType::Metal, glslang::EShTargetSpv_1_3); code = SPIRV::CompileVertexShader(full_source, APIType::Metal, glslang::EShTargetSpv_1_5);
break; break;
case ShaderStage::Geometry: case ShaderStage::Geometry:
PanicAlertFmt("Tried to compile geometry shader for Metal, but Metal doesn't support them!"); PanicAlertFmt("Tried to compile geometry shader for Metal, but Metal doesn't support them!");
break; break;
case ShaderStage::Pixel: case ShaderStage::Pixel:
code = SPIRV::CompileFragmentShader(full_source, APIType::Metal, glslang::EShTargetSpv_1_3); code = SPIRV::CompileFragmentShader(full_source, APIType::Metal, glslang::EShTargetSpv_1_5);
break; break;
case ShaderStage::Compute: case ShaderStage::Compute:
code = SPIRV::CompileComputeShader(full_source, APIType::Metal, glslang::EShTargetSpv_1_3); code = SPIRV::CompileComputeShader(full_source, APIType::Metal, glslang::EShTargetSpv_1_5);
break; break;
} }
if (!code.has_value()) if (!code.has_value())