tests: Add some tests for rasteriser-ordered views.

This commit is contained in:
Evan Tang
2023-10-13 16:35:12 -05:00
committed by Alexandre Julliard
parent f614d98759
commit 628acb6b96
Notes: Alexandre Julliard 2024-02-14 23:28:07 +01:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Alexandre Julliard (@julliard)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/651
12 changed files with 421 additions and 0 deletions

View File

@@ -181,6 +181,24 @@ float4 main() : sv_target1
return 0;
}
% RasterizerOrderedTexture1D types
[pixel shader todo]
struct s
{
float3 a;
};
RasterizerOrderedTexture1D<float4> u : register(u2);
RasterizerOrderedTexture1D<float> u1;
RasterizerOrderedTexture1D<float2x2> u2;
RasterizerOrderedTexture1D<struct s> u3;
float4 main() : sv_target1
{
u[0] = float4(11.1, 12.2, 13.3, 14.4);
return 0;
}
% RWTexture1DArray types
[pixel shader]
struct s
@@ -199,6 +217,24 @@ float4 main() : sv_target1
return 0;
}
% RasterizerOrderedTexture1DArray types
[pixel shader todo]
struct s
{
float3 a;
};
RasterizerOrderedTexture1DArray<float4> u : register(u2);
RasterizerOrderedTexture1DArray<float> u1;
RasterizerOrderedTexture1DArray<float2x2> u2;
RasterizerOrderedTexture1DArray<struct s> u3;
float4 main() : sv_target1
{
u[int2(0, 0)] = float4(11.1, 12.2, 13.3, 14.4);
return 0;
}
% RWTexture2D types
[pixel shader]
struct s
@@ -217,6 +253,24 @@ float4 main() : sv_target1
return 0;
}
% RasterizerOrderedTexture2D types
[pixel shader todo]
struct s
{
float3 a;
};
RasterizerOrderedTexture2D<float4> u : register(u2);
RasterizerOrderedTexture2D<float> u1;
RasterizerOrderedTexture2D<float2x2> u2;
RasterizerOrderedTexture2D<struct s> u3;
float4 main() : sv_target1
{
u[int2(0, 0)] = float4(11.1, 12.2, 13.3, 14.4);
return 0;
}
% RWTexture2DArray types
[pixel shader]
struct s
@@ -235,6 +289,24 @@ float4 main() : sv_target1
return 0;
}
% RasterizerOrderedTexture2DArray types
[pixel shader todo]
struct s
{
float3 a;
};
RasterizerOrderedTexture2DArray<float4> u : register(u2);
RasterizerOrderedTexture2DArray<float> u1;
RasterizerOrderedTexture2DArray<float2x2> u2;
RasterizerOrderedTexture2DArray<struct s> u3;
float4 main() : sv_target1
{
u[int3(0, 0, 0)] = float4(11.1, 12.2, 13.3, 14.4);
return 0;
}
% RWTexture3D types
[pixel shader]
struct s
@@ -253,6 +325,24 @@ float4 main() : sv_target1
return 0;
}
% RasterizerOrderedTexture3D types
[pixel shader todo]
struct s
{
float3 a;
};
RasterizerOrderedTexture3D<float4> u : register(u2);
RasterizerOrderedTexture3D<float> u1;
RasterizerOrderedTexture3D<float2x2> u2;
RasterizerOrderedTexture3D<struct s> u3;
float4 main() : sv_target1
{
u[int3(0, 0, 0)] = float4(11.1, 12.2, 13.3, 14.4);
return 0;
}
[require]
shader model >= 5.0
@@ -316,6 +406,14 @@ float4 main() : sv_target1
return 0;
}
[pixel shader fail]
RasterizerOrderedTexture1D<Texture2D> u;
float4 main() : sv_target1
{
return 0;
}
[pixel shader fail]
RWTexture1DArray<Texture2D> u;
@@ -324,6 +422,14 @@ float4 main() : sv_target1
return 0;
}
[pixel shader fail]
RasterizerOrderedTexture1DArray<Texture2D> u;
float4 main() : sv_target1
{
return 0;
}
[pixel shader fail]
RWTexture2D<Texture2D> u;
@@ -332,6 +438,14 @@ float4 main() : sv_target1
return 0;
}
[pixel shader fail]
RasterizerOrderedTexture2D<Texture2D> u;
float4 main() : sv_target1
{
return 0;
}
[pixel shader fail]
RWTexture2DArray<Texture2D> u;
@@ -340,6 +454,14 @@ float4 main() : sv_target1
return 0;
}
[pixel shader fail]
RasterizerOrderedTexture2DArray<Texture2D> u;
float4 main() : sv_target1
{
return 0;
}
[pixel shader fail]
RWTexture3D<Texture2D> u;
@@ -348,6 +470,14 @@ float4 main() : sv_target1
return 0;
}
[pixel shader fail]
RasterizerOrderedTexture3D<Texture2D> u;
float4 main() : sv_target1
{
return 0;
}
[pixel shader fail]
struct s
{
@@ -367,6 +497,19 @@ struct s
Texture2D t;
};
RasterizerOrderedTexture1D<struct s> u;
float4 main() : sv_target1
{
return 0;
}
[pixel shader fail]
struct s
{
Texture2D t;
};
RWTexture1DArray<struct s> u;
float4 main() : sv_target1
@@ -380,6 +523,19 @@ struct s
Texture2D t;
};
RasterizerOrderedTexture1DArray<struct s> u;
float4 main() : sv_target1
{
return 0;
}
[pixel shader fail]
struct s
{
Texture2D t;
};
RWTexture2D<struct s> u;
float4 main() : sv_target1
@@ -393,6 +549,19 @@ struct s
Texture2D t;
};
RasterizerOrderedTexture2D<struct s> u;
float4 main() : sv_target1
{
return 0;
}
[pixel shader fail]
struct s
{
Texture2D t;
};
RWTexture2DArray<struct s> u;
float4 main() : sv_target1
@@ -406,9 +575,35 @@ struct s
Texture2D t;
};
RasterizerOrderedTexture2DArray<struct s> u;
float4 main() : sv_target1
{
return 0;
}
[pixel shader fail]
struct s
{
Texture2D t;
};
RWTexture3D<struct s> u;
float4 main() : sv_target1
{
return 0;
}
[pixel shader fail]
struct s
{
Texture2D t;
};
RasterizerOrderedTexture3D<struct s> u;
float4 main() : sv_target1
{
return 0;
}