LoopDawg 
							
						 
					 
					
						
						
						
						
							
						
						
							54b9ff9c34 
							
						 
					 
					
						
						
							
							HLSL: handle type conversion for any/all intrinsics  
						
						... 
						
						
						
						HLSL allows float/etc types for any/all intrinsics, while the
SPIR-V opcode requires bool.  This adds a simple decomposition
to type convert the argument.  It could get a little more clever
in some of the type cases if it ever had to. 
						
						
					 
					
						2017-07-05 12:19:39 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							eb5f12d1ca 
							
						 
					 
					
						
						
							
							Merge pull request  #967  from dsrbecky/multiview  
						
						... 
						
						
						
						Multiview extension: Accept layout(num_views) qualifier 
						
						
					 
					
						2017-07-03 22:14:09 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							aad93a80b2 
							
						 
					 
					
						
						
							
							Merge pull request  #959  from TiemoJung/texture_upgrade  
						
						... 
						
						
						
						Fix for not transforming all image symbols into sampled images symbols 
						
						
					 
					
						2017-07-03 21:47:39 -06:00 
						 
				 
			
				
					
						
							
							
								David Srbecky 
							
						 
					 
					
						
						
						
						
							
						
						
							5513d9d0d8 
							
						 
					 
					
						
						
							
							Multiview extension: Accept layout(num_views) qualifier  
						
						
						
						
					 
					
						2017-07-03 15:51:40 +01:00 
						 
				 
			
				
					
						
							
							
								David Srbecký 
							
						 
					 
					
						
						
						
						
							
						
						
							0fbe02c6a0 
							
						 
					 
					
						
						
							
							Implement extensions GL_OVR_multiview and GL_OVR_multiview2  
						
						... 
						
						
						
						They are almost identical to the already supported GL_EXT_multiview 
						
						
					 
					
						2017-06-30 19:11:56 +01:00 
						 
				 
			
				
					
						
							
							
								t.jung 
							
						 
					 
					
						
						
						
						
							
						
						
							fde4975d27 
							
						 
					 
					
						
						
							
							Fix for not transforming all image symbols into sampled images symbols  
						
						... 
						
						
						
						Change-Id: I10f9bcea2e97f36912a81214552b93db4805b61a 
						
						
					 
					
						2017-06-30 07:06:17 +02:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							2ae23ca1ca 
							
						 
					 
					
						
						
							
							Merge pull request  #957  from amdrexu/feature  
						
						... 
						
						
						
						Implement extension GL_ARB_shader_stencil_export 
						
						
					 
					
						2017-06-29 15:28:52 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							89400ea73e 
							
						 
					 
					
						
						
							
							GLSL: validation of early_fragment_tests, others, on an object.  
						
						... 
						
						
						
						Some layout qualifiers must not be on an object and had a TBD for testing
them: early_fragment_tests, cw/ccw, points, point_mode, and
fractional_even_spacing/fractional_odd_spacing/equal_spacing. 
						
						
					 
					
						2017-06-29 10:46:47 -06:00 
						 
				 
			
				
					
						
							
							
								Rex Xu 
							
						 
					 
					
						
						
						
						
							
						
						
							37cdceed41 
							
						 
					 
					
						
						
							
							Implement extension GL_ARB_shader_stencil_export  
						
						
						
						
					 
					
						2017-06-29 17:50:46 +08:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							89f8d1e64f 
							
						 
					 
					
						
						
							
							HLSL:  Fix   #942 : Map SV_TargetN to SPV Location N.  
						
						
						
						
					 
					
						2017-06-27 15:17:38 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							4f54c0c487 
							
						 
					 
					
						
						
							
							HLSL: Fix hull-shader test.  
						
						
						
						
					 
					
						2017-06-26 19:56:41 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							fe6689c6c4 
							
						 
					 
					
						
						
							
							HLSL: support point mode.  
						
						
						
						
					 
					
						2017-06-26 17:52:22 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							6353d55e94 
							
						 
					 
					
						
						
							
							Command-line: Add support for setting language's environment.  
						
						
						
						
					 
					
						2017-06-26 14:49:11 -06:00 
						 
				 
			
				
					
						
							
							
								LoopDawg 
							
						 
					 
					
						
						
						
						
							
						
						
							c44b95fdec 
							
						 
					 
					
						
						
							
							WIP: HLSL: handle clip/cull distance array semantic matching  
						
						... 
						
						
						
						In HLSL, there are three (TODO: ??) dimensions of clip and cull
distance values:
  * The semantic's value N, ala SV_ClipDistanceN.
  * The array demension, if the value is an array.
  * The vector element, if the value is a vector or array of vectors.
In SPIR-V, clip and cull distance are arrays of scalar floats, always.
This PR currently ignores the semantic N axis, and handles the other
two axes by sequentially copying each vector element of each array member
into sequential floats in the output array.
Fixes : #946  
						
						
					 
					
						2017-06-23 13:06:53 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							4329d555ad 
							
						 
					 
					
						
						
							
							HLSL: Broaden solution for  #940 , editing integer input for 'flat'.  
						
						
						
						
					 
					
						2017-06-21 01:35:57 -06:00 
						 
				 
			
				
					
						
							
							
								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