diff --git a/src/util/shadergen.cpp b/src/util/shadergen.cpp index bc4d18462..68384ebdd 100644 --- a/src/util/shadergen.cpp +++ b/src/util/shadergen.cpp @@ -32,11 +32,14 @@ ShaderGen::ShaderGen(RenderAPI render_api, GPUShaderLanguage shader_language, bo { m_glsl_version = GetGLSLVersion(render_api); m_glsl_version_string = GetGLSLVersionString(m_render_api, m_glsl_version); + m_use_glsl_interface_blocks = UseGLSLInterfaceBlocks(); + m_use_glsl_binding_layout = UseGLSLBindingLayout(); + } + else + { + m_use_glsl_interface_blocks = (shader_language == GPUShaderLanguage::GLSLVK); + m_use_glsl_binding_layout = (shader_language == GPUShaderLanguage::GLSLVK); } - - m_use_glsl_interface_blocks = - (shader_language == GPUShaderLanguage::GLSLVK || GLAD_GL_ES_VERSION_3_2 || GLAD_GL_VERSION_3_2); - m_use_glsl_binding_layout = (shader_language == GPUShaderLanguage::GLSLVK || UseGLSLBindingLayout()); #ifdef _WIN32 if (m_shader_language == GPUShaderLanguage::GLSL) @@ -80,6 +83,15 @@ GPUShaderLanguage ShaderGen::GetShaderLanguageForAPI(RenderAPI api) } } +bool ShaderGen::UseGLSLInterfaceBlocks() +{ +#ifdef ENABLE_OPENGL + return (GLAD_GL_ES_VERSION_3_2 || GLAD_GL_VERSION_3_2); +#else + return true; +#endif +} + bool ShaderGen::UseGLSLBindingLayout() { #ifdef ENABLE_OPENGL diff --git a/src/util/shadergen.h b/src/util/shadergen.h index da7f97e74..3c432f738 100644 --- a/src/util/shadergen.h +++ b/src/util/shadergen.h @@ -18,6 +18,7 @@ public: ~ShaderGen(); static GPUShaderLanguage GetShaderLanguageForAPI(RenderAPI api); + static bool UseGLSLInterfaceBlocks(); static bool UseGLSLBindingLayout(); static u32 GetGLSLVersion(RenderAPI render_api);