John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							e3b76ed608 
							
						 
					 
					
						
						
							
							Merge branch 'scalar_block_layout' of  https://github.com/jeffbolznv/glslang  into jeffbolznv-scalar_block_layout  
						
						
						
						
					 
					
						2018-11-16 09:57:33 -07:00 
						 
				 
			
				
					
						
							
							
								t.jung 
							
						 
					 
					
						
						
						
						
							
						
						
							b16bea801c 
							
						 
					 
					
						
						
							
							[HLSL/Spir-V] fix for incorrect spir-v on int dot(int, int)  
						
						... 
						
						
						
						Decomposes OpDot into corresponding multiplies and additions. 
						
						
					 
					
						2018-11-15 11:02:30 +01:00 
						 
				 
			
				
					
						
							
							
								Jeff Bolz 
							
						 
					 
					
						
						
						
						
							
						
						
							7da39ed968 
							
						 
					 
					
						
						
							
							Implement GL_EXT_scalar_block_layout  
						
						
						
						
					 
					
						2018-11-14 09:30:53 -06:00 
						 
				 
			
				
					
						
							
							
								t.jung 
							
						 
					 
					
						
						
						
						
							
						
						
							697fdf015f 
							
						 
					 
					
						
						
							
							HLSL: fix invalid spir-v vector * scalar for float1  
						
						... 
						
						
						
						Missing check for float results in always emitting OpIMul even for float types 
						
						
					 
					
						2018-11-14 14:27:22 +01:00 
						 
				 
			
				
					
						
							
							
								Dan Sinclair 
							
						 
					 
					
						
						
						
						
							
						
						
							12fcaa2cc2 
							
						 
					 
					
						
						
							
							Review feedback  
						
						
						
						
					 
					
						2018-11-13 09:17:44 -05:00 
						 
				 
			
				
					
						
							
							
								Dan Sinclair 
							
						 
					 
					
						
						
						
						
							
						
						
							70661b9c08 
							
						 
					 
					
						
						
							
							Handle potentially uninitialized result  
						
						
						
						
					 
					
						2018-11-12 13:56:52 -05:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							cdf7a85b14 
							
						 
					 
					
						
						
							
							Merge pull request  #1557  from nicebyte/spec-const-decorations  
						
						... 
						
						
						
						Add names for composite spec constants in SPIR-V 
						
						
					 
					
						2018-11-02 10:23:22 -06:00 
						 
				 
			
				
					
						
							
							
								Grigory Dzhavadyan 
							
						 
					 
					
						
						
						
						
							
						
						
							4c9876b34c 
							
						 
					 
					
						
						
							
							Add names for composite constants in SPIR-V  
						
						... 
						
						
						
						Consider the following code:
    layout(constant_id=0) const int Y = 1;
    layout(constant_id=1) const int Z = 2;
    layout(constant_id=3) const int X = Y + Z;
Previously, it would produce SPIR-V decorations like this:
    Decorate 21(Y) SpecId 1
    Decorate 22 SpecId 3
    Decorate 33(Z) SpecId 0
This seems inaccurate, since the spec constant `X` that is dependent on
the two others did not get a name in the SPIR-V decorations. This behavior
may potentially negatively affect shader introspection capabilities.
This change alters the behavior to always add a name, which results in the code
above producing the following decorations:
    Decorate 21(Y) SpecId 1
    Decorate 22(X) SpecId 3
    Decorate 33(Z) SpecId 0 
						
						
					 
					
						2018-11-02 00:45:12 -07:00 
						 
				 
			
				
					
						
							
							
								Ashwin Lele 
							
						 
					 
					
						
						
						
						
							
						
						
							ff1783db87 
							
						 
					 
					
						
						
							
							Multiple features and misc fixes for final raytracing non experimental version.  
						
						
						
						
					 
					
						2018-10-31 07:55:24 -07:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							25ed3fce0c 
							
						 
					 
					
						
						
							
							Merge pull request  #1542  from sheredom/fix_8bit_storagebuffer  
						
						... 
						
						
						
						Fix 8-bit storage nearly always using the UniformAndStorageBuffer8BitAccess capability. 
						
						
					 
					
						2018-10-26 10:27:46 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							8717a5d39a 
							
						 
					 
					
						
						
							
							SPV/Standalone: Support specifying arbitrary versions of SPIR-V.  
						
						
						
						
					 
					
						2018-10-26 10:16:47 -06:00 
						 
				 
			
				
					
						
							
							
								Neil Henning 
							
						 
					 
					
						
						
						
						
							
						
						
							b6b01f067b 
							
						 
					 
					
						
						
							
							Fix 8-bit storage nearly always using the  
						
						... 
						
						
						
						UniformAndStorageBuffer8BitAccess capability.
When using the 8-bit storage extension it basically always used the
`UniformAndStorageBuffer8BitAccess` capability, even in cases where it
wasn't required. For instance if we are targeting Vulkan 1.1 (SPIR-V 1.3
or higher), and we are only using 8-bit types in an SSBO, we only need
the `StorageBuffer8BitAccess` capability.
I fixed this by enabling storage buffer use in Vulkan 1.1 / SPIR-V 1.3
or higher, and then changing the logic to match.
I also added some tests that will output different capabilities when run
on Vulkan 1.0 and 1.1, thus they are added twice to the test list (one
for each version).
Fixes  #1539  
						
						
					 
					
						2018-10-26 14:23:41 +01:00 
						 
				 
			
				
					
						
							
							
								Sahil Parmar 
							
						 
					 
					
						
						
						
						
							
						
						
							38772c0434 
							
						 
					 
					
						
						
							
							Allow GL_NV_mesh_shader in fragment shaders for perprimitiveNV  
						
						... 
						
						
						
						- Emit relevant capability/extension for use of perprimitiveNV in fragment shader
- Remove redundant checks for mesh shader qualifiers in glslang.y
- Add profile version check for use of extension GL_NV_mesh_shader
- Add a new gtest for use of perprimitiveNV in fragment shader 
						
						
					 
					
						2018-10-25 23:50:59 -07:00 
						 
				 
			
				
					
						
							
							
								Jeff Bolz 
							
						 
					 
					
						
						
						
						
							
						
						
							ab3c965a46 
							
						 
					 
					
						
						
							
							Fix flags.nonprivate to be true for workgroup memory, which is implicitly workgroupcoherent/nonprivate  
						
						
						
						
					 
					
						2018-10-15 22:46:48 -05:00 
						 
				 
			
				
					
						
							
							
								Chao Chen 
							
						 
					 
					
						
						
						
						
							
						
						
							5b2203db04 
							
						 
					 
					
						
						
							
							Add-support-for-SPV_NV_shading_rate  
						
						
						
						
					 
					
						2018-09-19 13:07:43 -07:00 
						 
				 
			
				
					
						
							
							
								Chao Chen 
							
						 
					 
					
						
						
						
						
							
						
						
							b50c02ef53 
							
						 
					 
					
						
						
							
							Add-support-for-SPV_NVX_raytracing  
						
						
						
						
					 
					
						2018-09-19 13:07:43 -07:00 
						 
				 
			
				
					
						
							
							
								Chao Chen 
							
						 
					 
					
						
						
						
						
							
						
						
							3c3669904c 
							
						 
					 
					
						
						
							
							Add-support-for-SPV_NV_mesh_shader  
						
						
						
						
					 
					
						2018-09-19 13:07:43 -07:00 
						 
				 
			
				
					
						
							
							
								Chao Chen 
							
						 
					 
					
						
						
						
						
							
						
						
							3a1379667d 
							
						 
					 
					
						
						
							
							0003-Add-support-for-SPV_NV_shader_image_footprint  
						
						
						
						
					 
					
						2018-09-19 13:07:42 -07:00 
						 
				 
			
				
					
						
							
							
								Chao Chen 
							
						 
					 
					
						
						
						
						
							
						
						
							beae2251b7 
							
						 
					 
					
						
						
							
							Add-support-for-SPV_NV_compute_shader_derivatives  
						
						
						
						
					 
					
						2018-09-19 13:07:42 -07:00 
						 
				 
			
				
					
						
							
							
								Chao Chen 
							
						 
					 
					
						
						
						
						
							
						
						
							9eada4b971 
							
						 
					 
					
						
						
							
							Add-support-for-SPV_NV_fragment_shader_barycentric  
						
						
						
						
					 
					
						2018-09-19 13:07:42 -07:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							d122a72852 
							
						 
					 
					
						
						
							
							Build: Fix some warnings.  
						
						
						
						
					 
					
						2018-09-18 03:43:30 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							afe0c66f65 
							
						 
					 
					
						
						
							
							SPV:  Fix   #1487 : Only declare AMD int16/half_float extensions when needed.  
						
						
						
						
					 
					
						2018-09-10 18:10:51 -06:00 
						 
				 
			
				
					
						
							
							
								Jeff Bolz 
							
						 
					 
					
						
						
						
						
							
						
						
							36831c9bad 
							
						 
					 
					
						
						
							
							GL_KHR_memory_scope_semantics  
						
						
						
						
					 
					
						2018-09-06 20:36:14 -05:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							97068d8b30 
							
						 
					 
					
						
						
							
							Merge pull request  #1465  from otakuto/remove-execute-permissions  
						
						... 
						
						
						
						Remove execute permissions 
						
						
					 
					
						2018-08-31 08:14:47 -07:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							4e11b615db 
							
						 
					 
					
						
						
							
							SPV: Turn off the default validation done by the SPIRV-Tools optimizer.  
						
						... 
						
						
						
						Also use the glslang namespace qualifier consistently and validate after
legalization, not before. (But most tests don't legalize.) 
						
						
					 
					
						2018-08-30 16:59:13 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							c340425bb2 
							
						 
					 
					
						
						
							
							SPV: Add option for controling when the SPIRV-Tools validator is used.  
						
						
						
						
					 
					
						2018-08-23 15:29:08 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							717c80a9de 
							
						 
					 
					
						
						
							
							SPV: Isolate SPIRV-tools glue to its own file.  
						
						
						
						
					 
					
						2018-08-23 15:17:10 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							cc14f2d329 
							
						 
					 
					
						
						
							
							SPV: Add SPIRV-Tools validator. This needs the latest SPIR-Tools.  
						
						
						
						
					 
					
						2018-08-23 13:46:48 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							e7df8e0b76 
							
						 
					 
					
						
						
							
							Non-functional: Rationalize some existing use of SPIRV-Tools.  
						
						
						
						
					 
					
						2018-08-22 17:12:46 -06:00 
						 
				 
			
				
					
						
							
							
								David Neto 
							
						 
					 
					
						
						
						
						
							
						
						
							9fd2a8cdfc 
							
						 
					 
					
						
						
							
							Use our own SPIRV-Tools message stringifier  
						
						... 
						
						
						
						Stop including an internal SPIRV-Tools header. It has been
deleted.
Fixes  #1477  
						
						
					 
					
						2018-08-20 10:36:27 -04:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							31aa3d6019 
							
						 
					 
					
						
						
							
							SPV: only declare the pure 8/16-bit capabilities when needed.  
						
						... 
						
						
						
						Only when operations stray outside the 8/16-bit storage-capabilities
are the general (pure 8/16-bit) capabilities needed. 
						
						
					 
					
						2018-08-16 15:54:21 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							149afc3930 
							
						 
					 
					
						
						
							
							SPV: More corrections of <id> versus "immediate" operands.  
						
						
						
						
					 
					
						2018-08-14 13:31:43 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							c4510e5ebc 
							
						 
					 
					
						
						
							
							Merge pull request  #1466  from Kangz/warning_fixes  
						
						... 
						
						
						
						Fix -Wignored-qualifier and -Wunused-variable warnings 
						
						
					 
					
						2018-08-09 12:49:56 -07:00 
						 
				 
			
				
					
						
							
							
								Corentin Wallez 
							
						 
					 
					
						
						
						
						
							
						
						
							e70614223f 
							
						 
					 
					
						
						
							
							Fix -Wignored-qualifier and -Wunused-variable warnings  
						
						
						
						
					 
					
						2018-08-09 14:54:33 +02:00 
						 
				 
			
				
					
						
							
							
								otakuto 
							
						 
					 
					
						
						
						
						
							
						
						
							d03da06ac1 
							
						 
					 
					
						
						
							
							Remove execute permissions  
						
						
						
						
					 
					
						2018-08-07 03:16:20 +09:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							f04c51b3bd 
							
						 
					 
					
						
						
							
							Non-Functional: Add postprocess as more robust way to add capabilities  
						
						... 
						
						
						
						When capabilities are needed for specific SPIR-V instructions, it is
fragile to do so based on GLSL/AST usage; it should be based on actual
instructions they got translated to. 
						
						
					 
					
						2018-08-03 15:56:12 -06:00 
						 
				 
			
				
					
						
							
							
								Jeff Bolz 
							
						 
					 
					
						
						
						
						
							
						
						
							c140b96892 
							
						 
					 
					
						
						
							
							Add missing OpExtension SPV_EXT_descriptor_indexing for dynamic indexing capabilities  
						
						
						
						
					 
					
						2018-07-12 16:51:18 -05:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							312dcfb070 
							
						 
					 
					
						
						
							
							Implement GL_EXT_shader_16bit_storage and GL_EXT_shader_8bit_storage extensions.  
						
						... 
						
						
						
						These introduce limited support for 8/16-bit types such that they can only be accessed in buffer memory and converted to/from 32-bit types.
Contributed from Khronos-internal work. 
						
						
					 
					
						2018-07-03 13:51:31 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							ad7645f4f5 
							
						 
					 
					
						
						
							
							Fix   #1360 : uint->int width conversions must still be typed as uint.  
						
						
						
						
					 
					
						2018-06-04 20:09:30 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							14b85d3ff3 
							
						 
					 
					
						
						
							
							Fix   #1395 : GLSL volatile maps to SPIR-V Volatile and Coherent.  
						
						... 
						
						
						
						The major version number was bumped in the previous commit to support
this. 
						
						
					 
					
						2018-06-04 15:36:03 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							d6c975572e 
							
						 
					 
					
						
						
							
							Change the major revision number for next commit.  
						
						
						
						
					 
					
						2018-06-04 15:33:31 -06:00 
						 
				 
			
				
					
						
							
							
								GregF 
							
						 
					 
					
						
						
						
						
							
						
						
							b0c42b2884 
							
						 
					 
					
						
						
							
							Update spirv-tools known-good.  
						
						... 
						
						
						
						Includes:
Fold FMix feeding Extract, and use the simplification pass. 
						
						
					 
					
						2018-05-31 16:17:18 -06:00 
						 
				 
			
				
					
						
							
							
								Rex Xu 
							
						 
					 
					
						
						
						
						
							
						
						
							b4a2a6cf94 
							
						 
					 
					
						
						
							
							Fix issue  #1376 : SPV_AMD_gpu_shader_half_float is not emitted under  
						
						... 
						
						
						
						vulkan1.1
Interpolation functions, using 16-bit interpolants, should always emit
this extension string regardless of vulkan enviornment version. 
						
						
					 
					
						2018-05-17 13:51:28 +08:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							1831087e48 
							
						 
					 
					
						
						
							
							SPV:  Fix   #1374 : For an SSBO 16-bit access, only emit StorageUniformBufferBlock16 capability.  
						
						
						
						
					 
					
						2018-05-14 22:08:53 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							d3ed90be3a 
							
						 
					 
					
						
						
							
							Fix   #944 : Convert argument type to match formal parameter type.  
						
						
						
						
					 
					
						2018-05-04 11:43:03 -06:00 
						 
				 
			
				
					
						
							
							
								Rex Xu 
							
						 
					 
					
						
						
						
						
							
						
						
							7c88aff1a9 
							
						 
					 
					
						
						
							
							Specify SPV_AMD_gpu_shader_int16 extension string when frexp() takes 16-bit  
						
						... 
						
						
						
						exp operand 
						
						
					 
					
						2018-04-14 21:40:49 +08:00 
						 
				 
			
				
					
						
							
							
								St0fF 
							
						 
					 
					
						
						
						
						
							
						
						
							a1184ddd48 
							
						 
					 
					
						
						
							
							fix further MSVC 2012 build issues  
						
						... 
						
						
						
						MSVC 2012 does not allow initializer lists - replaced with corrresponding CTor calls. 
						
						
					 
					
						2018-04-09 21:08:14 +02:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							f52b63812a 
							
						 
					 
					
						
						
							
							Fix   #1331 : Emit SPV_GOOGLE_hlsl_functionality1 for counters.  
						
						... 
						
						
						
						It was missing when there were no semantics. 
						
						
					 
					
						2018-04-05 19:35:38 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							5611c6d27b 
							
						 
					 
					
						
						
							
							GLSL/SPV: Implement SPV_EXT_descriptor_indexing and GL_EXT_nonuniform_qualifier  
						
						
						
						
					 
					
						2018-04-05 11:25:02 -06:00 
						 
				 
			
				
					
						
							
							
								Jeff Bolz 
							
						 
					 
					
						
						
						
						
							
						
						
							2abe9a4d34 
							
						 
					 
					
						
						
							
							Implement GL_NV_shader_subgroup_partitioned  
						
						
						
						
					 
					
						2018-03-29 22:52:17 -05:00