mirror of
				https://gitlab.winehq.org/wine/vkd3d.git
				synced 2025-09-12 18:50:22 -07:00 
			
		
		
		
	
		
			
				
	
	
		
			317 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			317 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| [pixel shader fail]
 | |
| struct apple
 | |
| {
 | |
|     float3 aa;
 | |
|     float bb;
 | |
| };
 | |
| 
 | |
| float4 main() : sv_target
 | |
| {
 | |
|     float4 f = {1, 2, 3, 4};
 | |
|     struct apple a;
 | |
| 
 | |
|     a = f;
 | |
|     return a.aa.xyzx;
 | |
| }
 | |
| 
 | |
| 
 | |
| [pixel shader fail]
 | |
| struct apple
 | |
| {
 | |
|     float aa;
 | |
|     float bb;
 | |
| };
 | |
| 
 | |
| float4 main() : sv_target
 | |
| {
 | |
|     struct apple a = {1, 2};
 | |
|     float2 f;
 | |
| 
 | |
|     f = a;
 | |
|     return f.xyxy;
 | |
| }
 | |
| 
 | |
| 
 | |
| [pixel shader]
 | |
| struct apple
 | |
| {
 | |
|     float3 aa;
 | |
|     float bb;
 | |
| };
 | |
| 
 | |
| float4 main() : sv_target
 | |
| {
 | |
|     float f[4] = {1, 2, 3, 4};
 | |
|     struct apple a;
 | |
| 
 | |
|     a = f;
 | |
|     return a.aa.xyzx;
 | |
| }
 | |
| 
 | |
| 
 | |
| [test]
 | |
| draw quad
 | |
| probe all rgba (1.0, 2.0, 3.0, 1.0)
 | |
| 
 | |
| 
 | |
| [pixel shader fail]
 | |
| struct apple
 | |
| {
 | |
|     float3 aa;
 | |
|     int bb;
 | |
| };
 | |
| 
 | |
| float4 main() : sv_target
 | |
| {
 | |
|     float f[4] = {1, 2, 3, 4};
 | |
|     struct apple a;
 | |
| 
 | |
|     a = f;
 | |
|     return a.aa.xyzx;
 | |
| }
 | |
| 
 | |
| 
 | |
| [pixel shader]
 | |
| struct apple
 | |
| {
 | |
|     float3 aa;
 | |
|     float bb;
 | |
| };
 | |
| 
 | |
| float4 main() : sv_target
 | |
| {
 | |
|     struct apple a = {5, 6, 7, 8};
 | |
|     float f[4];
 | |
| 
 | |
|     f = a;
 | |
|     return float4(f);
 | |
| }
 | |
| 
 | |
| 
 | |
| [test]
 | |
| draw quad
 | |
| probe all rgba (5.0, 6.0, 7.0, 8.0)
 | |
| 
 | |
| 
 | |
| [pixel shader]
 | |
| Texture2D tex;
 | |
| 
 | |
| struct apple
 | |
| {
 | |
|     int2 aa;
 | |
|     Texture2D bb;
 | |
|     float cc;
 | |
| };
 | |
| 
 | |
| struct banana
 | |
| {
 | |
|     int aa[2];
 | |
|     Texture2D bb;
 | |
|     float cc;
 | |
| };
 | |
| 
 | |
| float4 main() : sv_target
 | |
| {
 | |
|     struct apple a = {1, 2, tex, 4};
 | |
|     struct banana b;
 | |
| 
 | |
|     b = a;
 | |
|     return b.cc;
 | |
| }
 | |
| 
 | |
| [test]
 | |
| draw quad
 | |
| probe all rgba (4.0, 4.0, 4.0, 4.0)
 | |
| 
 | |
| 
 | |
| [pixel shader]
 | |
| Texture2D tex;
 | |
| 
 | |
| struct apple
 | |
| {
 | |
|     int2 aa;
 | |
|     Texture2D bb;
 | |
|     float cc;
 | |
| };
 | |
| 
 | |
| struct banana
 | |
| {
 | |
|     int aa[2];
 | |
|     Texture2D bb;
 | |
|     float cc;
 | |
| };
 | |
| 
 | |
| float4 fun(struct banana b)
 | |
| {
 | |
|     return b.cc;
 | |
| }
 | |
| 
 | |
| float4 main() : sv_target
 | |
| {
 | |
|     struct apple a = {1, 2, tex, 5};
 | |
| 
 | |
|     return fun(a);
 | |
| }
 | |
| 
 | |
| [test]
 | |
| draw quad
 | |
| probe all rgba (5.0, 5.0, 5.0, 5.0)
 | |
| 
 | |
| 
 | |
| [pixel shader]
 | |
| struct apple
 | |
| {
 | |
|     float3 xx[2];
 | |
|     int4 yy;
 | |
| };
 | |
| 
 | |
| struct banana
 | |
| {
 | |
|     struct apple apples[2];
 | |
|     int3 bb[2];
 | |
|     int4 cc[3];
 | |
| };
 | |
| 
 | |
| struct cherry
 | |
| {
 | |
|     int2 xx;
 | |
|     int yy[3];
 | |
| };
 | |
| 
 | |
| struct donut
 | |
| {
 | |
|     float4 aa;
 | |
|     float2 bb;
 | |
|     int cc[4];
 | |
|     float dd[6];
 | |
|     struct cherry cherries[4];
 | |
|     int2 ee;
 | |
| };
 | |
| 
 | |
| float4 main() : sv_target
 | |
| {
 | |
|     struct banana b = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
 | |
|             21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37};
 | |
|     struct donut d;
 | |
| 
 | |
|     d = b;
 | |
|     return d.aa + d.cherries[3].yy[2] + d.ee.xyxx;
 | |
| }
 | |
| 
 | |
| [test]
 | |
| draw quad
 | |
| probe all rgba (71.0, 73.0, 73.0, 74.0)
 | |
| 
 | |
| 
 | |
| [pixel shader fail]
 | |
| struct apple
 | |
| {
 | |
|     float3 aa;
 | |
|     int bb;
 | |
| };
 | |
| 
 | |
| struct banana
 | |
| {
 | |
|     float3 aa;
 | |
|     float bb;
 | |
| };
 | |
| 
 | |
| float4 main() : sv_target
 | |
| {
 | |
|     struct apple a = {1, 2, 3, 4};
 | |
|     struct banana b;
 | |
| 
 | |
|     b = a;
 | |
|     return b.bb;
 | |
| }
 | |
| 
 | |
| 
 | |
| [pixel shader fail]
 | |
| float main() : SV_TARGET
 | |
| {
 | |
|     float arr[3] = {1, 2, 3};
 | |
|     float v;
 | |
| 
 | |
|     v = arr;
 | |
|     return 0;
 | |
| }
 | |
| 
 | |
| 
 | |
| [pixel shader fail]
 | |
| float main() : SV_TARGET
 | |
| {
 | |
|     float2 arr[3] = {1, 2, 3, 4, 5, 6};
 | |
|     float2 vec;
 | |
| 
 | |
|     vec = arr;
 | |
|     return 0;
 | |
| }
 | |
| 
 | |
| 
 | |
| [pixel shader fail]
 | |
| float4 main() : SV_TARGET
 | |
| {
 | |
|     int arr1[4] = {1, 2, 3, 4};
 | |
|     float arr2[4];
 | |
| 
 | |
|     arr2 = arr1;
 | |
|     return 0;
 | |
| }
 | |
| 
 | |
| 
 | |
| [pixel shader fail]
 | |
| float4 main() : SV_TARGET
 | |
| {
 | |
|     float2x2 mat = {1, 2, 3, 4};
 | |
|     float3 vec;
 | |
| 
 | |
|     vec = mat;
 | |
|     return 0;
 | |
| }
 | |
| 
 | |
| 
 | |
| [pixel shader fail]
 | |
| float4 main() : SV_TARGET
 | |
| {
 | |
|     float4 f = {1, 2, 3, 4};
 | |
|     float arr[4];
 | |
| 
 | |
|     arr = f;
 | |
|     return 0;
 | |
| }
 | |
| 
 | |
| 
 | |
| [pixel shader fail]
 | |
| float4 main() : SV_TARGET
 | |
| {
 | |
|     float arr[4] = {1, 2, 3, 4};
 | |
|     float4 f;
 | |
| 
 | |
|     f = arr;
 | |
|     return 0;
 | |
| }
 | |
| 
 | |
| 
 | |
| [pixel shader fail]
 | |
| float4 main() : SV_TARGET
 | |
| {
 | |
|     float3x2 mat1 = {1, 2, 3, 4, 5, 6};
 | |
|     float2x3 mat2;
 | |
| 
 | |
|     mat2 = mat1;
 | |
|     return 0;
 | |
| }
 | |
| 
 | |
| 
 | |
| [pixel shader fail]
 | |
| struct apple {
 | |
|     float aa;
 | |
| };
 | |
| 
 | |
| float4 main() : SV_TARGET
 | |
| {
 | |
|     struct apple a = 3.0;
 | |
| 
 | |
|     return 0;
 | |
| }
 |