John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							1be8063e01 
							
						 
					 
					
						
						
							
							Require l-value patch-out indexing to be gl_InvocationID.  
						
						... 
						
						
						
						Also, generally allow ES variable indexing of in/out blocks. 
						
						
					 
					
						2015-11-28 16:52:25 -07:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							989df85dcd 
							
						 
					 
					
						
						
							
							Array-sizing bug fix: multiple array initializers of different size in the same declaration.  
						
						... 
						
						
						
						Handles the case of
    float[] x = float[] (1.0, 2.0, 3.0),
            y = float[] (1.0, 2.0, 3.0, 4.0);
where a shallow copy of the type arrayness from the left-most float[]
was getting used twice. 
						
						
					 
					
						2015-11-28 12:52:29 -07:00 
						 
				 
			
				
					
						
							
							
								Rex Xu 
							
						 
					 
					
						
						
						
						
							
						
						
							71519fe70b 
							
						 
					 
					
						
						
							
							SPV: Fix an issue related with using CubeArrayShadow for texture()  
						
						
						
						
					 
					
						2015-11-22 21:43:05 +08:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							085371d9d4 
							
						 
					 
					
						
						
							
							SPV testing: Add missing test case.  
						
						
						
						
					 
					
						2015-11-16 09:31:26 -07:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							55e7d11ce8 
							
						 
					 
					
						
						
							
							SPIR-V: Move from Version .99 Rev 31 to Version 1.0, Rev 2.  
						
						
						
						
					 
					
						2015-11-15 22:31:41 -07:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							fa540d1414 
							
						 
					 
					
						
						
							
							SPV: Remove accidental inclusion of a test.  
						
						
						
						
					 
					
						2015-10-15 13:55:18 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							7c1aa1026e 
							
						 
					 
					
						
						
							
							SPV: Implement short circuiting of && and || when emitting SPIR-V.  
						
						
						
						
					 
					
						2015-10-15 13:50:48 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							da581a2b95 
							
						 
					 
					
						
						
							
							GL_ARB_shader_draw_parameters:  From @amdrexu, implement extension.  
						
						
						
						
					 
					
						2015-10-14 14:10:30 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							b5c046e58b 
							
						 
					 
					
						
						
							
							Front-end: Fix missing tessellation shader built-in qualifiers.  
						
						... 
						
						
						
						The gl_in array has a special path due to context-specific
gl_MaxPatchVertices, making the code out of order for tagging built-ins.
This commit moves the tagging to the correct location.
This also fixes issue #80 . 
						
						
					 
					
						2015-10-13 17:23:10 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							e690332c3c 
							
						 
					 
					
						
						
							
							SPV: Add modes for spacing, depth, depth replacing, winding, and point mode.  
						
						
						
						
					 
					
						2015-10-13 16:29:02 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							716312771c 
							
						 
					 
					
						
						
							
							SPV constants and constOffsets completion: isConstant() and disassembler to see results.  
						
						... 
						
						
						
						Expand to full isConstant() implementation.
Fix disassembler to generate texture look-up masks. 
						
						
					 
					
						2015-10-13 10:45:22 -06:00 
						 
				 
			
				
					
						
							
							
								Rex Xu 
							
						 
					 
					
						
						
						
						
							
						
						
							19c6e5919f 
							
						 
					 
					
						
						
							
							Fix an issue related with texelFetchOffset  
						
						
						
						
					 
					
						2015-10-12 17:02:21 +08:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							820a22fcc8 
							
						 
					 
					
						
						
							
							Give error for calling a user-defined function at global scope.  
						
						
						
						
					 
					
						2015-10-06 13:11:38 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							894c1c109f 
							
						 
					 
					
						
						
							
							Add another frexp() test.  
						
						
						
						
					 
					
						2015-10-05 10:00:27 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							eb505e4262 
							
						 
					 
					
						
						
							
							Allow future keywords to be accessed as members in a struct.  
						
						... 
						
						
						
						This fixes a bug where a token that could be a keyword in one version
is not a keyword in another version, but treated like a non-member after
a "." dereference. 
						
						
					 
					
						2015-10-02 15:01:53 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							6373574b13 
							
						 
					 
					
						
						
							
							Front-end: Fix: Cubemap arrays only use 3-component coord when accessed as an image.  
						
						... 
						
						
						
						4 components are needed when used a texture, but not an image, which multiplies
layers and faces into the same coordinate.  This fixes it from using 4 everywhere,
to only using 4 for textures and 3 for images. 
						
						
					 
					
						2015-10-01 12:40:48 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							3cd0024ea8 
							
						 
					 
					
						
						
							
							GLSL front-end: Check recursively for opaque types in a block; these are all illegal.  
						
						
						
						
					 
					
						2015-09-30 18:57:47 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							ee21fc9081 
							
						 
					 
					
						
						
							
							SPV: Fix missing 'Member' operand to OpArrayLength.  
						
						
						
						
					 
					
						2015-09-21 21:50:29 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							b56a26ab4d 
							
						 
					 
					
						
						
							
							SPV: Generate the LocalSize Execution Mode for compute shaders.  
						
						
						
						
					 
					
						2015-09-16 16:04:05 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							56bab0483a 
							
						 
					 
					
						
						
							
							SPV: Minor corrections to previous big merge for images and atomics.  
						
						
						
						
					 
					
						2015-09-16 11:42:16 -06:00 
						 
				 
			
				
					
						
							
							
								Rex Xu 
							
						 
					 
					
						
						
						
						
							
						
						
							6b86d496c2 
							
						 
					 
					
						
						
							
							Add new test case for image functions and fix issues caught by this test  
						
						
						
						
					 
					
						2015-09-16 17:48:22 +08:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							2398b3a458 
							
						 
					 
					
						
						
							
							Full stack: implement textureQueryLod(*) and textureQueryLevels(*).  
						
						
						
						
					 
					
						2015-09-15 19:38:56 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							3e60a6ff13 
							
						 
					 
					
						
						
							
							SPV OpAtomicCompareSwap: Generate correct operand order and number of operands.  
						
						
						
						
					 
					
						2015-09-14 22:45:16 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							7355eebb18 
							
						 
					 
					
						
						
							
							SPV legacy texturing: Smear result of Op*Dref* up to a vector to match  
						
						... 
						
						
						
						the expectations of old GLSL shadow*() lookups. 
						
						
					 
					
						2015-09-14 22:08:12 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							e770b3e6cf 
							
						 
					 
					
						
						
							
							SPV return from main: Simplify a legacy design such returns are not jumps to exit block.  
						
						... 
						
						
						
						Structured control-flow rules allow leaving the middle of a construct through
a return, but not through a jump to a block that does a return.
Addresses issue #58 . 
						
						
					 
					
						2015-09-14 21:08:58 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							5f5b205ce9 
							
						 
					 
					
						
						
							
							Bump up layout(location) limit from 62 to 4094, to handle bigger uniform locations.  
						
						
						
						
					 
					
						2015-09-13 21:03:33 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							fa668dad99 
							
						 
					 
					
						
						
							
							SPV: Reduce spurious type generation by removing intermediate types in the middle of access chains.  
						
						... 
						
						
						
						This generally simplifies access chain generation, with far fewer  type conversions.
It is particularly important to future SPIR-V changes where there is less aggregate
type uniqueness due to carrying different layout information with the type. 
						
						
					 
					
						2015-09-13 14:46:30 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							c9a808319a 
							
						 
					 
					
						
						
							
							SPV arrays: Add support for runtime-sized array types and arrays of arrays.  
						
						... 
						
						
						
						This includes run-time block.member.length() (OpArrayLength). 
						
						
					 
					
						2015-09-13 10:18:19 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							9312269d09 
							
						 
					 
					
						
						
							
							Front-end Arrays of arrays: Add ES-specific checks and tests.  AoA should be quite close to done now.  
						
						
						
						
					 
					
						2015-09-11 15:25:38 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							31ed4830d1 
							
						 
					 
					
						
						
							
							SPV: Only decorate array and matrix strides for transparent types requiring explicit layouts.  
						
						
						
						
					 
					
						2015-09-09 17:51:38 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							874b1f8858 
							
						 
					 
					
						
						
							
							Add test results for merge pull request  #69 .  
						
						
						
						
					 
					
						2015-09-09 16:36:37 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							358dd560c5 
							
						 
					 
					
						
						
							
							Update test results for pull request  #68 , SPIRV: Decorate matrices and arrays with their strides.  
						
						
						
						
					 
					
						2015-09-09 16:19:15 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							68e1c454da 
							
						 
					 
					
						
						
							
							Merge pull request  #60  from xorgy/no-define-defined  
						
						... 
						
						
						
						Preprocessor:  'defined' cannot be used as a macro name in #define or #undef. 
						
						
					 
					
						2015-09-09 15:45:23 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							c8b2e36f52 
							
						 
					 
					
						
						
							
							Implement GL_KHR_blend_equation_advanced.  
						
						
						
						
					 
					
						2015-08-30 05:43:51 -06:00 
						 
				 
			
				
					
						
							
							
								Aaron Hamilton 
							
						 
					 
					
						
						
						
						
							
						
						
							7d3b73bfff 
							
						 
					 
					
						
						
							
							'defined' cannot be used as a macro name in #define or #undef.  
						
						
						
						
					 
					
						2015-08-29 23:15:13 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							d6c37b190b 
							
						 
					 
					
						
						
							
							GL_OES_shader_multisample_interpolation: Include scalar swizzles as valid for interpolateAt*.  
						
						
						
						
					 
					
						2015-08-22 16:54:35 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							0fc4338f3e 
							
						 
					 
					
						
						
							
							Implement GL_OES_shader_multisample_interpolation, as well as core desktop versions of it.  
						
						
						
						
					 
					
						2015-08-22 13:11:12 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							fc51d284aa 
							
						 
					 
					
						
						
							
							Backward incompatible: Turn on PureOperatorBuiltins: use only enum-based built-in functions in the AST.  
						
						... 
						
						
						
						If this breaks your AST consumer, best is to modify it to test
against the enum values instead of doing string comparisons on
built-in function names.  This is the reason the change was made.
If you need the old behavior, you should be able to get it back by changing
PureOperatorBuiltins to be false instead of true.  This path will work for
a while, but is marked deprecated.
Also, the old behavior is tagged as release 2.4. 
						
						
					 
					
						2015-08-19 13:43:25 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							ef676b0a59 
							
						 
					 
					
						
						
							
							Front-end "pure" built-in TOperator:  Finish adding full support, but still turned off.  
						
						... 
						
						
						
						This is to avoid all need to do text comparison of built-in function names
when consuming the AST.  All built-in functions get enumerants.
Will want to turn on soon.  See PureOperatorBuiltins.  See issue #8 . 
						
						
					 
					
						2015-08-18 23:17:15 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							e88217b7d8 
							
						 
					 
					
						
						
							
							Add more TOperator: fma/frexp/ldexp, AddCarry/SubBorrow/MulExtended/Bit*/Find*, (un)pack4x8/2x32, ftransform.  
						
						... 
						
						
						
						Also corrects some existing ones missing the "Op" part of their name. 
						
						
					 
					
						2015-08-18 22:27:23 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							f5b2c06b32 
							
						 
					 
					
						
						
							
							Turn on the gpu_shader5 of the AEP .tesc test.  
						
						
						
						
					 
					
						2015-08-18 22:27:22 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							fb5ba510ca 
							
						 
					 
					
						
						
							
							Implement GL_OES_shader_image_atomic.  
						
						
						
						
					 
					
						2015-08-16 23:40:15 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							556ab3ac96 
							
						 
					 
					
						
						
							
							Implement GL_OES_sample_variables.  
						
						
						
						
					 
					
						2015-08-16 21:55:59 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							a39159a192 
							
						 
					 
					
						
						
							
							Implement GL_OES_texture_storage_multisample_2d_array.  
						
						
						
						
					 
					
						2015-08-16 21:10:38 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							2b0a11351f 
							
						 
					 
					
						
						
							
							Fix two multi-sample bugs: 1) include MS in name mangling, 2) add 'sample' argument texelFetch(*MS*,...).  
						
						
						
						
					 
					
						2015-08-16 21:04:07 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							dc9eff7221 
							
						 
					 
					
						
						
							
							Implement GL_OES_texture_cube_map_array.  
						
						
						
						
					 
					
						2015-08-16 14:21:20 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							302b46aebc 
							
						 
					 
					
						
						
							
							Implement GL_OES_texture_buffer.  
						
						
						
						
					 
					
						2015-08-16 13:11:01 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							30314590ff 
							
						 
					 
					
						
						
							
							Implement GL_OES_primitive_bounding_box.  
						
						
						
						
					 
					
						2015-08-16 12:09:15 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							cee88e3644 
							
						 
					 
					
						
						
							
							Whitespace in preprocessor results; trying to eliminate differences.  
						
						
						
						
					 
					
						2015-08-16 11:35:30 -06:00 
						 
				 
			
				
					
						
							
							
								Miro Knejp 
							
						 
					 
					
						
						
						
						
							
						
						
							28f9b1c28d 
							
						 
					 
					
						
						
							
							SPIR-V: Return undefined values from implicit returns instead of dummy  
						
						... 
						
						
						
						Previously if a non-void function implictly returned, a dummy variable
was created as return value. Now instead it returns the result of the
OpUndef instruction. This better conveys the presence of undefined
behavior to SPIR-V consuming tools (and humans).
It also saves one ID per occurrence... 
						
						
					 
					
						2015-08-11 03:26:46 +02:00