John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							f0bc598dd7 
							
						 
					 
					
						
						
							
							HLSL: Force flat interpolation for structure members.  Fixes   #940 .  
						
						
						
						
					 
					
						2017-06-20 13:19:53 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							fba125a988 
							
						 
					 
					
						
						
							
							Merge pull request  #943  from xxxbxxx/for-upstream-1  
						
						... 
						
						
						
						hlsl: "in out" is also an inout qualifier. 
						
						
					 
					
						2017-06-20 08:59:50 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							54596ff99e 
							
						 
					 
					
						
						
							
							HLSL: Force flat (nointerp) onto integer fragment inputs.  
						
						... 
						
						
						
						Addresses #940 . 
						
						
					 
					
						2017-06-20 03:20:59 -06:00 
						 
				 
			
				
					
						
							
							
								xavier 
							
						 
					 
					
						
						
						
						
							
						
						
							b1d97537e8 
							
						 
					 
					
						
						
							
							hlsl: "in out" is also an inout qualifier.  
						
						
						
						
					 
					
						2017-06-20 08:12:40 +02:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							2fcdd64e50 
							
						 
					 
					
						
						
							
							HLSL: Remove support for named tbuffer/cbuffer.   Fixes   #939 .  
						
						
						
						
					 
					
						2017-06-19 15:41:11 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							054378d988 
							
						 
					 
					
						
						
							
							HLSL: Non-functional: Make test valid HLSL, and related comments/cleanup.  
						
						
						
						
					 
					
						2017-06-19 15:32:27 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							e2ff404f6b 
							
						 
					 
					
						
						
							
							Merge pull request  #917  from KhronosGroup/remove-redundant-locations  
						
						... 
						
						
						
						Replace #422 : Remove the redundant location setting in AST->SPIR-V. 
						
						
					 
					
						2017-06-15 12:11:37 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							f790b16170 
							
						 
					 
					
						
						
							
							Tests: Fix missing test result.  
						
						
						
						
					 
					
						2017-06-15 11:10:57 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							a931366f56 
							
						 
					 
					
						
						
							
							Standalone: Implement -D and -U for preprocessor macros.  
						
						... 
						
						
						
						Works for both GLSL and HLSL.
Fixes  #87 . 
						
						
					 
					
						2017-06-15 10:57:18 -06:00 
						 
				 
			
				
					
						
							
							
								LoopDawg 
							
						 
					 
					
						
						
						
						
							
						
						
							e2713125b9 
							
						 
					 
					
						
						
							
							HLSL: fix several issues in mat construction from scalars  
						
						... 
						
						
						
						This fixes:
1. A compilation error when assigning scalars to matricies
2. A semantic error in matrix construction from scalars.  This was
initializing the diagonal, where HLSL semantics require the scalar be
replicated to every matrix element.
3. Functions accepting mats can be called with scalars, which will
be shape-converted to the matrix type.  This was previously failing
to match the function signature.
NOTE: this does not yet handle complex scalars (a function call,
say) used to construct matricies.  That'll be added when the
node replicator service is available.  For now, there's an assert.
There's one new test (hlsl.scalar2matrix.frag).  An existing test
lsl.type.half.frag changes, because of (2) above, and a negative
test error message changes due to (3) above.
Fixes  #923 . 
						
						
					 
					
						2017-06-14 14:11:18 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							82ae8c31e0 
							
						 
					 
					
						
						
							
							HLSL:  Fix   #924 : Convert between two different arrays with cast.  
						
						
						
						
					 
					
						2017-06-13 23:13:10 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							0320d090e2 
							
						 
					 
					
						
						
							
							HLSL: Recognize types declared as identifiers as identifiers.  
						
						... 
						
						
						
						E.g., in
    float float;
    (float) * float;
The "(float)" is not a type cast, it is an expression. 
						
						
					 
					
						2017-06-13 22:22:52 -06:00 
						 
				 
			
				
					
						
							
							
								Rex Xu 
							
						 
					 
					
						
						
						
						
							
						
						
							cabbb788b4 
							
						 
					 
					
						
						
							
							Implement extension GL_AMD_gpu_shader_int16  
						
						... 
						
						
						
						- Add int16 types (int16_t, uint16_t, i16vec, u16vec).
- Add int16 support to GLSL operators.
- Add int16 type conversions (to int16, from int16).
- Add int16 built-in functions. 
						
						
					 
					
						2017-06-09 17:11:23 +08:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							4d5bcd3162 
							
						 
					 
					
						
						
							
							HLSL: Allow macro expansions to create the 'defined' operator.  
						
						
						
						
					 
					
						2017-06-08 17:12:56 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							3fcb42cfa6 
							
						 
					 
					
						
						
							
							GLSL:  Fix   #853 : Only outer dimension of array can be specialization constant.  
						
						
						
						
					 
					
						2017-06-08 12:26:49 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							d314ecfbe3 
							
						 
					 
					
						
						
							
							GLSL: Correct missing "not" from error message about non writeonly images.  
						
						
						
						
					 
					
						2017-06-08 10:36:45 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							dd56173d04 
							
						 
					 
					
						
						
							
							GLSL: Disallow 'shared' in nested scopes.  
						
						... 
						
						
						
						This implements Khronos-private specification bug 16130. 
						
						
					 
					
						2017-06-08 10:13:15 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							c5f2ab965f 
							
						 
					 
					
						
						
							
							GLSL: Disallow unsized arrays of atomic_uint.  
						
						... 
						
						
						
						This tracks Khronos-private specification bug 15945. 
						
						
					 
					
						2017-06-08 10:07:14 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							14d65beb06 
							
						 
					 
					
						
						
							
							GLSL: Fix Khronos private Bugzilla 15973: local sizes can't be 0.  
						
						
						
						
					 
					
						2017-06-07 18:53:33 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							2eb135506a 
							
						 
					 
					
						
						
							
							GLSL:  Fix   #396 : Error when 'defined' comes from macro expansion.  
						
						
						
						
					 
					
						2017-06-07 17:19:08 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							971a0a8d2d 
							
						 
					 
					
						
						
							
							Infrastructure: add include search paths (-I, etc.).  
						
						
						
						
					 
					
						2017-06-07 15:09:54 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							96f65521b4 
							
						 
					 
					
						
						
							
							HLSL: Implement half matrices, and map all half* -> float*.  
						
						
						
						
					 
					
						2017-06-06 23:35:25 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							0e07119ae2 
							
						 
					 
					
						
						
							
							HLSL:  Fix   #919 : for-init-statement is arbitrary declaration or expression.  
						
						... 
						
						
						
						Unlike "if (XXX)" and "while (XXX)", with "for (YYY...", the YYY can be
more kinds of statements than the XXX. 
						
						
					 
					
						2017-06-06 11:37:33 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							e00e8f45a6 
							
						 
					 
					
						
						
							
							GLSL: replace general missing functionality with specific messages.  
						
						
						
						
					 
					
						2017-06-05 16:42:33 -06:00 
						 
				 
			
				
					
						
							
							
								Rex Xu 
							
						 
					 
					
						
						
						
						
							
						
						
							225e0fcadd 
							
						 
					 
					
						
						
							
							Implement the extension GL_AMD_texture_gather_bias_lod  
						
						
						
						
					 
					
						2017-06-05 16:41:06 +08:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							7cdf3fc3c6 
							
						 
					 
					
						
						
							
							Replace  #422 : Remove the redundant location setting in AST->SPIR-V.  
						
						... 
						
						
						
						This was redundant in two ways:
1) it replicated algorithms owned in the front end, and
2) it sometimes left location information on both a block and its members. 
						
						
					 
					
						2017-06-04 13:22:39 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							94c18a84cd 
							
						 
					 
					
						
						
							
							GLSL: Fix bug setting component=0 for an auto-location assignment.  
						
						... 
						
						
						
						Setting component=0 is later taken to mean the shader did so, which
is not always legal. It should instead set the component as not set
by the shader. 
						
						
					 
					
						2017-06-04 13:17:20 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							8de7e7bf14 
							
						 
					 
					
						
						
							
							GLSL: Error when using location on an arrayed block.  
						
						... 
						
						
						
						This implements a recent change to the GLSL specification to enforce
this ill-defined situation. 
						
						
					 
					
						2017-06-04 13:05:50 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							0b94a31ee9 
							
						 
					 
					
						
						
							
							Merge pull request  #915  from LoopDawg/subvec4-intrinsic  
						
						... 
						
						
						
						HLSL: add test coverage for sub-vec4 texture intrinsics 
						
						
					 
					
						2017-06-03 15:28:11 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							f31507421b 
							
						 
					 
					
						
						
							
							HLSL: Convert run-time sampler assignments to compile-time aliases.  
						
						... 
						
						
						
						For "s.m = t", a sampler member assigned a sampler, make t an alias
for s.m, and when s.m is flattened, it will flatten to the alias t.
Normally, assignments to samplers are disallowed. 
						
						
					 
					
						2017-06-02 18:27:21 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							750c2d07f7 
							
						 
					 
					
						
						
							
							SPV: When passing structs of opaque types, flatten and pass the members instead.  
						
						... 
						
						
						
						This avoids either A) needing uniformConstant struct, or
B) initializing a struct with opaque members, as writing them is not
allowed. 
						
						
					 
					
						2017-06-01 18:49:04 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							d66c5b1299 
							
						 
					 
					
						
						
							
							HLSL: iomapper:  Fix   #914 . Tolerate user aliasing of bindings.  
						
						... 
						
						
						
						Because it is valid in HLSL to alias bindings:
A) remove validation that aliasing is not done
B) make the algorithms tolerate aliasing 
						
						
					 
					
						2017-06-01 18:16:33 -06:00 
						 
				 
			
				
					
						
							
							
								LoopDawg 
							
						 
					 
					
						
						
						
						
							
						
						
							a696fd1a44 
							
						 
					 
					
						
						
							
							HLSL: add test coverage for sub-vec4 texture intrinsics  
						
						... 
						
						
						
						This changes no functional code.  There was a bit of a testing hole
in that textures templatized on sub-vec4 types were not being exercised
with any intrinsics.  This adds some basic sanity coverage of that case. 
						
						
					 
					
						2017-06-01 13:28:12 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							3494b4da9b 
							
						 
					 
					
						
						
							
							HLSL: Add an Includer to handle #include.  
						
						
						
						
					 
					
						2017-06-01 11:16:32 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							e485c7af58 
							
						 
					 
					
						
						
							
							SPV: Debug output: Include OpLine information for execution path.  
						
						... 
						
						
						
						Note that declaratives are not handled, only procedurals. 
						
						
					 
					
						2017-05-31 18:50:53 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							121853f4df 
							
						 
					 
					
						
						
							
							SPV: Add OpSource shader source code and file name.  
						
						
						
						
					 
					
						2017-05-31 17:14:15 -06:00 
						 
				 
			
				
					
						
							
							
								t.jung 
							
						 
					 
					
						
						
						
						
							
						
						
							baf570efa5 
							
						 
					 
					
						
						
							
							Pure Texture to Sampled Texture Transform  
						
						... 
						
						
						
						Adds a transformation step to the post processing step.
Two modes are available:
1) keep
- Keeps samplers, textures and sampled textures as is
2) transform pure texture into sampled texture and remove pure samplers
- removes all pure samplers
- transforms all pure textures into its sampled counter part
Change-Id: If54972e8052961db66c23f4b7e719d363cf6edbd 
						
						
					 
					
						2017-05-29 18:29:45 +02:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							d6af18f621 
							
						 
					 
					
						
						
							
							Merge pull request  #901  from LoopDawg/imat-construct  
						
						... 
						
						
						
						HLSL: Add imat, umat, and bmat constructors 
						
						
					 
					
						2017-05-24 23:12:58 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							7c9129bcb7 
							
						 
					 
					
						
						
							
							SPV:  Fix   #904 : Correctly check for built-in block redeclations for location check.  
						
						
						
						
					 
					
						2017-05-24 23:10:28 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							84cc15f0d0 
							
						 
					 
					
						
						
							
							HLSL:  Fix   #903 : Don't short-circuit && or ||.  
						
						
						
						
					 
					
						2017-05-24 16:47:32 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							6e2295d340 
							
						 
					 
					
						
						
							
							HLSL:  Fix   #902 : Incorrect protection against zero arguments.  
						
						
						
						
					 
					
						2017-05-24 16:02:56 -06:00 
						 
				 
			
				
					
						
							
							
								LoopDawg 
							
						 
					 
					
						
						
						
						
							
						
						
							174ccb8f1d 
							
						 
					 
					
						
						
							
							HLSL: Add imat, umat, and bmat constructors  
						
						... 
						
						
						
						Fixes  #894  
					
						2017-05-20 21:54:16 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							2c6f48b1f6 
							
						 
					 
					
						
						
							
							Fix   #373 : Implicitly make gl_FragColor a location=0 output.  
						
						
						
						
					 
					
						2017-05-20 13:23:25 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							1d585ac8bd 
							
						 
					 
					
						
						
							
							SPV: Correctly enforce 'location' presence on in/out blocks.  
						
						... 
						
						
						
						Blocks have this on members, not the object. 
						
						
					 
					
						2017-05-20 12:15:41 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							557caf2401 
							
						 
					 
					
						
						
							
							Merge pull request  #900  from LoopDawg/tx-overloads  
						
						... 
						
						
						
						HLSL: allow name mangling based on texture template type 
						
						
					 
					
						2017-05-20 11:33:54 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							7b8c386c5d 
							
						 
					 
					
						
						
							
							More non-determinism fixed.  
						
						
						
						
					 
					
						2017-05-19 23:44:51 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							b6cabc4f24 
							
						 
					 
					
						
						
							
							Fix C++ portability, non-deterministic order of argument evaluation.  
						
						
						
						
					 
					
						2017-05-19 23:29:50 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							80f92a190a 
							
						 
					 
					
						
						
							
							Fix   #857 : Convert uniform int to local bool for struct alias assignment.  
						
						... 
						
						
						
						This was done for one direction, but not both directions, so this commit
picks up the other direction. 
						
						
					 
					
						2017-05-19 23:00:13 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							0d2b4713c5 
							
						 
					 
					
						
						
							
							HLSL: Don't do logical short-circuits when the operands are bool-vectors.  
						
						... 
						
						
						
						This seems a bit ill-defined, and was generating code that made OpPhi of two
operands that were Boolean vectors result in a scalar bool. 
						
						
					 
					
						2017-05-19 20:19:00 -06:00 
						 
				 
			
				
					
						
							
							
								LoopDawg 
							
						 
					 
					
						
						
						
						
							
						
						
							132a28aac4 
							
						 
					 
					
						
						
							
							HLSL: allow name mangling based on texture template type  
						
						... 
						
						
						
						Name mangling did not account for the vector size in the template type of a texture.
This adds that.  The mangle is as it ever was for the vec4 case, which leaves
all GLSL behavior and most HLSL behavior uneffected.  For vec1-3 the size is added
to the mangle.
Current limitation: textures cannot presently be templatized on structured types,
so this works only for vectors of basic types.
Fixes  #895 . 
						
						
					 
					
						2017-05-19 20:12:50 -06:00