tests: Add more tests for majority modifier syntax.

This commit is contained in:
Zebediah Figura 2022-03-29 16:50:33 -05:00 committed by Alexandre Julliard
parent 1c29b45c1f
commit 1ee7a4e82a
Notes: Alexandre Julliard 2023-02-20 22:45:26 +01:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Approved-by: Alexandre Julliard (@julliard)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/98
3 changed files with 109 additions and 18 deletions

View File

@ -117,6 +117,7 @@ vkd3d_shader_tests = \
tests/hlsl-vector-indexing.shader_test \
tests/hlsl-vector-indexing-uniform.shader_test \
tests/logic-operations.shader_test \
tests/majority-syntax.shader_test \
tests/math.shader_test \
tests/matrix-semantics.shader_test \
tests/max.shader_test \

View File

@ -86,15 +86,6 @@ uniform float4 main() : sv_target
return 0;
}
[pixel shader fail]
typedef row_major float4x4 matrix_t;
typedef column_major matrix_t matrix2_t;
float4 main() : sv_target
{
return 0;
}
[pixel shader fail]
float4 main()
{
@ -228,15 +219,6 @@ float4 main() : sv_target
return float4(0, 0, 0, 0);
}
[pixel shader fail]
typedef row_major float4x4 mat_t;
column_major mat_t m;
float4 main() : sv_target
{
return float4(0, 0, 0, 0);
}
[pixel shader fail]
typedef struct apple
{

View File

@ -0,0 +1,108 @@
[pixel shader]
typedef row_major float2x2 mat_t;
row_major mat_t m;
float4 main() : sv_target
{
return float4(m[0], m[1]);
}
[test]
uniform 0 float4 0.1 0.3 0.0 0.0
uniform 4 float4 0.2 0.4 0.0 0.0
draw quad
probe all rgba (0.1, 0.3, 0.2, 0.4)
[pixel shader fail]
row_major row_major float4x4 m;
float4 main() : sv_target
{
return float4(0, 0, 0, 0);
}
[pixel shader fail]
typedef row_major float4x4 mat_t;
column_major mat_t m;
float4 main() : sv_target
{
return float4(0, 0, 0, 0);
}
[pixel shader fail]
typedef row_major float4x4 matrix_t;
typedef column_major matrix_t matrix2_t;
float4 main() : sv_target
{
return 0;
}
[pixel shader fail]
typedef column_major float4 myfloat_t;
float4 main() : sv_target
{
return 0;
}
[pixel shader fail todo]
column_major float4 f;
float4 main() : sv_target
{
return 0;
}
[pixel shader fail]
struct apple
{
float4x4 m;
};
typedef column_major struct apple apple_t;
float4 main() : sv_target
{
return 0;
}
[pixel shader fail todo]
struct apple
{
float4x4 m;
};
column_major struct apple a;
float4 main() : sv_target
{
return 0;
}
[pixel shader fail todo]
typedef float4x4 myarray_t[2];
row_major myarray_t a;
float4 main() : sv_target
{
return 0;
}
[pixel shader fail todo]
float4 main(uniform row_major float4 f) : sv_target
{
return 0;
}
[pixel shader fail todo]
struct apple
{
row_major float4 f;
};
float4 main() : sv_target
{
return 0;
}