mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-30 21:21:10 +00:00 
			
		
		
		
	Discarding now works in shaders
"discard" has been added to the list of recognised keywords. A flag specifing when discarding is allowed is now set correctly.
This commit is contained in:
		
							parent
							
								
									df5dab738a
								
							
						
					
					
						commit
						d0c42da961
					
				
					 1 changed files with 5 additions and 0 deletions
				
			
		|  | @ -267,6 +267,7 @@ const ShaderLanguage::KeyWord ShaderLanguage::keyword_list[] = { | |||
| 	{ TK_CF_BREAK, "break" }, | ||||
| 	{ TK_CF_CONTINUE, "continue" }, | ||||
| 	{ TK_CF_RETURN, "return" }, | ||||
| 	{ TK_CF_DISCARD, "discard" }, | ||||
| 	{ TK_UNIFORM, "uniform" }, | ||||
| 	{ TK_VARYING, "varying" }, | ||||
| 	{ TK_ARG_IN, "in" }, | ||||
|  | @ -3804,6 +3805,10 @@ Error ShaderLanguage::_parse_shader(const Map<StringName, FunctionInfo> &p_funct | |||
| 				func_node->return_type = type; | ||||
| 				func_node->return_precision = precision; | ||||
| 
 | ||||
| 				if (p_functions.has(name)) { | ||||
| 					func_node->can_discard = p_functions[name].can_discard; | ||||
| 				} | ||||
| 
 | ||||
| 				func_node->body = alloc_node<BlockNode>(); | ||||
| 				func_node->body->parent_function = func_node; | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Daniel Doran
						Daniel Doran