Conor McCarthy 
							
						 
					 
					
						
						
							
						
						758b984c41 
					 
					
						
						
							
							vkd3d-shader/spirv: Support UAV counter descriptor arrays.  
						
						... 
						
						
						
						Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org > 
						
						
					 
					
						2022-01-07 16:49:06 +01:00 
						 
				 
			
				
					
						
							
							
								Conor McCarthy 
							
						 
					 
					
						
						
							
						
						3816fa403f 
					 
					
						
						
							
							vkd3d-shader/spirv: Support runtime descriptor array offsets using push constants.  
						
						... 
						
						
						
						Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org > 
						
						
					 
					
						2021-12-15 19:25:38 +01:00 
						 
				 
			
				
					
						
							
							
								Conor McCarthy 
							
						 
					 
					
						
						
							
						
						535d4a78b1 
					 
					
						
						
							
							vkd3d-shader/spirv: Use runtime descriptor arrays.  
						
						... 
						
						
						
						Runtime descriptor arrays should be used for descriptor bindings with
a variable count.
Support for SpvCapabilityRuntimeDescriptorArrayEXT is required by the
Vulkan spec as part of descriptor indexing support.
The current implementation depends on a separate array declaration for
each range because binding_base_idx is stored in the array data. This
occurs in practice because binding.count is always different. Use of
runtime arrays eliminates the count from the key, so binding_base_idx
must be separated from the array data.
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org > 
						
						
					 
					
						2021-11-24 21:55:46 +01:00 
						 
				 
			
				
					
						
							
							
								Conor McCarthy 
							
						 
					 
					
						
						
							
						
						dbd7e18364 
					 
					
						
						
							
							vkd3d-shader/spirv: Shift the private variable destination mask instead of the source mask.  
						
						... 
						
						
						
						Otherwise if the input is located above position 0 in the private array
it will be swizzled incorrectly, e.g. a.yz instead of a.xy in
test_domain_shader_inputs().
Based on a vkd3d-proton patch by Hans-Kristian Arntzen.
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org > 
						
						
					 
					
						2021-11-17 15:27:31 +01:00 
						 
				 
			
				
					
						
							
							
								Conor McCarthy 
							
						 
					 
					
						
						
							
						
						5357ab78b9 
					 
					
						
						
							
							vkd3d-shader/spirv: Fix the outer tessellation level indices for isoline tessellation.  
						
						... 
						
						
						
						For isoline tessellation, "density" is specified by OL0, and "detail" by OL1.
Based on a vkd3d-proton patch by Hans-Kristian Arntzen.
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org > 
						
						
					 
					
						2021-11-17 15:27:27 +01:00 
						 
				 
			
				
					
						
							
							
								Conor McCarthy 
							
						 
					 
					
						
						
							
						
						c41931c750 
					 
					
						
						
							
							vkd3d-shader/spirv: Handle arrayed builtin inputs.  
						
						... 
						
						
						
						Fixes invalid SPIR-V being generated in Monster Hunter: World.
Based on vkd3d-proton patches by Hans-Kristian Arntzen and Philip Rebohle.
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org > 
						
						
					 
					
						2021-11-17 15:27:19 +01:00 
						 
				 
			
				
					
						
							
							
								Conor McCarthy 
							
						 
					 
					
						
						
							
						
						9a1f6c7daf 
					 
					
						
						
							
							vkd3d-shader/spirv: Apply 'Patch' decorations to builtin patch constant inputs.  
						
						... 
						
						
						
						Prevents a crash in radv when such inputs are present.
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org > 
						
						
					 
					
						2021-11-17 15:27:15 +01:00 
						 
				 
			
				
					
						
							
							
								Philip Rebohle 
							
						 
					 
					
						
						
							
						
						45ccf85ae6 
					 
					
						
						
							
							vkd3d-shader/spirv: Ignore break instructions outside active blocks.  
						
						... 
						
						
						
						Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org > 
						
						
					 
					
						2021-11-08 22:39:55 +01:00 
						 
				 
			
				
					
						
							
							
								Philip Rebohle 
							
						 
					 
					
						
						
							
						
						4e398459b1 
					 
					
						
						
							
							vkd3d-shader/spirv: Omit the "endloop" branch to the loop start if the loop block was previously ended.  
						
						... 
						
						
						
						Avoiding generation of invalid SPIR-V.
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org > 
						
						
					 
					
						2021-11-08 22:39:51 +01:00 
						 
				 
			
				
					
						
							
							
								Conor McCarthy 
							
						 
					 
					
						
						
							
						
						4a2fbe54c0 
					 
					
						
						
							
							vkd3d-shader/spirv: Implement support for stencil export.  
						
						... 
						
						
						
						Based on a vkd3d-proton patch by Philip Rebohle.
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org > 
						
						
					 
					
						2021-10-18 18:37:00 +02:00 
						 
				 
			
				
					
						
							
							
								Conor McCarthy 
							
						 
					 
					
						
						
							
						
						e328d0b178 
					 
					
						
						
							
							vkd3d-shader/spirv: Implement support for descriptor array offsets.  
						
						... 
						
						
						
						Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org > 
						
						
					 
					
						2021-10-15 22:38:15 +02:00 
						 
				 
			
				
					
						
							
							
								Philip Rebohle 
							
						 
					 
					
						
						
							
						
						ea1b01b1f8 
					 
					
						
						
							
							vkd3d-shader/spirv: Implement texel offset support for sample_c instructions.  
						
						... 
						
						
						
						Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org > 
						
						
					 
					
						2021-10-15 22:38:15 +02:00 
						 
				 
			
				
					
						
							
							
								Conor McCarthy 
							
						 
					 
					
						
						
							
						
						85def272ae 
					 
					
						
						
							
							vkd3d-shader/spirv: Correctly handle bit shifts greater than 31 bits.  
						
						... 
						
						
						
						This is undefined behaviour in SPIR-V, but well-defined in Direct3D, so we
should explicitly 'and' the shift amount with 31.
Based on a vkd3d-proton patch by Philip Rebohle.
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org > 
						
						
					 
					
						2021-10-12 18:37:53 +02:00 
						 
				 
			
				
					
						
							
							
								Conor McCarthy 
							
						 
					 
					
						
						
							
						
						821bb0c5cf 
					 
					
						
						
							
							vkd3d-shader/spirv: Add non-uniform decorations.  
						
						... 
						
						
						
						Based in part on vkd3d-proton patches by Philip Rebohle and Hans-Kristian Arntzen.
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org > 
						
						
					 
					
						2021-10-11 21:25:22 +02:00 
						 
				 
			
				
					
						
							
							
								Henri Verbeet 
							
						 
					 
					
						
						
							
						
						18e838a1cc 
					 
					
						
						
							
							vkd3d-shader/sm4: Maintain the parser location in the vkd3d_shader_parser structure.  
						
						... 
						
						
						
						Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org > 
						
						
					 
					
						2021-10-05 15:34:21 +02:00 
						 
				 
			
				
					
						
							
							
								Zebediah Figura 
							
						 
					 
					
						
						
							
						
						75a1a24d63 
					 
					
						
						
							
							vkd3d-shader: Factor out a vkd3d_shader_trace_text() helper and use it in vkd3d_spirv_dump() (Valgrind).  
						
						... 
						
						
						
						Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org > 
						
						
					 
					
						2021-09-17 22:56:31 +02:00 
						 
				 
			
				
					
						
							
							
								Conor McCarthy 
							
						 
					 
					
						
						
							
						
						eb3d8c911c 
					 
					
						
						
							
							vkd3d-shader: Free the capabilities array on spirv builder destruction.  
						
						... 
						
						
						
						Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org > 
						
						
					 
					
						2021-09-08 17:41:01 +02:00 
						 
				 
			
				
					
						
							
							
								Conor McCarthy 
							
						 
					 
					
						
						
							
						
						f3c19dfedb 
					 
					
						
						
							
							vkd3d-shader: Implement UTOD instruction.  
						
						... 
						
						
						
						Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org > 
						
						
					 
					
						2021-08-12 17:44:36 +02:00 
						 
				 
			
				
					
						
							
							
								Conor McCarthy 
							
						 
					 
					
						
						
							
						
						3623a99cf6 
					 
					
						
						
							
							vkd3d-shader: Implement ITOD instruction.  
						
						... 
						
						
						
						Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org > 
						
						
					 
					
						2021-08-12 17:44:32 +02:00 
						 
				 
			
				
					
						
							
							
								Conor McCarthy 
							
						 
					 
					
						
						
							
						
						88c08df03b 
					 
					
						
						
							
							vkd3d-shader: Implement DTOU instruction.  
						
						... 
						
						
						
						Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org > 
						
						
					 
					
						2021-08-12 17:44:30 +02:00 
						 
				 
			
				
					
						
							
							
								Conor McCarthy 
							
						 
					 
					
						
						
							
						
						c61b573d9c 
					 
					
						
						
							
							vkd3d-shader: Implement DTOI instruction.  
						
						... 
						
						
						
						Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org > 
						
						
					 
					
						2021-08-12 17:44:26 +02:00 
						 
				 
			
				
					
						
							
							
								Conor McCarthy 
							
						 
					 
					
						
						
							
						
						580747b224 
					 
					
						
						
							
							vkd3d-shader: Implement DTOF instruction.  
						
						... 
						
						
						
						Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org > 
						
						
					 
					
						2021-08-12 17:44:22 +02:00 
						 
				 
			
				
					
						
							
							
								Conor McCarthy 
							
						 
					 
					
						
						
							
						
						821389d274 
					 
					
						
						
							
							vkd3d-shader: Implement FTOD instruction.  
						
						... 
						
						
						
						Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org > 
						
						
					 
					
						2021-08-12 17:44:18 +02:00 
						 
				 
			
				
					
						
							
							
								Zebediah Figura 
							
						 
					 
					
						
						
							
						
						ed7cdb3940 
					 
					
						
						
							
							vkd3d-shader: Introduce vkd3d_make_u{16, 32}() helpers.  
						
						... 
						
						
						
						Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org > 
						
						
					 
					
						2021-08-11 20:58:24 +02:00 
						 
				 
			
				
					
						
							
							
								Conor McCarthy 
							
						 
					 
					
						
						
							
						
						00752b8fa6 
					 
					
						
						
							
							vkd3d-shader: Implement DMOVC instruction.  
						
						... 
						
						
						
						Based in part on a vkd3d-proton patch by Joshua Ashton.
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org > 
						
						
					 
					
						2021-08-11 11:38:29 +02:00