John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							10f7fc739c 
							
						 
					 
					
						
						
							
							HLSL: Reverse what the driver is told about row/column majorness, matching the row-column reversal.  
						
						
						
						
					 
					
						2016-09-25 20:26:03 -06:00 
						 
				 
			
				
					
						
							
							
								steve-lunarg 
							
						 
					 
					
						
						
						
						
							
						
						
							cf43e66125 
							
						 
					 
					
						
						
							
							Fix defects in uniform array flattening  
						
						... 
						
						
						
						Fix for two defects as follows:
- The IO mapping traverser was not setting inVisit, and would skip some AST nodes.
  Depending on the order of nodes, this could have prevented the binding from
  showing up in the generated SPIR-V.
- If a uniform array was flattened, each of the flattened scalars from the array
  is still a (now-scalar) uniform.  It was being converted to a temporary. 
						
						
					 
					
						2016-09-22 15:58:06 -06:00 
						 
				 
			
				
					
						
							
							
								steve-lunarg 
							
						 
					 
					
						
						
						
						
							
						
						
							e0b9debda2 
							
						 
					 
					
						
						
							
							Flatten uniform arrays  
						
						... 
						
						
						
						This checkin adds a --flatten-uniform-arrays option which can break
uniform arrays of samplers, textures, or UBOs up into individual
scalars named (e.g) myarray[0], myarray[1], etc.  These appear as
individual linkage objects.
Code notes:
- shouldFlatten internally calls shouldFlattenIO, and shouldFlattenUniform,
  but is the only flattening query directly called.
- flattenVariable will handle structs or arrays (but not yet arrayed structs;
  this is tested an an error is generated).
- There's some error checking around unhandled situations.  E.g, flattening
  uniform arrays with initializer lists is not implemented.
- This piggybacks on as much of the existing mechanism for struct flattening
  as it can.  E.g, it uses the same flattenMap, and the same
  flattenAccess() method.
- handleAssign() has been generalized to cope with either structs or arrays.
- Extended test infrastructure to test flattening ability. 
						
						
					 
					
						2016-09-22 08:47:48 -06: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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							5e56423046 
							
						 
					 
					
						
						
							
							Front-ends: Remove now defunct afterEOF and related, use scanner's instead.  
						
						... 
						
						
						
						Code using atEndOfFile was dead, instead do something useful with
the scanners atEndOfInput().  This allows a better error message
for early termination of cascading errors. 
						
						
					 
					
						2016-08-31 13:46:50 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							830b0cc98b 
							
						 
					 
					
						
						
							
							HLSL: Start location numbering with the entry-point return value.  
						
						... 
						
						
						
						Also, increment location numbers by the size of the objects. 
						
						
					 
					
						2016-08-29 18:10:47 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							a05d8b5604 
							
						 
					 
					
						
						
							
							HLSL: Remove recent change to put locations on SV_TARGET*.  
						
						... 
						
						
						
						This put locations on members of structures, which is not allowed
in either AST or SPIR-V.
This was caught by asserts in the debug build. 
						
						
					 
					
						2016-08-29 16:49:39 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							81d4714908 
							
						 
					 
					
						
						
							
							Merge branch 'HLSL_Semantic_Mapping' of  https://github.com/dankbaker/glslang  into dankbaker-HLSL_Semantic_Mapping  
						
						
						
						
					 
					
						2016-08-29 16:07:29 -06:00 
						 
				 
			
				
					
						
							
							
								Dan Baker 
							
						 
					 
					
						
						
						
						
							
						
						
							6f220c0fd1 
							
						 
					 
					
						
						
							
							HLSL: Setting SV_DEPTHGREATEREQUAL and SV_DEPTHLESSEQUAL to EbvFragDepth for now  
						
						
						
						
					 
					
						2016-08-29 15:56:55 -04:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							6a70eb7161 
							
						 
					 
					
						
						
							
							HLSL: Emulate write-to-output on return-from-entry-point, for return value.  
						
						... 
						
						
						
						This fixes issue #487  and #480 .
It also correctly handles output parameters from the entry point. 
						
						
					 
					
						2016-08-28 20:13:07 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							81cd764b5f 
							
						 
					 
					
						
						
							
							Non-functional: Add some missing const, related to signature selection.  
						
						
						
						
					 
					
						2016-08-26 14:01:43 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							e3f2c8f98a 
							
						 
					 
					
						
						
							
							HLSL: Include shape-changing conversions in overloaded signature selection.  
						
						... 
						
						
						
						This also enables vecN -> vec1 shape conversions for all places doing shape
conversions.
For signature selection, makes shape changes worse than any other comparison
when deciding what conversions are better than others. 
						
						
					 
					
						2016-08-25 23:57:39 -06:00 
						 
				 
			
				
					
						
							
							
								Dan Baker 
							
						 
					 
					
						
						
						
						
							
						
						
							26aa8a4b16 
							
						 
					 
					
						
						
							
							HLSL: Format updates and some minor adjustments to SV_ handling  
						
						
						
						
					 
					
						2016-08-25 17:13:25 -04:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							90dd70f752 
							
						 
					 
					
						
						
							
							HLSL: Allow arbitrary baseType -> baseType conversion of calling arguments.  
						
						... 
						
						
						
						This also puts a stake in the ground as to which is better when selection
from multiple signatures. 
						
						
					 
					
						2016-08-25 10:51:29 -06:00 
						 
				 
			
				
					
						
							
							
								Dan Baker 
							
						 
					 
					
						
						
						
						
							
						
						
							deec03cfca 
							
						 
					 
					
						
						
							
							First stab at system value interpretation  
						
						
						
						
					 
					
						2016-08-25 12:00:25 -04:00 
						 
				 
			
				
					
						
							
							
								steve-lunarg 
							
						 
					 
					
						
						
						
						
							
						
						
							36e87d0871 
							
						 
					 
					
						
						
							
							HLSL: add precise keyword  
						
						
						
						
					 
					
						2016-08-25 08:48:54 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							fcc0aa3b64 
							
						 
					 
					
						
						
							
							HLSL: Switch to generic selector, but using GLSL #version 400 rules.  
						
						... 
						
						
						
						Next step is to modify for HLSL rules. 
						
						
					 
					
						2016-08-24 18:34:43 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							ab89bbe702 
							
						 
					 
					
						
						
							
							Merge branch 'overloaded-400' of github.com:KhronosGroup/glslang  
						
						
						
						
					 
					
						2016-08-23 18:30:20 -06:00