Browse Source

Add a shader error when trying to using hint_normal_roughness_texture in the gl_compatibility renderer

clayjohn 2 years ago
parent
commit
97ed3dcf71
1 changed files with 4 additions and 0 deletions
  1. 4 0
      servers/rendering/shader_language.cpp

+ 4 - 0
servers/rendering/shader_language.cpp

@@ -8759,6 +8759,10 @@ Error ShaderLanguage::_parse_shader(const HashMap<StringName, FunctionInfo> &p_f
 									new_hint = ShaderNode::Uniform::HINT_NORMAL_ROUGHNESS_TEXTURE;
 									new_hint = ShaderNode::Uniform::HINT_NORMAL_ROUGHNESS_TEXTURE;
 									--texture_uniforms;
 									--texture_uniforms;
 									--texture_binding;
 									--texture_binding;
+									if (OS::get_singleton()->get_current_rendering_method() == "gl_compatibility") {
+										_set_error(RTR("'hint_normal_roughness_texture is not supported in gl_compatibility shaders."));
+										return ERR_PARSE_ERROR;
+									}
 								} break;
 								} break;
 								case TK_HINT_DEPTH_TEXTURE: {
 								case TK_HINT_DEPTH_TEXTURE: {
 									new_hint = ShaderNode::Uniform::HINT_DEPTH_TEXTURE;
 									new_hint = ShaderNode::Uniform::HINT_DEPTH_TEXTURE;