John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							33661450c7 
							
						 
					 
					
						
						
							
							SPV: Implement OpImage functionality (emit before query).  
						
						
						
						
					 
					
						2015-12-08 19:32:47 -07:00 
						 
				 
			
				
					
						
							
							
								Rex Xu 
							
						 
					 
					
						
						
						
						
							
						
						
							7a26c176ce 
							
						 
					 
					
						
						
							
							SPV: Implement GLSL interpolation built-in functions.  
						
						
						
						
					 
					
						2015-12-08 17:40:11 +08:00 
						 
				 
			
				
					
						
							
							
								David Neto 
							
						 
					 
					
						
						
						
						
							
						
						
							8d63a3d35a 
							
						 
					 
					
						
						
							
							Avoid read past end of operands vector for EOpFrexp  
						
						... 
						
						
						
						When emitting SPIR-V code for frexp, avoid access
beyond the end of the operands vector.  When constructing
the OpExtInst, construct a new arguments vector instead of
modifying the existing operands vector.  In the case of OpFrexp,
well need that last operand later on to generate the store.
Fixes https://github.com/KhronosGroup/glslang/issues/110 
Change-Id: Ibc380fadf5e600ac491932e9ecef7afe2d72fd7f 
						
						
					 
					
						2015-12-07 16:24:31 -05:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							2359bd0a1d 
							
						 
					 
					
						
						
							
							SPV: Fix extra operands when using the "struct" form of a built-in taking an 'out' param.  
						
						
						
						
					 
					
						2015-12-06 19:29:11 -07:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							e721f49dbd 
							
						 
					 
					
						
						
							
							SPV: Distinguish between std140 and std430 layouts, and correctly use alignments as the base for strides.  
						
						
						
						
					 
					
						2015-12-06 19:17:49 -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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							e690332c3c 
							
						 
					 
					
						
						
							
							SPV: Add modes for spacing, depth, depth replacing, winding, and point mode.  
						
						
						
						
					 
					
						2015-10-13 16:29:02 -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 
						 
				 
			
				
					
						
							
							
								Rex Xu 
							
						 
					 
					
						
						
						
						
							
						
						
							bba5c80957 
							
						 
					 
					
						
						
							
							Merge master branch from upstream  
						
						
						
						
					 
					
						2015-09-16 13:20:37 +08:00 
						 
				 
			
				
					
						
							
							
								Rex Xu 
							
						 
					 
					
						
						
						
						
							
						
						
							04db3f5aa4 
							
						 
					 
					
						
						
							
							Fix issues from review comments and those relevant to texelFetch  
						
						
						
						
					 
					
						2015-09-16 11:44:02 +08:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							3e60a6ff13 
							
						 
					 
					
						
						
							
							SPV OpAtomicCompareSwap: Generate correct operand order and number of operands.  
						
						
						
						
					 
					
						2015-09-14 22:45:16 -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 
						 
				 
			
				
					
						
							
							
								Rex Xu 
							
						 
					 
					
						
						
						
						
							
						
						
							30f9258d5e 
							
						 
					 
					
						
						
							
							Merge master branch from upstream  
						
						
						
						
					 
					
						2015-09-14 10:38:56 +08: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 
							
						 
					 
					
						
						
						
						
							
						
						
							a06bd527ca 
							
						 
					 
					
						
						
							
							SPV: Correct generation of transparent offsets for implicitly assigned offsets.  
						
						
						
						
					 
					
						2015-09-11 15:15:23 -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 
							
						 
					 
					
						
						
						
						
							
						
						
							0487d550d1 
							
						 
					 
					
						
						
							
							Merge pull request  #69  from jekstrand/texel-fetch  
						
						... 
						
						
						
						SPIR-V: Add support for texelFetch 
						
						
					 
					
						2015-09-09 16:33:45 -06:00 
						 
				 
			
				
					
						
							
							
								Rex Xu 
							
						 
					 
					
						
						
						
						
							
						
						
							fc6189197d 
							
						 
					 
					
						
						
							
							SPIRV: Add the support of missing image functions  #72  
						
						
						
						
					 
					
						2015-09-09 16:42:49 +08:00 
						 
				 
			
				
					
						
							
							
								Rex Xu 
							
						 
					 
					
						
						
						
						
							
						
						
							d4782c10d4 
							
						 
					 
					
						
						
							
							SPIRV: Token layout of OpAtomicXXX instructions is incorrect  #70  
						
						
						
						
					 
					
						2015-09-06 16:30:11 +08:00 
						 
				 
			
				
					
						
							
							
								Jason Ekstrand 
							
						 
					 
					
						
						
						
						
							
						
						
							18b9fbd742 
							
						 
					 
					
						
						
							
							SPIRV: Add support for texelFetch  
						
						... 
						
						
						
						There's nothing really special about texelFetch other than the opcode and
some restrictions so adding it is pretty trivial. 
						
						
					 
					
						2015-09-05 14:17:24 -07:00 
						 
				 
			
				
					
						
							
							
								Jason Ekstrand 
							
						 
					 
					
						
						
						
						
							
						
						
							54aedf1f66 
							
						 
					 
					
						
						
							
							SPIRV: Decorate matrices and arrays with their strides  
						
						
						
						
					 
					
						2015-09-05 09:50:58 -07:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							78258d3d40 
							
						 
					 
					
						
						
							
							Fix misspelled EOpFrexp and EOpLdexp.  
						
						
						
						
					 
					
						2015-08-19 17:30: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 
							
						 
					 
					
						
						
						
						
							
						
						
							65c78a0b62 
							
						 
					 
					
						
						
							
							Array of array: Implement the core functionality: types, constructors, operations.  
						
						... 
						
						
						
						There will be subsequent commits to refine semantics, esp. version-specific semantics,
as well as I/O functionality and restrictions.
Note: I'm getting white-space differences in the preprocessor test results,
which I'm not checking in.  I think they need to be tagged as binary or something. 
						
						
					 
					
						2015-08-10 17:08:55 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							5e4b1242bf 
							
						 
					 
					
						
						
							
							Move to revision 31 of SPIR-V.  
						
						
						
						
					 
					
						2015-08-06 22:55:01 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							306695360d 
							
						 
					 
					
						
						
							
							Fixes to 8f1684b7bb881813365efd013b05bc0900a52a0c, merge pull request 52.  
						
						
						
						
					 
					
						2015-08-06 22:02:24 -06:00 
						 
				 
			
				
					
						
							
							
								baldurk 
							
						 
					 
					
						
						
						
						
							
						
						
							d7c5ead6a1 
							
						 
					 
					
						
						
							
							Compile fixes for gcc -Wall  
						
						
						
						
					 
					
						2015-08-05 21:04:23 +02:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							426394d0c8 
							
						 
					 
					
						
						
							
							AST -> SPV: Add basic atomic_uint and atomic*() built-in function functionality.  
						
						
						
						
					 
					
						2015-07-23 10:22:48 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							37e8337958 
							
						 
					 
					
						
						
							
							Merge pull request  #22  from google/structured-do-while  
						
						... 
						
						
						
						Generate correctly structured do-while loops. 
						
						
					 
					
						2015-07-20 22:14:38 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							2f273369e4 
							
						 
					 
					
						
						
							
							Performance: Simple upgrade/cleanup of stl c++11 containers (10% perf. increase).  
						
						
						
						
					 
					
						2015-07-19 12:03:51 -06:00 
						 
				 
			
				
					
						
							
							
								David Neto 
							
						 
					 
					
						
						
						
						
							
						
						
							c22f37cfb4 
							
						 
					 
					
						
						
							
							Generate correctly structured do-while loops.  
						
						... 
						
						
						
						The loop test is always emitted before the loop body.
For do-while loops, use a phi node to track whether we're
on the first loop iteration, and only check the loop test
on the second and subsequent iterations.
For do-while loops, the loop test branch no longer occurs
at the top of the loop, so it must get its own selection
merge instruction.
A block can't be the target of more than one merge instruction.
So when the loop test executes after the body (as in do-while in GLSL)
we need to introduce a dummy block to be the target of the selection
merge just before the loop test conditional branch.
The other arm of the branch exits the loop and hence is the
"break block" exception in the structured control flow rules. 
						
						
					 
					
						2015-07-17 17:51:51 -04:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							9e55f633bc 
							
						 
					 
					
						
						
							
							Include specification revision as part of the version string.  
						
						
						
						
					 
					
						2015-07-15 10:03:39 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							eebb20511f 
							
						 
					 
					
						
						
							
							Merge pull request  #11  from baldurk/size-t-int-warning-fixes  
						
						... 
						
						
						
						Fix warnings compiling on x64 with size_t to int casts 
						
						
					 
					
						2015-07-14 12:25:55 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							f98ee23415 
							
						 
					 
					
						
						
							
							Fix incorrect used of snprintf()  
						
						
						
						
					 
					
						2015-07-12 19:39:51 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							68d78fd31e 
							
						 
					 
					
						
						
							
							Updated command-line options, adding -o for saving binaries, -G for OpenGL SPIR-V validation, -v etc.  
						
						... 
						
						
						
						Old uses should still work as they did before.
Also encapsulated use of these flags during parsing, for the parse context.
Added SPIR-V version to -v. 
						
						
					 
					
						2015-07-12 19:28:10 -06:00 
						 
				 
			
				
					
						
							
							
								baldurk 
							
						 
					 
					
						
						
						
						
							
						
						
							d76692dfb8 
							
						 
					 
					
						
						
							
							on x64, size_t is 64-bit and int is 32-bit, so needs an explicit cast  
						
						
						
						
					 
					
						2015-07-12 11:32:58 +02:00 
						 
				 
			
				
					
						
							
							
								baldurk 
							
						 
					 
					
						
						
						
						
							
						
						
							42169c5fee 
							
						 
					 
					
						
						
							
							include by relative path, so root doesn't need to be in the search path  
						
						
						
						
					 
					
						2015-07-08 15:27:29 +02:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							e0603a441e 
							
						 
					 
					
						
						
							
							Front-end: move to rational internal array-of-array interfaces and design.  (A-of-A is not yet implemented though.)  
						
						
						
						
					 
					
						2015-07-06 21:00:03 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							ec43d0abec 
							
						 
					 
					
						
						
							
							glslang -> SPIR-V: smear scalars for integer (scalar * vector).  OpVectorTimesScalar is only for floats.  
						
						
						
						
					 
					
						2015-07-04 17:17:31 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							140f3df134 
							
						 
					 
					
						
						
							
							Final round for line endings.  
						
						
						
						
					 
					
						2015-06-26 16:58:36 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							e5e0f6e37a 
							
						 
					 
					
						
						
							
							glslang -> SPV: swap arguments as needed for OpVectorTimesScalar and OpMatrixTimesScalar, and check for correct types for those as well as OpMatrixTimesVector, OpVectorTimesMatrix, and OpMatrixTimesMatrix.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31486  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2015-06-13 00:48:48 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							8d64d44c3f 
							
						 
					 
					
						
						
							
							glslang -> SPV: fix degenerate switch topologies (bug 14118).  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31485  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2015-06-12 22:34:37 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							fae38ee277 
							
						 
					 
					
						
						
							
							glslang portability: Fixed a slew of OSX compilation warnings (but not all).  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31469  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2015-06-10 23:23:12 +00:00