Browse Source

Add a more specific error message when compute shaders aren't supported

It already correctly errored, but the message was generic enough (GLSL 4 support) that it might be confusing.
Alex Szpakowski 4 years ago
parent
commit
b644d00bf7
1 changed files with 3 additions and 0 deletions
  1. 3 0
      src/modules/graphics/Shader.cpp

+ 3 - 0
src/modules/graphics/Shader.cpp

@@ -530,6 +530,9 @@ std::string Shader::createShaderStageCode(Graphics *gfx, ShaderStageType stage,
 
 
 	const auto &features = gfx->getCapabilities().features;
 	const auto &features = gfx->getCapabilities().features;
 
 
+	if (stage == SHADERSTAGE_COMPUTE && !features[Graphics::FEATURE_GLSL4])
+		throw love::Exception("Compute shaders require GLSL 4 which is not supported on this system.");
+
 	if (info.language == LANGUAGE_GLSL3 && !features[Graphics::FEATURE_GLSL3])
 	if (info.language == LANGUAGE_GLSL3 && !features[Graphics::FEATURE_GLSL3])
 		throw love::Exception("GLSL 3 shaders are not supported on this system.");
 		throw love::Exception("GLSL 3 shaders are not supported on this system.");