mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-01-28 13:05:02 -08:00
tests: Test bool semantics.
This commit is contained in:
parent
8b4e70dfee
commit
3cce4e70e9
Notes:
Alexandre Julliard
2023-05-01 22:25:00 +02:00
Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Francisco Casas (@fcasas) Approved-by: Henri Verbeet (@hverbeet) Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/177
@ -53,6 +53,7 @@ vkd3d_shader_tests = \
|
||||
tests/array-parameters.shader_test \
|
||||
tests/asuint.shader_test \
|
||||
tests/bitwise.shader_test \
|
||||
tests/bool-semantics.shader_test \
|
||||
tests/cast-broadcast.shader_test \
|
||||
tests/cast-componentwise-compatible.shader_test \
|
||||
tests/cast-componentwise-equal.shader_test \
|
||||
|
53
tests/bool-semantics.shader_test
Normal file
53
tests/bool-semantics.shader_test
Normal file
@ -0,0 +1,53 @@
|
||||
[require]
|
||||
shader model >= 4.0
|
||||
|
||||
[input layout]
|
||||
0 r32g32b32a32 uint apple
|
||||
0 r32g32 int sv_position
|
||||
|
||||
[vertex buffer 0]
|
||||
format r32 uint
|
||||
0 1 0x80000000 0xffffffff -2 -2
|
||||
0 1 0x80000000 0xffffffff -2 2
|
||||
0 1 0x80000000 0xffffffff 2 -2
|
||||
0 1 0x80000000 0xffffffff 2 2
|
||||
|
||||
[vertex shader]
|
||||
|
||||
struct input
|
||||
{
|
||||
bool4 apple : apple;
|
||||
int4 pos : sv_position;
|
||||
};
|
||||
|
||||
struct output
|
||||
{
|
||||
bool4 apple : apple;
|
||||
int4 fapple : apple1;
|
||||
float4 pos : sv_position;
|
||||
};
|
||||
|
||||
void main(in struct input i, out struct output o, uint id : SV_VertexID)
|
||||
{
|
||||
o.apple = i.apple;
|
||||
o.fapple = i.apple;
|
||||
o.pos = i.pos;
|
||||
}
|
||||
|
||||
[pixel shader]
|
||||
|
||||
struct input
|
||||
{
|
||||
bool4 apple : apple;
|
||||
int4 fapple : apple1;
|
||||
float4 pos : sv_position;
|
||||
};
|
||||
|
||||
float4 main(struct input i) : sv_target
|
||||
{
|
||||
return i.apple + i.fapple;
|
||||
}
|
||||
|
||||
[test]
|
||||
draw triangle strip 4
|
||||
todo probe all rgba (0.0, 2.0, 2.0, 2.0)
|
@ -152,7 +152,9 @@ static DXGI_FORMAT parse_format(const char *line, enum texture_data_type *data_t
|
||||
formats[] =
|
||||
{
|
||||
{"r32g32b32a32 float", TEXTURE_DATA_FLOAT, 16, DXGI_FORMAT_R32G32B32A32_FLOAT},
|
||||
{"r32g32b32a32 uint", TEXTURE_DATA_UINT, 16, DXGI_FORMAT_R32G32B32A32_UINT},
|
||||
{"r32g32 float", TEXTURE_DATA_FLOAT, 8, DXGI_FORMAT_R32G32_FLOAT},
|
||||
{"r32g32 int", TEXTURE_DATA_SINT, 8, DXGI_FORMAT_R32G32_SINT},
|
||||
{"r32g32 uint", TEXTURE_DATA_UINT, 8, DXGI_FORMAT_R32G32_UINT},
|
||||
{"r32 float", TEXTURE_DATA_FLOAT, 4, DXGI_FORMAT_R32_FLOAT},
|
||||
{"r32 sint", TEXTURE_DATA_SINT, 4, DXGI_FORMAT_R32_SINT},
|
||||
@ -270,11 +272,11 @@ static void parse_resource_directive(struct resource_params *resource, const cha
|
||||
break;
|
||||
|
||||
case TEXTURE_DATA_SINT:
|
||||
u.i = strtol(line, &rest, 10);
|
||||
u.i = strtol(line, &rest, 0);
|
||||
break;
|
||||
|
||||
case TEXTURE_DATA_UINT:
|
||||
u.u = strtoul(line, &rest, 10);
|
||||
u.u = strtoul(line, &rest, 0);
|
||||
break;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user