John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							077e052a8f 
							
						 
					 
					
						
						
							
							HLSL: Implement proper nesting of symbol-table scopes and identifier searching.  
						
						
						
						
					 
					
						2016-06-09 02:03:46 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							71351de879 
							
						 
					 
					
						
						
							
							HLSL: Add all int/float/bool/uint matrix types, void for functions, and a few others.  
						
						
						
						
					 
					
						2016-06-09 01:33:10 -06:00 
						 
				 
			
				
					
						
							
							
								Jason Ekstrand 
							
						 
					 
					
						
						
						
						
							
						
						
							ed15ef1a5b 
							
						 
					 
					
						
						
							
							GlslangToSpv: Pass the pointer directly into the client function for opaque types  
						
						... 
						
						
						
						For opaque types such as samplers, images, and atomic counters, we want to
reference the actual object in the child function.  For a long time, we
used a shadow variable and made a copy of the image/sampler.  In 76d0ac1a,
this was changed to not shadow samplers.  However, this didn't cover all
opaque types and it also didn't get the pointer storage classes right.
This commit fixes both of these issues.
Fixes  #324  
						
						
					 
					
						2016-06-08 17:22:46 -07:00 
						 
				 
			
				
					
						
							
							
								Jason Ekstrand 
							
						 
					 
					
						
						
						
						
							
						
						
							228546a8af 
							
						 
					 
					
						
						
							
							Types: Add an isOpaque() helper  
						
						
						
						
					 
					
						2016-06-08 17:22:43 -07:00 
						 
				 
			
				
					
						
							
							
								Jason Ekstrand 
							
						 
					 
					
						
						
						
						
							
						
						
							c24cc29d37 
							
						 
					 
					
						
						
							
							GlslangToSpv: Properly handle opaque types in TranslateStorageClass  
						
						
						
						
					 
					
						2016-06-08 17:05:19 -07:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							5022d681d1 
							
						 
					 
					
						
						
							
							Merge pull request  #333  from dneto0/defer-capabilities-for-some-struct-members-until-used  
						
						... 
						
						
						
						SPV: Defer capability decl for ClipDistance, CullDistance, PointSize until… 
						
						
					 
					
						2016-06-08 10:59:51 -06:00 
						 
				 
			
				
					
						
							
							
								David Neto 
							
						 
					 
					
						
						
						
						
							
						
						
							a901ffed40 
							
						 
					 
					
						
						
							
							Defer capability decl for ClipDistance, CullDistance, PointSize until actual use  
						
						... 
						
						
						
						The compiler will mark struct members with those builtins, but won't
declare the capability until that member is accessed by some executable
instruction.
Test changes:
- spv.430.vert: was missing ClipDistance capability.
- spv.precise.tese: remove TessellationPointSize capability. 
						
						
					 
					
						2016-06-08 09:30:04 -04:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							95d85ce0ca 
							
						 
					 
					
						
						
							
							Merge pull request  #331  from jherico/jherico-patch-1  
						
						... 
						
						
						
						Build: Fix Ubuntu 16.10 build 
						
						
					 
					
						2016-06-07 18:07:12 -06:00 
						 
				 
			
				
					
						
							
							
								Brad Davis 
							
						 
					 
					
						
						
						
						
							
						
						
							880bf36cac 
							
						 
					 
					
						
						
							
							Fix Ubuntu 16.10 build  
						
						
						
						
					 
					
						2016-06-07 16:23:44 -07:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							71d55c090a 
							
						 
					 
					
						
						
							
							Merge pull request  #128  from dekimir/clang-format  
						
						... 
						
						
						
						Infrastructure: Add .clang-format. 
						
						
					 
					
						2016-06-05 21:46:33 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							80cb324ff6 
							
						 
					 
					
						
						
							
							Front-end: Fix issue  #146 : which versions allow double in/out.  
						
						
						
						
					 
					
						2016-06-05 18:52:05 -06:00 
						 
				 
			
				
					
						
							
							
								Dejan Mircevski 
							
						 
					 
					
						
						
						
						
							
						
						
							738314fe82 
							
						 
					 
					
						
						
							
							Revert SpvBuilder.* to master versions.  
						
						
						
						
					 
					
						2016-06-05 20:46:33 -04:00 
						 
				 
			
				
					
						
							
							
								Dejan Mircevski 
							
						 
					 
					
						
						
						
						
							
						
						
							e592652665 
							
						 
					 
					
						
						
							
							Increase column limit to 120.  
						
						
						
						
					 
					
						2016-06-05 20:45:34 -04:00 
						 
				 
			
				
					
						
							
							
								Dejan Mircevski 
							
						 
					 
					
						
						
						
						
							
						
						
							f377f5287b 
							
						 
					 
					
						
						
							
							Merge branch 'master' of github.com:KhronosGroup/glslang into clang-format  
						
						
						
						
					 
					
						2016-06-05 20:42:20 -04:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							133253b6ee 
							
						 
					 
					
						
						
							
							Front-end: Fix issue  #147 : ensure layout(index=N) has N in [0,1].  
						
						
						
						
					 
					
						2016-06-05 17:25:34 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							119f8f6906 
							
						 
					 
					
						
						
							
							HLSL: Flesh out the loop grammar and productions.  
						
						
						
						
					 
					
						2016-06-05 15:44:07 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							0d2b6de45b 
							
						 
					 
					
						
						
							
							HLSL: Attribute grammar and if-else grammar/productions.  
						
						
						
						
					 
					
						2016-06-05 12:32:18 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							21472aee75 
							
						 
					 
					
						
						
							
							HLSL: Finish skeletan of the "statement" grammar.  
						
						
						
						
					 
					
						2016-06-04 11:46:33 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							1cc1a2813e 
							
						 
					 
					
						
						
							
							HLSL: 1) Implement lookahead buffers/stacks for token advance/recede, 2) use it for cast operation.  
						
						... 
						
						
						
						The grammar now accepts type casts, like "(int)x", but that
has to be disambiguated from "(a + b)", needed deeper lookahead
and backing up than what existed so far. 
						
						
					 
					
						2016-06-03 16:57:53 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							080cdc1737 
							
						 
					 
					
						
						
							
							Merge pull request  #328  from steve-lunarg/intrinsics  
						
						... 
						
						
						
						HLSL: Add negative intrinsics tests 
						
						
					 
					
						2016-06-03 16:55:22 -06:00 
						 
				 
			
				
					
						
							
							
								LoopDawg 
							
						 
					 
					
						
						
						
						
							
						
						
							643fcb5b43 
							
						 
					 
					
						
						
							
							Add negative intrinsics tests  
						
						
						
						
					 
					
						2016-06-03 16:28:57 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							54e3bb8a4e 
							
						 
					 
					
						
						
							
							Merge pull request  #327  from steve-lunarg/empty-statement-fix  
						
						... 
						
						
						
						HLSL: Fix for empty statement segfault 
						
						
					 
					
						2016-06-03 12:20:49 -06:00 
						 
				 
			
				
					
						
							
							
								LoopDawg 
							
						 
					 
					
						
						
						
						
							
						
						
							ef764a24b2 
							
						 
					 
					
						
						
							
							Fix for empty statement segfault.  
						
						
						
						
					 
					
						2016-06-03 10:57:03 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							9f1f818083 
							
						 
					 
					
						
						
							
							Merge pull request  #326  from greg-lunarg/greg-mr4  
						
						... 
						
						
						
						remapper: do not eliminate interface variables in dce 
						
						
					 
					
						2016-06-03 10:48:12 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							438bb6093a 
							
						 
					 
					
						
						
							
							Merge pull request  #322  from steve-lunarg/intrinsics  
						
						... 
						
						
						
						HLSL: Initial implementation of direct-mapped subset of HLSL intrinsics 
						
						
					 
					
						2016-06-03 10:47:34 -06:00 
						 
				 
			
				
					
						
							
							
								GregF 
							
						 
					 
					
						
						
						
						
							
						
						
							39d5e711a7 
							
						 
					 
					
						
						
							
							remapper: do not eliminate interface variables in dce by default  
						
						... 
						
						
						
						this is done by counting op_entrypoint as a use/def 
						
						
					 
					
						2016-06-03 09:57:57 -06:00 
						 
				 
			
				
					
						
							
							
								LoopDawg 
							
						 
					 
					
						
						
						
						
							
						
						
							4b67732c13 
							
						 
					 
					
						
						
							
							Initial implementation of direct-mapped subset of HLSL intrinsics with type subset.  
						
						... 
						
						
						
						This checkin implements about half of the HLSL intrinsics for a subset of their
entire type support (but a useful subset).  The uncommented lines in
TBuiltInParseablesHlsl::identifyBuiltIns shows which are connected. 
						
						
					 
					
						2016-06-03 08:28:29 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							85b52f304d 
							
						 
					 
					
						
						
							
							Merge pull request  #323  from dneto0/mingw-static-link-against-basic-runtimes  
						
						... 
						
						
						
						Build: For MinGW, statically link exes against basic runtimes 
						
						
					 
					
						2016-06-02 23:51:45 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							a5c33d6ffb 
							
						 
					 
					
						
						
							
							SPV: Fix issue  #320 : Fetch needs to extract the image.  
						
						... 
						
						
						
						GLSL takes a traditional sampler, but SPIR-V wants just the
sampled image, not the combined sampler and image. 
						
						
					 
					
						2016-06-02 23:47:29 -06:00 
						 
				 
			
				
					
						
							
							
								David Neto 
							
						 
					 
					
						
						
						
						
							
						
						
							b37dc0e458 
							
						 
					 
					
						
						
							
							For MinGW, statically link exes against basic runtimes  
						
						... 
						
						
						
						Avoids the need to ship basic runtimes like libgcc_s_sjlj-1.dll
with the executables. 
						
						
					 
					
						2016-06-02 14:37:24 -04:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							98f2b3bfe0 
							
						 
					 
					
						
						
							
							Merge pull request  #311  from jherico/debug_postfix  
						
						... 
						
						
						
						Build: Produce different names for files in debug builds on MSVC 
						
						
					 
					
						2016-06-01 18:39:18 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							85b332688b 
							
						 
					 
					
						
						
							
							Merge pull request  #317  from iostrowsINTEL/double_matrix_fix  
						
						... 
						
						
						
						SPV: Fix double matrix creation 
						
						
					 
					
						2016-06-01 18:26:52 -06:00 
						 
				 
			
				
					
						
							
							
								iostrows 
							
						 
					 
					
						
						
						
						
							
						
						
							af7f1c8f24 
							
						 
					 
					
						
						
							
							Fix double matrix creation  
						
						
						
						
					 
					
						2016-06-01 16:40:00 +02:00 
						 
				 
			
				
					
						
							
							
								Johannes van Waveren 
							
						 
					 
					
						
						
						
						
							
						
						
							1fd017546a 
							
						 
					 
					
						
						
							
							turn -x into an option next to -o  
						
						
						
						
					 
					
						2016-05-31 08:39:41 -05:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							548c3adecd 
							
						 
					 
					
						
						
							
							Front-end: Complete GL_ARB_compute_shader, previous commit was missing new barriers.  
						
						... 
						
						
						
						This amends the previous commit, which ommitted barriers in version 420 for compute shader. 
						
						
					 
					
						2016-05-30 19:38:39 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							d94c003fb7 
							
						 
					 
					
						
						
							
							Front-end: Complete GL_ARB_compute_shader implementation.  
						
						... 
						
						
						
						Core compute shaders were working, but the extension wasn't implemented. 
						
						
					 
					
						2016-05-30 19:29:40 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							0f5e3ad23c 
							
						 
					 
					
						
						
							
							Fix issue  #313 : Catch internal attempts to modify built-in symbols that don't exist.  
						
						... 
						
						
						
						Also beefed up support for running compute shaders is #version 420, but this
work is only partially done. 
						
						
					 
					
						2016-05-29 18:24:31 -06:00 
						 
				 
			
				
					
						
							
							
								Johannes van Waveren 
							
						 
					 
					
						
						
						
						
							
						
						
							ecb0f3b75b 
							
						 
					 
					
						
						
							
							Added -x option to save SPIR-V as 32-bit hexadecimal numbers to a text file.  
						
						
						
						
					 
					
						2016-05-27 12:55:53 -05:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							5a7f0eff69 
							
						 
					 
					
						
						
							
							Merge pull request  #230  from dekimir/incresconst  
						
						... 
						
						
						
						Make two more IncludeResult members const. 
						
						
					 
					
						2016-05-25 17:43:54 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							7d8141987c 
							
						 
					 
					
						
						
							
							Merge pull request  #309  from jekstrand/sampler-params  
						
						... 
						
						
						
						SPV: Don't shadow sampler parameters when performing function calls 
						
						
					 
					
						2016-05-25 17:35:54 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							747c328ce4 
							
						 
					 
					
						
						
							
							Merge pull request  #308  from thp/multiple-es-compilation-units  
						
						... 
						
						
						
						Link: Handle multiple ES profile compilation units for a single shader stage 
						
						
					 
					
						2016-05-25 17:31:58 -06:00 
						 
				 
			
				
					
						
							
							
								Jason Ekstrand 
							
						 
					 
					
						
						
						
						
							
						
						
							76d0ac1a6f 
							
						 
					 
					
						
						
							
							SPV: Don't shadow sampler parameters when performing function calls  
						
						... 
						
						
						
						Fixes  #179  
					
						2016-05-25 13:49:47 -07:00 
						 
				 
			
				
					
						
							
							
								Brad Davis 
							
						 
					 
					
						
						
						
						
							
						
						
							1e194e8613 
							
						 
					 
					
						
						
							
							Produce different names for files in debug builds on MSVC  
						
						
						
						
					 
					
						2016-05-25 13:08:34 -07:00 
						 
				 
			
				
					
						
							
							
								Thomas Perl 
							
						 
					 
					
						
						
						
						
							
						
						
							7bfd08d21c 
							
						 
					 
					
						
						
							
							Check for linking multiple ES shaders to the same stage  
						
						
						
						
					 
					
						2016-05-25 09:26:43 +02:00 
						 
				 
			
				
					
						
							
							
								Thomas Perl 
							
						 
					 
					
						
						
						
						
							
						
						
							0bb546f8ae 
							
						 
					 
					
						
						
							
							Fix test case for the "empty" linker test case  
						
						... 
						
						
						
						The test result should only give one error about linking
ES and non-ES shading language compilation units:
 - empty.frag: No version info, interpreted as 100, ES
 - empty2.frag: No version info, interpreted as 100, ES
 - empty3.frag: Version declared as 110, non-ES
Previously, because the new intermediate is always created
without version/profile information, there would be two
linker errors:
 1.) When merging the new intermediate with empty.frag
 2.) When merging (new intermediate + empty.frag + empty2.frag) with empty3.frag
Now, there is only one error; as the error with merging the
new intermediate with empty.frag has been removed. 
						
						
					 
					
						2016-05-24 13:24:24 +02:00 
						 
				 
			
				
					
						
							
							
								Thomas Perl 
							
						 
					 
					
						
						
						
						
							
						
						
							b40a6d6b40 
							
						 
					 
					
						
						
							
							Use version/profile from first compilation stage  
						
						... 
						
						
						
						When linking multiple compilation units per shader stage,
the code creates a new intermediate, but fails to set its
version and profile.
This change makes it so that the new intermediate inherits
the version and profile of the first compilation unit, so
that two ES SL compilation units can be combined. 
						
						
					 
					
						2016-05-24 13:24:24 +02:00 
						 
				 
			
				
					
						
							
							
								Thomas Perl 
							
						 
					 
					
						
						
						
						
							
						
						
							63d4794e8e 
							
						 
					 
					
						
						
							
							Add test case: Link 2 ESSL fragment shader units  
						
						
						
						
					 
					
						2016-05-24 13:15:01 +02:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							0c968f9d0e 
							
						 
					 
					
						
						
							
							Merge pull request  #306  from johnkslang/finish-spec-const-semantics  
						
						... 
						
						
						
						Vulkan: Finish semantics for what creates spec-const-semantics. 
						
						
					 
					
						2016-05-23 23:37:39 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							d82c906378 
							
						 
					 
					
						
						
							
							Vulkan: Finish semantics for what creates spec-const-semantics.  
						
						... 
						
						
						
						Note: This required adding a new test mode to see the AST for vulkan tests.
This also required reworking some deeper parts of type creation, regarding
when storage qualification and constness is deduced bottom-up or dictated
top-down. 
						
						
					 
					
						2016-05-23 23:10:18 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							479b4c7ca6 
							
						 
					 
					
						
						
							
							Merge pull request  #305  from steve-lunarg/intrinsics  
						
						... 
						
						
						
						HLSL: Add base class TParseables for intrinsic / builtin generation. 
						
						
					 
					
						2016-05-23 17:55:07 -06:00