tests/hlsl: Add more tests for struct syntax.

This commit is contained in:
Elizabeth Figura
2025-05-13 12:36:01 -05:00
committed by Henri Verbeet
parent 5ad2e7ee6d
commit 8ca50a2f7e
Notes: Henri Verbeet 2025-05-14 15:29:22 +02:00
Approved-by: Francisco Casas (@fcasas)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1500
3 changed files with 65 additions and 15 deletions

View File

@@ -264,6 +264,7 @@ vkd3d_shader_tests = \
tests/hlsl/struct-assignment.shader_test \
tests/hlsl/struct-inheritance.shader_test \
tests/hlsl/struct-semantics.shader_test \
tests/hlsl/struct-syntax.shader_test \
tests/hlsl/switch.shader_test \
tests/hlsl/swizzle-constant-prop.shader_test \
tests/hlsl/swizzle-matrix.shader_test \

View File

@@ -33,13 +33,6 @@ float4 main() : sv_target
return x;
}
[pixel shader fail]
float4 main() : sv_target
{
struct {} x = {};
return x;
}
[pixel shader fail]
float4 main(float2 pos : TEXCOORD0) : sv_target
{
@@ -118,14 +111,6 @@ float4 main(float4 i) : sv_target
return 0;
}
[pixel shader fail]
struct {float4 a;};
float4 main() : sv_target
{
return 0;
}
[pixel shader fail(sm<6)]
float4 main() : sv_target
{

View File

@@ -0,0 +1,64 @@
[pixel shader]
struct apple
{
float4 f;
} a;
struct apple b;
apple c;
struct
{
float4 f;
} d;
float4 main() : sv_target
{
return a.f + b.f + c.f + d.f;
}
[pixel shader fail]
float4 main() : sv_target
{
struct {} x = {};
return x;
}
[pixel shader fail]
struct
{
float4 a;
};
float4 main() : sv_target
{
return 0;
}
[pixel shader fail todo(sm<6)]
struct apple
{
float4 f;
};
typedef struct apple myapple;
struct myapple a;
float4 main() : sv_target
{
return 0;
}
[pixel shader fail]
struct float4 a;
float4 main() : sv_target
{
return 0;
}
[pixel shader fail]
typedef float myfloat;
struct myfloat a;
float4 main() : sv_target
{
return 0;
}