Merge pull request #72138 from clayjohn/GL-globals
Properly append global uniform buffer name in gl_compatibility shaders
This commit is contained in:
commit
3cacc83526
2 changed files with 11 additions and 0 deletions
|
@ -1546,6 +1546,8 @@ MaterialStorage::MaterialStorage() {
|
|||
actions.render_mode_defines["unshaded"] = "#define MODE_UNSHADED\n";
|
||||
actions.render_mode_defines["light_only"] = "#define MODE_LIGHT_ONLY\n";
|
||||
|
||||
actions.global_buffer_array_variable = "global_shader_uniforms";
|
||||
|
||||
shaders.compiler_canvas.initialize(actions);
|
||||
}
|
||||
|
||||
|
@ -1719,6 +1721,7 @@ MaterialStorage::MaterialStorage() {
|
|||
actions.default_repeat = ShaderLanguage::REPEAT_ENABLE;
|
||||
|
||||
actions.check_multiview_samplers = true;
|
||||
actions.global_buffer_array_variable = "global_shader_uniforms";
|
||||
|
||||
shaders.compiler_scene.initialize(actions);
|
||||
}
|
||||
|
@ -1775,6 +1778,8 @@ MaterialStorage::MaterialStorage() {
|
|||
actions.default_filter = ShaderLanguage::FILTER_LINEAR_MIPMAP;
|
||||
actions.default_repeat = ShaderLanguage::REPEAT_ENABLE;
|
||||
|
||||
actions.global_buffer_array_variable = "global_shader_uniforms";
|
||||
|
||||
shaders.compiler_particles.initialize(actions);
|
||||
}
|
||||
|
||||
|
@ -1828,6 +1833,8 @@ MaterialStorage::MaterialStorage() {
|
|||
actions.default_filter = ShaderLanguage::FILTER_LINEAR_MIPMAP;
|
||||
actions.default_repeat = ShaderLanguage::REPEAT_ENABLE;
|
||||
|
||||
actions.global_buffer_array_variable = "global_shader_uniforms";
|
||||
|
||||
shaders.compiler_sky.initialize(actions);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8285,6 +8285,10 @@ Error ShaderLanguage::_parse_shader(const HashMap<StringName, FunctionInfo> &p_f
|
|||
_set_error(vformat(RTR("Uniform instances are not yet implemented for '%s' shaders."), shader_type_identifier));
|
||||
return ERR_PARSE_ERROR;
|
||||
}
|
||||
if (OS::get_singleton()->get_current_rendering_method() == "gl_compatibility") {
|
||||
_set_error(RTR("Uniform instances are not supported in gl_compatibility shaders."));
|
||||
return ERR_PARSE_ERROR;
|
||||
}
|
||||
if (uniform_scope == ShaderNode::Uniform::SCOPE_LOCAL) {
|
||||
tk = _get_token();
|
||||
if (tk.type != TK_UNIFORM) {
|
||||
|
|
Loading…
Reference in a new issue