mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
vkd3d-shader/hlsl: Implement the ByteAddressBuffer.Load*() methods.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
This commit is contained in:
committed by
Henri Verbeet
parent
1a28e7d9c6
commit
e5ba79b4f1
Notes:
Henri Verbeet
2024-11-06 23:01:27 +01:00
Approved-by: Elizabeth Figura (@zfigura) Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1245
56
tests/hlsl/srv-byteaddressbuffer.shader_test
Normal file
56
tests/hlsl/srv-byteaddressbuffer.shader_test
Normal file
@@ -0,0 +1,56 @@
|
||||
[require]
|
||||
shader model >= 4.0
|
||||
|
||||
[rtv 0]
|
||||
format r32g32b32a32-uint
|
||||
size (2d, 32, 32)
|
||||
|
||||
[srv 0]
|
||||
format r32-typeless
|
||||
size (raw_buffer, 4)
|
||||
|
||||
1 2 3 4
|
||||
|
||||
[pixel shader]
|
||||
ByteAddressBuffer t;
|
||||
uint offset;
|
||||
uint count;
|
||||
|
||||
uint4 main() : sv_target
|
||||
{
|
||||
if (count == 1)
|
||||
return uint4(t.Load(offset), 0xa, 0xb, 0xc);
|
||||
if (count == 2)
|
||||
return uint4(t.Load2(offset), 0xd, 0xe);
|
||||
if (count == 3)
|
||||
return uint4(t.Load3(offset), 0xf);
|
||||
if (count == 4)
|
||||
return t.Load4(offset);
|
||||
return 0;
|
||||
}
|
||||
|
||||
[test]
|
||||
uniform 0 uint4 0 1 0 0
|
||||
todo(msl | glsl) draw quad
|
||||
probe (0, 0) rgbaui(0x1, 0xa, 0xb, 0xc)
|
||||
uniform 0 uint4 4 1 0 0
|
||||
todo(msl | glsl) draw quad
|
||||
probe (0, 0) rgbaui(0x2, 0xa, 0xb, 0xc)
|
||||
uniform 0 uint4 0 2 0 0
|
||||
todo(msl | glsl) draw quad
|
||||
probe (0, 0) rgbaui(0x1, 0x2, 0xd, 0xe)
|
||||
uniform 0 uint4 4 2 0 0
|
||||
todo(msl | glsl) draw quad
|
||||
probe (0, 0) rgbaui(0x2, 0x3, 0xd, 0xe)
|
||||
uniform 0 uint4 0 3 0 0
|
||||
todo(msl | glsl) draw quad
|
||||
probe (0, 0) rgbaui(0x1, 0x2, 0x3, 0xf)
|
||||
uniform 0 uint4 4 3 0 0
|
||||
todo(msl | glsl) draw quad
|
||||
probe (0, 0) rgbaui(0x2, 0x3, 0x4, 0xf)
|
||||
uniform 0 uint4 0 4 0 0
|
||||
todo(msl | glsl) draw quad
|
||||
probe (0, 0) rgbaui(0x1, 0x2, 0x3, 0x4)
|
||||
uniform 0 uint4 4 4 0 0
|
||||
todo(msl | glsl) draw quad
|
||||
probe (0, 0) rgbaui(0x2, 0x3, 0x4, 0x0)
|
Reference in New Issue
Block a user