John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							74c5f711b4 
							
						 
					 
					
						
						
							
							Merge pull request  #1014  from KhronosGroup/SPV_EXT_shader_viewport_index_layer  
						
						... 
						
						
						
						SPV: 1st pass implementation of SPV_EXT_shader_viewport_index_layer. 
						
						
					 
					
						2017-08-25 13:33:16 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							35343cb84d 
							
						 
					 
					
						
						
							
							Merge pull request  #1034  from KhronosGroup/module-processes  
						
						... 
						
						
						
						SPV reflection: Add OpModuleProcessed for compile options. 
						
						
					 
					
						2017-08-25 13:05:54 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							b41bff69d2 
							
						 
					 
					
						
						
							
							SPV: 1st pass implementation of SPV_EXT_shader_viewport_index_layer.  
						
						
						
						
					 
					
						2017-08-25 13:04:39 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							2a27116cae 
							
						 
					 
					
						
						
							
							SPV reflection: Add OpModuleProcessed for compile options.  
						
						
						
						
					 
					
						2017-08-25 11:48:02 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							fc3436941e 
							
						 
					 
					
						
						
							
							Merge pull request  #1029  from amdrexu/feature2  
						
						... 
						
						
						
						Implement extension GL_AMD_shader_image_load_store_lod 
						
						
					 
					
						2017-08-23 23:13:19 -06:00 
						 
				 
			
				
					
						
							
							
								Rex Xu 
							
						 
					 
					
						
						
						
						
							
						
						
							129799a709 
							
						 
					 
					
						
						
							
							Implement extension GL_AMD_shader_image_load_store_lod  
						
						
						
						
					 
					
						2017-08-24 06:56:39 +08:00 
						 
				 
			
				
					
						
							
							
								Rex Xu 
							
						 
					 
					
						
						
						
						
							
						
						
							e8fdd79f2e 
							
						 
					 
					
						
						
							
							SPV: Implement extension SPV_EXT_shader_stencil_export  
						
						
						
						
					 
					
						2017-08-24 06:26:15 +08:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							786e8795ee 
							
						 
					 
					
						
						
							
							Build: Fix build when NV_EXTENSIONS is not enabled.  
						
						
						
						
					 
					
						2017-08-19 15:54:49 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							d6be6da031 
							
						 
					 
					
						
						
							
							SPV:  Fix   #1016 : Don't allow non-GLSL-extension protected Layer and ViewportIndex members.  
						
						
						
						
					 
					
						2017-08-17 23:49:39 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							0d0c6d38f0 
							
						 
					 
					
						
						
							
							GLSL 4.6: Implement atomic counter ops and SPV_KHR_shader_atomic_counter_ops.  
						
						
						
						
					 
					
						2017-07-31 03:00:04 -06:00 
						 
				 
			
				
					
						
							
							
								Rex Xu 
							
						 
					 
					
						
						
						
						
							
						
						
							286ca432cf 
							
						 
					 
					
						
						
							
							SPV: Memory qualifiers should decorate top-level block members  
						
						
						
						
					 
					
						2017-07-27 14:33:16 +08:00 
						 
				 
			
				
					
						
							
							
								LoopDawg 
							
						 
					 
					
						
						
						
						
							
						
						
							ef94b1a5ca 
							
						 
					 
					
						
						
							
							Fix dref explicit LOD form of sample with cube texture arrays  
						
						... 
						
						
						
						The dref parameter was being used as the LOD.  Now it it's properly the dref. 
						
						
					 
					
						2017-07-24 18:45:37 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							961cd35b73 
							
						 
					 
					
						
						
							
							SPV:  Fix   #995 : Include memory decorations on parameters.  
						
						
						
						
					 
					
						2017-07-18 03:07:43 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							fad6297206 
							
						 
					 
					
						
						
							
							SPV: Non-functional: support lists of decorations per parameter.  
						
						
						
						
					 
					
						2017-07-18 02:46:59 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							735d7e56a6 
							
						 
					 
					
						
						
							
							Address part A of  #982 : $Global will use std140 instead of HLSL offsets.  
						
						... 
						
						
						
						From comment about this:
Adjust alignment for HLSL rules
TODO: make this consistent in early phases of code: adjusting this late means inconsistencies with earlier code, which for reflection is an issue.
Until reflection is brought in sync with these adjustments, don't apply to $Global,
which is the most likely to rely on reflection, and least likely to rely
implicit layouts. 
						
						
					 
					
						2017-07-13 11:39:16 -06:00 
						 
				 
			
				
					
						
							
							
								Rex Xu 
							
						 
					 
					
						
						
						
						
							
						
						
							57e65929e4 
							
						 
					 
					
						
						
							
							HLSL: Translate directive [flatten] and [branch] to SPV control mask.  
						
						
						
						
					 
					
						2017-07-06 11:31:33 +08:00 
						 
				 
			
				
					
						
							
							
								chaoc 
							
						 
					 
					
						
						
						
						
							
						
						
							c120452754 
							
						 
					 
					
						
						
							
							Implement SPV_KHR_post_depth_coverage  
						
						... 
						
						
						
						Added support for both extension GL_ARB_post_depth_coverage and GL_EXT_post_depth_coverage. 
						
						
					 
					
						2017-07-05 12:27:15 -07:00 
						 
				 
			
				
					
						
							
							
								Rex Xu 
							
						 
					 
					
						
						
						
						
							
						
						
							37cdceed41 
							
						 
					 
					
						
						
							
							Implement extension GL_ARB_shader_stencil_export  
						
						
						
						
					 
					
						2017-06-29 17:50:46 +08: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 
						 
				 
			
				
					
						
							
							
								Rex Xu 
							
						 
					 
					
						
						
						
						
							
						
						
							301a2bc8a7 
							
						 
					 
					
						
						
							
							SPV: Fix an typo of SPV_AMD_texture_gather_bias_lod  
						
						
						
						
					 
					
						2017-06-14 23:09:39 +08: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 
						 
				 
			
				
					
						
							
							
								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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
						 
				 
			
				
					
						
							
							
								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 
							
						 
					 
					
						
						
						
						
							
						
						
							84cc15f0d0 
							
						 
					 
					
						
						
							
							HLSL:  Fix   #903 : Don't short-circuit && or ||.  
						
						
						
						
					 
					
						2017-05-24 16:47:32 -06:00 
						 
				 
			
				
					
						
							
							
								LoopDawg 
							
						 
					 
					
						
						
						
						
							
						
						
							174ccb8f1d 
							
						 
					 
					
						
						
							
							HLSL: Add imat, umat, and bmat constructors  
						
						... 
						
						
						
						Fixes  #894  
					
						2017-05-20 21:54:16 -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 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							a5c5fb6118 
							
						 
					 
					
						
						
							
							SPV: Emit extension for using StorageClassStorageBuffer.  
						
						
						
						
					 
					
						2017-05-05 05:09:58 -06:00 
						 
				 
			
				
					
						
							
							
								steve-lunarg 
							
						 
					 
					
						
						
						
						
							
						
						
							f1709e7146 
							
						 
					 
					
						
						
							
							HLSL: implement [unroll] and [loop] attributes  
						
						... 
						
						
						
						This adds infrastructure suitable for any front end to create SPIR-V loop
control flags.  The only current front end doing so is HLSL.
[unroll] turns into spv::LoopControlUnrollMask
[loop] turns into spv::LoopControlDontUnrollMask
no specification means spv::LoopControlMaskNone 
						
						
					 
					
						2017-05-03 13:44:40 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							670271890d 
							
						 
					 
					
						
						
							
							SPV: Support test #pragma for generating the StorageBuffer storage class.  
						
						... 
						
						
						
						Longer term, this storage class should be generated based on the mode
of compilation. 
						
						
					 
					
						2017-04-19 18:34:49 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							ae79697db1 
							
						 
					 
					
						
						
							
							Merge pull request  #827  from amdrexu/feature4  
						
						... 
						
						
						
						Implement the extension SPV_KHR_16bit_storage 
						
						
					 
					
						2017-04-08 10:03:45 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							6fa17641b5 
							
						 
					 
					
						
						
							
							HLSL: Emit the OpSource HLSL instruction for HLSL, using new headers.  
						
						
						
						
					 
					
						2017-04-07 15:40:01 -06:00 
						 
				 
			
				
					
						
							
							
								Rex Xu 
							
						 
					 
					
						
						
						
						
							
						
						
							f89ad98013 
							
						 
					 
					
						
						
							
							Implement the extension SPV_KHR_16bit_storage  
						
						
						
						
					 
					
						2017-04-07 23:22:33 +08:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							4f1403ed1b 
							
						 
					 
					
						
						
							
							SPV:  Fix   #807 : use --hlsl-offsets to allow hlsl-style offsets in a buffer.  
						
						... 
						
						
						
						Corresponds to the EShMsgHlslOffsets flag in messages.
Works for both GLSL and HLSL. 
						
						
					 
					
						2017-04-05 17:38:20 -06:00 
						 
				 
			
				
					
						
							
							
								steve-lunarg 
							
						 
					 
					
						
						
						
						
							
						
						
							e741249b72 
							
						 
					 
					
						
						
							
							HLSL: pass tessellation execution modes through to SPIR-V  
						
						... 
						
						
						
						The SPIR-V generator had assumed tessellation modes such as
primitive type and vertex order would only appear in tess eval
(domain) shaders.  SPIR-V allows either, and HLSL allows and
possibly requires them to be in the hull shader.
This change:
1. Passes them through for either tessellation stage, and,
2. Does not set up defaults in the domain stage for HLSl compilation,
to avoid conflicting definitions. 
						
						
					 
					
						2017-03-31 11:47:18 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							e434ad923e 
							
						 
					 
					
						
						
							
							Fix   #809 : smear scalar condition in OpSelect for selecting vector operands.  
						
						
						
						
					 
					
						2017-03-30 10:16:22 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							714e58b2fc 
							
						 
					 
					
						
						
							
							Merge pull request  #801  from amdrexu/bugfix  
						
						... 
						
						
						
						HLSL: Fix an issue of frexp(). 
						
						
					 
					
						2017-03-29 10:04:30 -06:00 
						 
				 
			
				
					
						
							
							
								Rex Xu 
							
						 
					 
					
						
						
						
						
							
						
						
							bcf291a7ba 
							
						 
					 
					
						
						
							
							Don't emit NV-specific interface members if NV extensions are disabled.  
						
						
						
						
					 
					
						2017-03-29 23:01:36 +08:00 
						 
				 
			
				
					
						
							
							
								Rex Xu 
							
						 
					 
					
						
						
						
						
							
						
						
							470026f9d7 
							
						 
					 
					
						
						
							
							HLSL: Fix an issue of frexp().  
						
						... 
						
						
						
						The "exp" parameter is floating-point type in HLSL intrinsic while it is
integer type in GLSL built-in function. 
						
						
					 
					
						2017-03-29 17:12:40 +08:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							aa3c64c214 
							
						 
					 
					
						
						
							
							Fix   #800  (mostly): set of Linux warnings.  
						
						
						
						
					 
					
						2017-03-28 09:52:38 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							0e7378446b 
							
						 
					 
					
						
						
							
							Fix   #790 : Don't emit NV-specific interface members unless enabled by extension.  
						
						
						
						
					 
					
						2017-03-24 18:40:40 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							3778979cd4 
							
						 
					 
					
						
						
							
							HLSL: non-static member functions: track and find active anonymous 'this' scopes and members.  
						
						... 
						
						
						
						Thanks to @steve-lunarg for his input and discussions on handling member functions. 
						
						
					 
					
						2017-03-21 23:56:40 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							4960baaf66 
							
						 
					 
					
						
						
							
							HLSL: Basic turn on of non-static member functions.  
						
						... 
						
						
						
						Still need: pass by reference in SPIR-V and symbol-table level
for accessing 'this' members from member functions. 
						
						
					 
					
						2017-03-19 18:09:59 -06:00 
						 
				 
			
				
					
						
							
							
								Rex Xu 
							
						 
					 
					
						
						
						
						
							
						
						
							5e317ffe40 
							
						 
					 
					
						
						
							
							SPV: Fix unexpected declarations of capability and extension  
						
						
						
						
					 
					
						2017-03-16 23:02:39 +08:00 
						 
				 
			
				
					
						
							
							
								steve-lunarg 
							
						 
					 
					
						
						
						
						
							
						
						
							0b5c2ae70e 
							
						 
					 
					
						
						
							
							Preserve signedness in SPV image query ops  
						
						... 
						
						
						
						The AST->SPIRV translation of image queries was dropping signedness,
causing some validation troubles. 
						
						
					 
					
						2017-03-10 12:51:59 -07:00