Rex Xu 
							
						 
					 
					
						
						
						
						
							
						
						
							5159664475 
							
						 
					 
					
						
						
							
							SPV: Implement the extension SPV_KHR_shader_ballot  
						
						
						
						
					 
					
						2016-09-22 16:05:07 +08:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							6714bcc2ca 
							
						 
					 
					
						
						
							
							HLSL: Fix result type of passing a flattened-aggregate to a function.  
						
						
						
						
					 
					
						2016-09-21 17:50:12 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							6873f3d898 
							
						 
					 
					
						
						
							
							Merge pull request  #514  from steve-lunarg/binding-map-3  
						
						... 
						
						
						
						HLSL: Add location offsets per resource type 
						
						
					 
					
						2016-09-21 08:57:31 -06:00 
						 
				 
			
				
					
						
							
							
								steve-lunarg 
							
						 
					 
					
						
						
						
						
							
						
						
							7f7c2ed780 
							
						 
					 
					
						
						
							
							HLSL: Add location offsets per resource type  
						
						... 
						
						
						
						This PR adds the ability to offset sampler, texture, and UBO bindings
from provided base bindings, and to auto-number bindings that are not
provided with explicit register numbers. The mechanism works as
follows:
- Offsets may be given on the command line for all stages, or
  individually for one or more single stages, in which case the
  offset will be auto-selected according to the stage being
  compiled. There is also an API to set them. The new command line
  options are --shift-sampler-binding, --shift-texture-binding, and
  --shift-UBO-binding.
- Uniforms which are not given explicit bindings in the source code
  are auto-numbered if and only if they are in live code as
  determined by the algorithm used to build the reflection
  database, and the --auto-map-bindings option is given. This auto-numbering
  avoids using any binding slots which were explicitly provided in
  the code, whether or not that explicit use was live. E.g, "uniform
  Texture1D foo : register(t3);" with --shift-texture-binding 10 will
  reserve binding 13, whether or not foo is used in live code.
- Shorter synonyms for the command line options are available.  See
  the --help output.
The testing infrastructure is slightly extended to allow use of the
binding offset API, and two new tests spv.register.(no)autoassign.frag are
added for comparing the resulting SPIR-V. 
						
						
					 
					
						2016-09-20 20:31:27 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							a1e2d4952e 
							
						 
					 
					
						
						
							
							HLSL: Move to correct parsing of annotations, improving all annotations and recent string grammar.  
						
						
						
						
					 
					
						2016-09-20 13:22:58 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							2572b19e94 
							
						 
					 
					
						
						
							
							HLSL: Turn on reflection, with basic test file, to catch regressions.  
						
						... 
						
						
						
						This is not a claim that reflection is working right, only a way to
see it is occurring and catch any regression. 
						
						
					 
					
						2016-09-19 23:12:48 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							6b71c400f8 
							
						 
					 
					
						
						
							
							HLSL: Remove extraneous built-in member decorations for IO structs used in non-IO situations.  
						
						
						
						
					 
					
						2016-09-19 22:16:09 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							86f7138706 
							
						 
					 
					
						
						
							
							HLSL: Add string basic type and recognize string declaration grammar.  
						
						... 
						
						
						
						This includes the "< decl ; decl ; >" syntax which has its own namespace.
This functionality is not implemented, just silently accepted. 
						
						
					 
					
						2016-09-19 20:29:45 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							eee9d536bc 
							
						 
					 
					
						
						
							
							Track separate entry-point names and mangled names...  
						
						... 
						
						
						
						... and use each in the correct way at consumption sites.
This completes issue #513 . 
						
						
					 
					
						2016-09-19 18:09:30 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							632f575ecc 
							
						 
					 
					
						
						
							
							Merge pull request  #512  from steve-lunarg/liveness-traverser  
						
						... 
						
						
						
						Refactor TLiveTraverser from the former reflection traverser, for fut… 
						
						
					 
					
						2016-09-19 17:19:25 -06:00 
						 
				 
			
				
					
						
							
							
								steve-lunarg 
							
						 
					 
					
						
						
						
						
							
						
						
							55717302ef 
							
						 
					 
					
						
						
							
							Refactor TLiveTraverser from the former reflection traverser, for future use in binding mapping.  
						
						... 
						
						
						
						This PR factors out the code that knows how to walk just the live parts of the AST.
The traverser in reflect.cpp is renamed to TReflectionTraverser, and inherits from
TLiveTraverser, which will also be used by a future binding offset PR.
The code is now smart about the entry point name (no longer hardcoded to "main").
There is an option to traverse all code (live+dead), because a consumer of the
class may wish to use it for both purposes without wanting a whole separate
class hierarchy. 
						
						
					 
					
						2016-09-19 16:33:02 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							6fccb3cd75 
							
						 
					 
					
						
						
							
							Non-functional: Sweep through the stack for consistent with "main" and entry point.  
						
						... 
						
						
						
						Partially addresses issue #513 . 
						
						
					 
					
						2016-09-19 16:01:41 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							142785f324 
							
						 
					 
					
						
						
							
							HLSL: Change the final syntax-error printf to go to the infoLog.  
						
						... 
						
						
						
						Fixes issue #510 . 
						
						
					 
					
						2016-09-19 14:56:55 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							28b28140bb 
							
						 
					 
					
						
						
							
							HLSL: Fix assert: ensure flattened shadow is EvqTemporary.  
						
						
						
						
					 
					
						2016-09-19 00:19:49 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							5159d4f1af 
							
						 
					 
					
						
						
							
							HLSL: Intercept flatten aggregates passed to a function input, and copy member-by-member.  
						
						
						
						
					 
					
						2016-09-19 00:06:19 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							f911500db8 
							
						 
					 
					
						
						
							
							HLSL: Non-functional; make flatten semantics be about aggregates, not just structures.  
						
						
						
						
					 
					
						2016-09-18 23:36:39 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							fcea302dbc 
							
						 
					 
					
						
						
							
							HLSL: Fix bug in previous checkin when non-flattened objects are not simple l-values.  
						
						
						
						
					 
					
						2016-09-16 21:16:04 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							d2ce838a58 
							
						 
					 
					
						
						
							
							HLSL: Handle flatten for reads from flatten structs and parameter passing.  
						
						
						
						
					 
					
						2016-09-16 20:24:14 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							34e7ee79bb 
							
						 
					 
					
						
						
							
							HLSL: Improve setting and testing of interpolation qualifiers.  
						
						... 
						
						
						
						Notably, use of 'linear' on a non-input could mark it as an input. 
						
						
					 
					
						2016-09-16 18:05:44 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							d21baed6bc 
							
						 
					 
					
						
						
							
							HLSL: Flatten whole-struct assigns and returns when targeting flattened I/O structs.  
						
						
						
						
					 
					
						2016-09-16 03:20:03 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							f8e494c18c 
							
						 
					 
					
						
						
							
							HLSL: Flatten all input/output structs, regardless of stage.  
						
						... 
						
						
						
						This is needed because an output structure can contain embedded built-ins
(like SV_Position) which should not get locations assigned. 
						
						
					 
					
						2016-09-16 01:52:14 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							7dc630f3da 
							
						 
					 
					
						
						
							
							HLSL: Flatten a return struct from an entry point and assign locations after flattening.  
						
						... 
						
						
						
						Locations now get assigned in order, but skipping built-ins, which can be
done post flattening. 
						
						
					 
					
						2016-09-16 01:44:43 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							7f702124ec 
							
						 
					 
					
						
						
							
							HLSL: return correct error when HLSL parsing fails.  
						
						... 
						
						
						
						At least partially addresses issue #510 . 
						
						
					 
					
						2016-09-15 22:49:31 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							315b6b9f68 
							
						 
					 
					
						
						
							
							Merge pull request  #508  from amdrexu/bugfix  
						
						... 
						
						
						
						SPV: Support simultaneous l-value swizzle and dynamic component selection. 
						
						
					 
					
						2016-09-15 22:41:37 -06:00 
						 
				 
			
				
					
						
							
							
								Rex Xu 
							
						 
					 
					
						
						
						
						
							
						
						
							64b9743ce0 
							
						 
					 
					
						
						
							
							SPV: Support simultaneous l-value swizzle and dynamic component selection.  
						
						
						
						
					 
					
						2016-09-14 14:43:55 +08:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							deb4940c17 
							
						 
					 
					
						
						
							
							HLSL: Register all entry-point in/out as part of the interface.  
						
						... 
						
						
						
						This makes the interface be invariant, whether or not individual
variables are used. 
						
						
					 
					
						2016-09-12 11:55:47 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							b3e24e4359 
							
						 
					 
					
						
						
							
							SPV: Fix issue  #506 : generalize struct deep copy to include arrays.  
						
						
						
						
					 
					
						2016-09-11 12:33:43 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							cd0a78a0d9 
							
						 
					 
					
						
						
							
							HLSL: Flatten vertex input and fragment output structures.  
						
						... 
						
						
						
						Vulkan can't handle structures into the vertex stage or out
of the fragment stage. 
						
						
					 
					
						2016-09-10 11:09:24 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							6295c27900 
							
						 
					 
					
						
						
							
							Merge pull request  #505  from steve-lunarg/rowmajor-fix-2a  
						
						... 
						
						
						
						HLSL: alias HLSL matrix-row-column onto AST matrix-column-row 
						
						
					 
					
						2016-09-09 14:00:27 -06:00 
						 
				 
			
				
					
						
							
							
								steve-lunarg 
							
						 
					 
					
						
						
						
						
							
						
						
							297ae211f1 
							
						 
					 
					
						
						
							
							WIP: HLSL: Treat HLSL rows as GLSL columns.  
						
						... 
						
						
						
						WIP: HLSL: EOpGenMul arg reversal 
						
						
					 
					
						2016-09-09 12:02:42 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							d4032293ce 
							
						 
					 
					
						
						
							
							HLSL: Report an error if SPIR-V for Vulkan wasn't selected.  
						
						
						
						
					 
					
						2016-09-09 11:43:11 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							a21187a7f9 
							
						 
					 
					
						
						
							
							Merge branch 'amdrexu-bugfix2'  
						
						
						
						
					 
					
						2016-09-09 10:46:43 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							4bfb32e17b 
							
						 
					 
					
						
						
							
							Merge branch 'bugfix2' of  https://github.com/amdrexu/glslang  into amdrexu-bugfix2  
						
						
						
						
					 
					
						2016-09-09 10:46:10 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							3152718630 
							
						 
					 
					
						
						
							
							Merge pull request  #503  from amdrexu/feature3  
						
						... 
						
						
						
						SPV: Use OpBitcast to implement 4 pack/unpack built-in functions. 
						
						
					 
					
						2016-09-09 10:41:16 -06:00 
						 
				 
			
				
					
						
							
							
								Rex Xu 
							
						 
					 
					
						
						
						
						
							
						
						
							c9f349234f 
							
						 
					 
					
						
						
							
							SPV: Use OpBitcast to implement 4 pack/unpack built-in functions.  
						
						
						
						
					 
					
						2016-09-09 17:50:07 +08:00 
						 
				 
			
				
					
						
							
							
								Rex Xu 
							
						 
					 
					
						
						
						
						
							
						
						
							99c4dd16db 
							
						 
					 
					
						
						
							
							Preprocessor: UINT_MAX is translated to constant incorrectly.  
						
						
						
						
					 
					
						2016-09-09 17:06:15 +08:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							cfd7ce87cd 
							
						 
					 
					
						
						
							
							HLSL: Support register(..., spaceN) for setting the descriptor set.  
						
						... 
						
						
						
						This was suggested in issue #454 . 
						
						
					 
					
						2016-09-05 16:03:45 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							e3218e270e 
							
						 
					 
					
						
						
							
							HLSL: Accept layout(...) also as a post-decl.  Issue  #454 .  
						
						
						
						
					 
					
						2016-09-05 14:37:03 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							7735b94403 
							
						 
					 
					
						
						
							
							HLSL Non-Functional: Move to more robust capturing of postDecls into a qualifier.  
						
						... 
						
						
						
						This will prevent a possible future defect of thinking the type can be changed,
where there is a code path today that would drop that change. 
						
						
					 
					
						2016-09-05 12:40:06 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							b804de605c 
							
						 
					 
					
						
						
							
							HLSL: Track binding numbers to struct instances; fixes issue  #496 .  
						
						
						
						
					 
					
						2016-09-05 12:19:18 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							58d2843c6a 
							
						 
					 
					
						
						
							
							Merge pull request  #498  from amdrexu/bugfix  
						
						... 
						
						
						
						Parser: Add 64-bit type conversion for specialization constant. 
						
						
					 
					
						2016-09-05 11:35:34 -06:00 
						 
				 
			
				
					
						
							
							
								Rex Xu 
							
						 
					 
					
						
						
						
						
							
						
						
							64bcfdb632 
							
						 
					 
					
						
						
							
							Parser: Add 64-bit type conversion for specialization constant.  
						
						
						
						
					 
					
						2016-09-05 22:20:28 +08:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							7d01bd6f0b 
							
						 
					 
					
						
						
							
							HLSL: Handle swizzles on vectors of size 1. Addresses issue  #453 .  
						
						
						
						
					 
					
						2016-09-02 22:21:25 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							841db35bb3 
							
						 
					 
					
						
						
							
							HLSL: Fix issue  #442 , smear and truncate shape conversions for == and !=.  
						
						
						
						
					 
					
						2016-09-02 21:12:23 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							07350f3382 
							
						 
					 
					
						
						
							
							HLSL: Handle "fake" entry points, by undoing their built-in variable declarations.  
						
						
						
						
					 
					
						2016-09-02 20:24:07 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							9e079535a0 
							
						 
					 
					
						
						
							
							HLSL: Handle greater/less depth modes. Fixes issue  #489 .  
						
						
						
						
					 
					
						2016-09-02 20:05:52 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							a305166ea4 
							
						 
					 
					
						
						
							
							HLSL: Error if funcion with return type doesn't return a value.  
						
						
						
						
					 
					
						2016-09-02 19:13:36 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							1a4b775cd5 
							
						 
					 
					
						
						
							
							HLSL: Correct line numbers for function definitions.  
						
						
						
						
					 
					
						2016-09-02 19:05:24 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							4bf7155051 
							
						 
					 
					
						
						
							
							SPV: Flatten structs for copy when they are GLSL type aliases.  
						
						... 
						
						
						
						Addresses issue #304  and issue #307  by replacing unmatched type OpStores with
per-member copies. Covers assignment statements and most argument passing, but
does not yet cover r-value-based argument passing. 
						
						
					 
					
						2016-09-02 16:35:01 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							31207bc20a 
							
						 
					 
					
						
						
							
							Merge pull request  #495  from steve-lunarg/remapper-tests-2  
						
						... 
						
						
						
						Remapper: move remapper tests into the glslangtests executable. 
						
						
					 
					
						2016-09-02 10:57:24 -06:00