Elizabeth Figura 
							
						 
					 
					
						
						
							
						
						d053f3665d 
					 
					
						
						
							
							vkd3d-shader/hlsl: Pass a block to hlsl_new_void_expr().  
						
						
						
						
					 
					
						2025-03-03 17:48:03 +01:00 
						 
				 
			
				
					
						
							
							
								Elizabeth Figura 
							
						 
					 
					
						
						
							
						
						662d60ad6b 
					 
					
						
						
							
							vkd3d-shader/hlsl: Add a hlsl_block_add_expr() helper.  
						
						
						
						
					 
					
						2025-03-03 17:48:03 +01:00 
						 
				 
			
				
					
						
							
							
								Francisco Casas 
							
						 
					 
					
						
						
							
						
						7cb1970952 
					 
					
						
						
							
							vkd3d-shader/hlsl: Don't cast all expressions to float.  
						
						... 
						
						
						
						Instead, allow half, bool, int, and uint, expressions that map to the
same float op to reach sm1_generate_vsir_instr_expr(). 
						
						
					 
					
						2025-03-03 17:26:15 +01:00 
						 
				 
			
				
					
						
							
							
								Elizabeth Figura 
							
						 
					 
					
						
						
							
						
						2989373212 
					 
					
						
						
							
							vkd3d-shader/hlsl: Add a hlsl_block_add_binary_expr() helper.  
						
						
						
						
					 
					
						2025-02-24 16:19:07 +01:00 
						 
				 
			
				
					
						
							
							
								Elizabeth Figura 
							
						 
					 
					
						
						
							
						
						858b6a3e0b 
					 
					
						
						
							
							vkd3d-shader/hlsl: Add a hlsl_block_add_cast() helper.  
						
						
						
						
					 
					
						2025-02-24 16:19:07 +01:00 
						 
				 
			
				
					
						
							
							
								Elizabeth Figura 
							
						 
					 
					
						
						
							
						
						2e09257d94 
					 
					
						
						
							
							vkd3d-shader/hlsl: Add a hlsl_block_add_unary_expr() helper.  
						
						
						
						
					 
					
						2025-02-24 16:19:07 +01:00 
						 
				 
			
				
					
						
							
							
								Elizabeth Figura 
							
						 
					 
					
						
						
							
						
						b7ea23303e 
					 
					
						
						
							
							vkd3d-shader/hlsl: Add a hlsl_block_add_float_constant() helper.  
						
						
						
						
					 
					
						2025-02-24 16:19:07 +01:00 
						 
				 
			
				
					
						
							
							
								Elizabeth Figura 
							
						 
					 
					
						
						
							
						
						d5a2ff5c12 
					 
					
						
						
							
							vkd3d-shader/hlsl: Add a hlsl_block_add_int_constant() helper.  
						
						
						
						
					 
					
						2025-02-20 15:56:31 +01:00 
						 
				 
			
				
					
						
							
							
								Elizabeth Figura 
							
						 
					 
					
						
						
							
						
						992d20def3 
					 
					
						
						
							
							vkd3d-shader/hlsl: Add a hlsl_block_add_uint_constant() helper.  
						
						
						
						
					 
					
						2025-02-20 15:50:13 +01:00 
						 
				 
			
				
					
						
							
							
								Francisco Casas 
							
						 
					 
					
						
						
							
						
						321fda9c26 
					 
					
						
						
							
							vkd3d-shader/hlsl: Only use the temp copy for variables that are written.  
						
						... 
						
						
						
						This can save a significant amount of temp registers because it allows to
avoid referencing the temp (and having to store it) when not needed.
For instance, this patch lowers the number of required temps for the
following ps_2_0 shader from 24 to 19:
    int i;
    float3x3 mats[4];
    float4 main() : sv_target
    {
        return mul(mats[i], float3(1, 2, 3)).xyzz;
    }
Also, it is needed for SM1 vertex shader relative addressing since
non-constant loads are required to be directly on the uniform ('c'
registers) instead of the temp, and non-constant loads cannot be
transformed by copy propagation. 
						
						
					 
					
						2025-02-20 15:44:09 +01:00 
						 
				 
			
				
					
						
							
							
								Shaun Ren 
							
						 
					 
					
						
						
							
						
						f5d216835a 
					 
					
						
						
							
							vkd3d-shader/hlsl: Add an "is_patch_constant_func" field to struct hlsl_ctx.  
						
						... 
						
						
						
						In anticipation of the need for is_patch_constant_func in
sm4_generate_vsir_reg_from_deref(), in order to generate vsir
registers from InputPatch/OutputPatch dereferences. 
						
						
					 
					
						2025-02-03 16:00:38 +01:00 
						 
				 
			
				
					
						
							
							
								Elizabeth Figura 
							
						 
					 
					
						
						
							
						
						fbd17266cf 
					 
					
						
						
							
							vkd3d-shader/hlsl: Do not abort on variable redefinition.  
						
						... 
						
						
						
						There is no harm in defining two variables with the same name. 
						
						
					 
					
						2025-01-29 17:58:00 +01:00 
						 
				 
			
				
					
						
							
							
								Elizabeth Figura 
							
						 
					 
					
						
						
							
						
						2863d86bcc 
					 
					
						
						
							
							vkd3d-shader/hlsl: Do not define a separate scope for function parameters.  
						
						... 
						
						
						
						Remove the no longer needed code to detect redefinition in this case. 
						
						
					 
					
						2025-01-29 17:58:00 +01:00 
						 
				 
			
				
					
						
							
							
								Shaun Ren 
							
						 
					 
					
						
						
							
						
						f064a4022a 
					 
					
						
						
							
							vkd3d-shader/hlsl: Validate and record InputPatch/OutputPatch types.  
						
						
						
						
					 
					
						2025-01-29 17:45:46 +01:00 
						 
				 
			
				
					
						
							
							
								Shaun Ren 
							
						 
					 
					
						
						
							
						
						f4d5e05d96 
					 
					
						
						
							
							vkd3d-shader/hlsl: Parse InputPatch and OutputPatch objects.  
						
						
						
						
					 
					
						2025-01-29 17:41:51 +01:00 
						 
				 
			
				
					
						
							
							
								Shaun Ren 
							
						 
					 
					
						
						
							
						
						802d7317cb 
					 
					
						
						
							
							vkd3d-shader/hlsl: Implement the InterlockedXor() intrinsic.  
						
						
						
						
					 
					
						2025-01-20 15:42:45 +01:00 
						 
				 
			
				
					
						
							
							
								Shaun Ren 
							
						 
					 
					
						
						
							
						
						cbd504e888 
					 
					
						
						
							
							vkd3d-shader/hlsl: Implement the InterlockedOr() intrinsic.  
						
						
						
						
					 
					
						2025-01-20 15:42:45 +01:00 
						 
				 
			
				
					
						
							
							
								Shaun Ren 
							
						 
					 
					
						
						
							
						
						5b9634a7b7 
					 
					
						
						
							
							vkd3d-shader/hlsl: Implement the InterlockedMin() intrinsic.  
						
						
						
						
					 
					
						2025-01-20 15:42:43 +01:00 
						 
				 
			
				
					
						
							
							
								Shaun Ren 
							
						 
					 
					
						
						
							
						
						63fbe161f2 
					 
					
						
						
							
							vkd3d-shader/hlsl: Implement the InterlockedMax() intrinsic.  
						
						
						
						
					 
					
						2025-01-20 15:42:07 +01:00 
						 
				 
			
				
					
						
							
							
								Shaun Ren 
							
						 
					 
					
						
						
							
						
						b447fdce51 
					 
					
						
						
							
							vkd3d-shader/hlsl: Implement the InterlockedExchange() intrinsic.  
						
						
						
						
					 
					
						2025-01-20 15:41:07 +01:00 
						 
				 
			
				
					
						
							
							
								Shaun Ren 
							
						 
					 
					
						
						
							
						
						22ab08f4d8 
					 
					
						
						
							
							vkd3d-shader/hlsl: Implement the InterlockedCompareExchange() intrinsic.  
						
						
						
						
					 
					
						2025-01-20 15:41:07 +01:00 
						 
				 
			
				
					
						
							
							
								Shaun Ren 
							
						 
					 
					
						
						
							
						
						3b19a4aaf3 
					 
					
						
						
							
							vkd3d-shader/hlsl: Implement the InterlockedAnd() intrinsic.  
						
						
						
						
					 
					
						2025-01-20 15:41:07 +01:00 
						 
				 
			
				
					
						
							
							
								Shaun Ren 
							
						 
					 
					
						
						
							
						
						660a71ef22 
					 
					
						
						
							
							vkd3d-shader/hlsl: Implement the InterlockedAdd() intrinsic.  
						
						
						
						
					 
					
						2025-01-20 15:40:34 +01:00 
						 
				 
			
				
					
						
							
							
								Nikolay Sivov 
							
						 
					 
					
						
						
							
						
						a082daeb56 
					 
					
						
						
							
							vkd3d-shader/hlsl: Implement the isinf() intrinsic.  
						
						... 
						
						
						
						Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com > 
						
						
					 
					
						2025-01-16 19:25:02 +01:00 
						 
				 
			
				
					
						
							
							
								Henri Verbeet 
							
						 
					 
					
						
						
							
						
						4227858cfe 
					 
					
						
						
							
							vkd3d-shader/hlsl: Move RDEF generation to hlsl_codegen.c.  
						
						
						
						
					 
					
						2025-01-10 20:03:14 +01:00