mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 21:51:22 +00:00 
			
		
		
		
	Properly append global uniform buffer name in gl_compatibility shaders
Also error when using instance uniforms
This commit is contained in:
		
							parent
							
								
									44c0bfc94d
								
							
						
					
					
						commit
						eefddb07bc
					
				
					 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); | ||||
| 	} | ||||
| } | ||||
|  |  | |||
|  | @ -8243,6 +8243,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…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 clayjohn
						clayjohn