mirror of
				https://gitlab.winehq.org/wine/vkd3d.git
				synced 2025-09-12 18:50:22 -07:00 
			
		
		
		
	vkd3d-shader/glsl: Implement VSIR_OP_SIN.
This commit is contained in:
		
				
				Notes:
				
					Henri Verbeet
				
				2025-08-28 20:32:38 +02:00 
			
			Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1696
| @@ -1635,6 +1635,9 @@ static void vkd3d_glsl_handle_instruction(struct vkd3d_glsl_generator *gen, | |||||||
|         case VSIR_OP_RSQ: |         case VSIR_OP_RSQ: | ||||||
|             shader_glsl_intrinsic(gen, ins, "inversesqrt"); |             shader_glsl_intrinsic(gen, ins, "inversesqrt"); | ||||||
|             break; |             break; | ||||||
|  |         case VSIR_OP_SIN: | ||||||
|  |             shader_glsl_intrinsic(gen, ins, "sin"); | ||||||
|  |             break; | ||||||
|         case VSIR_OP_SQRT: |         case VSIR_OP_SQRT: | ||||||
|             shader_glsl_intrinsic(gen, ins, "sqrt"); |             shader_glsl_intrinsic(gen, ins, "sqrt"); | ||||||
|             break; |             break; | ||||||
|   | |||||||
| @@ -13,7 +13,7 @@ float4 main(float tex : texcoord) : sv_target | |||||||
| } | } | ||||||
|  |  | ||||||
| [test] | [test] | ||||||
| todo(glsl | msl) draw quad | todo(msl) draw quad | ||||||
| probe ( 0, 0) rgba ( 0.00000000,  1.00000000,  0.00000000, 0.0) | probe ( 0, 0) rgba ( 0.00000000,  1.00000000,  0.00000000, 0.0) | ||||||
| probe ( 1, 0) rgba ( 0.84147098,  0.54030231,  1.55740772, 0.0) 1024 | probe ( 1, 0) rgba ( 0.84147098,  0.54030231,  1.55740772, 0.0) 1024 | ||||||
| probe ( 2, 0) rgba ( 0.90929743, -0.41614684, -2.18503986, 0.0) 1024 | probe ( 2, 0) rgba ( 0.90929743, -0.41614684, -2.18503986, 0.0) 1024 | ||||||
| @@ -42,7 +42,7 @@ float4 main() : sv_target | |||||||
|  |  | ||||||
| [test] | [test] | ||||||
| uniform 0 float4 0.0 0.52359877 2.61799387 3.14159265 | uniform 0 float4 0.0 0.52359877 2.61799387 3.14159265 | ||||||
| todo(glsl | msl) draw quad | todo(msl) draw quad | ||||||
| probe (0, 0) rgba (0.0, 500.0, 500.0, 0.0) | probe (0, 0) rgba (0.0, 500.0, 500.0, 0.0) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -72,7 +72,7 @@ float4 main() : sv_target | |||||||
| % tan(pi/2) is an asymtote and therefore undefined | % tan(pi/2) is an asymtote and therefore undefined | ||||||
| % so check 0, pi/4, 3pi/4, pi | % so check 0, pi/4, 3pi/4, pi | ||||||
| uniform 0 float4 0.0 0.78539816 2.35619449 3.14159265 | uniform 0 float4 0.0 0.78539816 2.35619449 3.14159265 | ||||||
| todo(glsl | msl) draw quad | todo(msl) draw quad | ||||||
| probe (0, 0) rgba (0, 1000, -1000.0, 0) | probe (0, 0) rgba (0, 1000, -1000.0, 0) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -140,10 +140,10 @@ float4 main() : sv_target | |||||||
|  |  | ||||||
| [test] | [test] | ||||||
| uniform 0 float4 7.604 0 0 0 | uniform 0 float4 7.604 0 0 0 | ||||||
| todo(glsl | msl) draw quad | todo(msl) draw quad | ||||||
| probe (0, 0) rgba (0.968916833, 0.2473865, 0, 0) 1024 | probe (0, 0) rgba (0.968916833, 0.2473865, 0, 0) 1024 | ||||||
| uniform 0 float4 -10.0 0 0 0 | uniform 0 float4 -10.0 0 0 0 | ||||||
| todo(glsl | msl) draw quad | todo(msl) draw quad | ||||||
| probe (0, 0) rgba (0.544020891, -0.839071631, 0.0, 0.0) 1024 | probe (0, 0) rgba (0.544020891, -0.839071631, 0.0, 0.0) 1024 | ||||||
|  |  | ||||||
| [pixel shader fail] | [pixel shader fail] | ||||||
| @@ -171,5 +171,5 @@ float4 main() : sv_target | |||||||
| } | } | ||||||
|  |  | ||||||
| [test] | [test] | ||||||
| todo(glsl | msl & sm<6) draw quad | todo(msl & sm<6) draw quad | ||||||
| probe (0, 0) rgba (0, 0, 0, 0); | probe (0, 0) rgba (0, 0, 0, 0); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user