Ian Romanick
							
						 
						
							
								c1bd3a1a61
								
							 
						 
						
							
									Use glsl_type::row_type and glsl_type::column type in arithmetic_result_type 
							 
							
							 
							
							
							
							
This substantially clarifies the code for matching matrix types.  It
also eliminates some uses of glsl_type member data. 
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								80b5ed6e63
								
							 
						 
						
							
									Replace several glsl_type field comparisons with a single pointer comparison 
							 
							
							 
							
							
							
							
This simplifies the process of matching function parameter types.
More simplifications are probably possible here, but arrays and
structures need to be implemented first. 
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								252127c379
								
							 
						 
						
							
									Add queries to get the glsl_type of a row or column of a matrix 
							 
							
							
							
						 
						15 лет назад  
					 
				
					
						
							
								   Kenneth Graunke
							
						 
						
							
								f25a5ad939
								
							 
						 
						
							
									Widen num_components to handle vec4 correctly. 
							 
							
							
							
						 
						15 лет назад  
					 
				
					
						
							
								   Kenneth Graunke
							
						 
						
							
								904872372e
								
							 
						 
						
							
									Typo fixes: de/re/ference. 
							 
							
							
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								664da2510a
								
							 
						 
						
							
									Replace several field comparisons with a single pointer comparison 
							 
							
							 
							
							
							
							
The only way the specified type fields can match is if the types are the
same.  Previous tests (and assertions) have filtered away all other possible
cases. 
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								532edd9bc4
								
							 
						 
						
							
									Remove unused _mesa_glsl_get_vector_type 
							 
							
							 
							
							
							
							
This function has been completely replaced by glsl_type::get_instance. 
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								c4e2627045
								
							 
						 
						
							
									Use glsl_type::get_instance instead of _mesa_glsl_get_vector_type 
							 
							
							
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								d2b6bc651a
								
							 
						 
						
							
									Use glsl_type::get_instance instead of symbol table look-up 
							 
							
							
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								e4fca97afd
								
							 
						 
						
							
									Add some matrix math tests 
							 
							
							
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								3209c4e369
								
							 
						 
						
							
									Add glsl_type::get_instance method 
							 
							
							 
							
							
							
							
Gets the singleton corresponding to a particular scalar, vector, or
matrix type. 
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								60b54d977a
								
							 
						 
						
							
									Replace accesses to glsl_type data with query functions 
							 
							
							 
							
							
							
							
In these particular cases, using the query functions makes it more obvious
what is happening. 
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								9ff8f3777e
								
							 
						 
						
							
									Add class-private handles to matrix types in glsl_type 
							 
							
							
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								4d184a1d02
								
							 
						 
						
							
									Fix typo in swizzle processing loop 
							 
							
							 
							
							
							
							
One of the accesses to str in the loop used str[0] instead of str[i].
Reported-by: Kenneth Graunke 
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								9e97ffb754
								
							 
						 
						
							
									Trivial cleanups in generate_swizzle 
							 
							
							 
							
							
							
							
Add 'const' and 'static const' in a couple of places. 
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								afbe26fd61
								
							 
						 
						
							
									Use ir_dereference::set_swizzle 
							 
							
							
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								2f4240fb02
								
							 
						 
						
							
									Add method to set the swizzle of an ir_dereference 
							 
							
							
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								44bb1a62f9
								
							 
						 
						
							
									Allow duplicate symbols at the same scope that are in different name spaces 
							 
							
							
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								d00b7958c0
								
							 
						 
						
							
									Merge branch 'anholt' 
							 
							
							
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								7d9bce3551
								
							 
						 
						
							
									Add (negative) test for constructing samplers 
							 
							
							
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								882dad7540
								
							 
						 
						
							
									ir_function constructor now takes the function name as a parameter 
							 
							
							
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								bb7e00a1cd
								
							 
						 
						
							
									Add glsl_type::get_base_type query 
							 
							
							 
							
							
							
							
Retreives the glsl_type that corresponds to the base type of a numeric scalar /
vector / matrix type.  So vec4 returns float, etc. 
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								7aeb6abda7
								
							 
						 
						
							
									Add glsl_type::is_numeric and glsl_type::is_boolean queries 
							 
							
							
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								abef955764
								
							 
						 
						
							
									Begin processing constructors 
							 
							
							 
							
							
							
							
Right now, reject constructors for samplers because the are illegal. 
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								cb7d066967
								
							 
						 
						
							
									Add query to determine whether a type is a sampler 
							 
							
							
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								1e5cd2b05b
								
							 
						 
						
							
									Add test for invalid assignment of function return value 
							 
							
							
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								0bb1c3c153
								
							 
						 
						
							
									Add *some* type checking for assignments 
							 
							
							
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								71d0bbfcb2
								
							 
						 
						
							
									Disallow passing NULL for state to _mesa_glsl_error 
							 
							
							 
							
							
							
							
The two places that were still passing NULL had a state pointer to
pass.  Not passing it in these places prevented termination of
compilation of erroneous programs. 
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								f3f111eac4
								
							 
						 
						
							
									Fix typographical errors of "FINISHME" 
							 
							
							
							
						 
						15 лет назад  
					 
				
					
						
							
								   Eric Anholt
							
						 
						
							
								f41fc53728
								
							 
						 
						
							
									Include other generated sources in BUILT_SOURCES. 
							 
							
							 
							
							
							
							
Otherwise, having cleaned glsl_parser.h, we'd never regenerate it because
glsl_parser.cpp was already right where it needed to be. 
							
						 
						15 лет назад  
					 
				
					
						
							
								   Eric Anholt
							
						 
						
							
								e5ba18083b
								
							 
						 
						
							
									Use bash for the built file generation since builtin_types.sh requires it. 
							 
							
							
							
						 
						15 лет назад  
					 
				
					
						
							
								   Eric Anholt
							
						 
						
							
								6985a43832
								
							 
						 
						
							
									Clean the built sources with make clean. 
							 
							
							
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								cec65a6b76
								
							 
						 
						
							
									Generate an error for variables declared with type void 
							 
							
							
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								8400bc4d35
								
							 
						 
						
							
									Add is_error and is_void type queries 
							 
							
							
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								9e7c34b865
								
							 
						 
						
							
									Set the type of a function call to be the return type of the callee 
							 
							
							
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								e39cc69fa3
								
							 
						 
						
							
									Set, and require, a return type for function signatures 
							 
							
							
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								7563b50075
								
							 
						 
						
							
									Add `void' type to table of available types 
							 
							
							 
							
							
							
							
This will make void-01.glsl test fail, so I may regret this later.
However, this will make supporting functions that return void or
functions that have a void parameter list easier to handle. 
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								693bb11b5f
								
							 
						 
						
							
									Rename test GLSL sources from .txt to .glsl 
							 
							
							
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								f8f1085e5e
								
							 
						 
						
							
									Add test for declaring variables of type void. 
							 
							
							
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								41ec6a47ab
								
							 
						 
						
							
									Track the function that is currently being defined 
							 
							
							 
							
							
							
							
Later this will allow type checking for return statements. 
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								16a246c049
								
							 
						 
						
							
									Initial bits for converting AST return nodes to IR return instructions 
							 
							
							
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								9578c87ce2
								
							 
						 
						
							
									Implement IR return instructions 
							 
							
							
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								3359e58eac
								
							 
						 
						
							
									Use glsl_symbol_table::name_declared_this_scope 
							 
							
							 
							
							
							
							
Prevent most illegal name reuse. 
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								ac4fdc255b
								
							 
						 
						
							
									Add query to determine whether a name was declared at this scope 
							 
							
							 
							
							
							
							
This will be used to prevent a variable and a function with the same
name from being declared.  As a side effect, the calls to
add_{type,name,function} should never fail. 
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								38395c1aad
								
							 
						 
						
							
									Use separate namespaces for types, variables, and functions 
							 
							
							 
							
							
							
							
This will allow types and their constructors to be easily stored in
the same symbol table.  This does add a potential problem that a
shader could declare a variable and a function with the same name.
This appears to be forbidden by the GLSL spec. 
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								95517faf69
								
							 
						 
						
							
									Add function to determine the scope where a variable is declared 
							 
							
							
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								8bde4cec6b
								
							 
						 
						
							
									Use glsl_symbol_table instead of using _mesa_symbol_table directly 
							 
							
							
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								82de85e264
								
							 
						 
						
							
									Add a GLSL-specific facade to _mesa_symbol_table 
							 
							
							 
							
							
							
							
This adds some type saftey and will enable elimination of a bunch of
type casts and other ugly crap in the code. 
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								b0bb781e1d
								
							 
						 
						
							
									Don't track new type names during pass-1 parsing 
							 
							
							 
							
							
							
							
This implementation was wrong anyway because it did not respect
scoping rules.  This will need to be revisited soon.  The most likely
result is that the grammar is going to need some significant re-work
to be able to use a IDENTIFIER in all the places where a TYPE_NAME is
currently used. 
							
						 
						15 лет назад  
					 
				
					
						
							
								   Ian Romanick
							
						 
						
							
								e309a6051d
								
							 
						 
						
							
									Add multiple include protection to ir.h 
							 
							
							
							
						 
						15 лет назад