Francisco Casas
11e7265815
vkd3d-shader/spirv: Throw compiler error on unrecognized register.
...
This codepath path is currently triggered when transpiling d3dbc shaders
that use vPos (or other of these special registers).
While vPos gets added to the input signature and gets assigned an INPUT
register, the registers in the shader instructions are still of
VKD3DSPR_MISCTYPE type and are not propperly mapped yet. This gives
invalid results.
Some SM1 tests must be set back to "todo" but they only work because, by
coincidence, we are assigning vPos the input register with index 0.
Propper mapping of these registers is still required.
2024-03-27 22:37:15 +01:00
Zebediah Figura
172cb75872
vkd3d-shader/spirv: Implement VKD3DSIH_ABS.
2024-03-27 22:37:10 +01:00
Francisco Casas
9a222d2be1
vkd3d-shader/d3dbc: Implement HLSL_OP2_LOGIC_AND for SM1.
2024-03-27 22:37:09 +01:00
Francisco Casas
90e8a541fb
tests: Add tests for LOGIC_NOT on uniforms.
2024-03-27 22:37:06 +01:00
Conor McCarthy
9e0b9c3a7a
vkd3d-shader/dxil: Implement the DXIL ATOMICRMW instruction.
2024-03-27 22:36:59 +01:00
Conor McCarthy
b708a9b3b5
vkd3d-shader/dxil: Implement DX instructions ThreadId, GroupId, ThreadIdInGroup and FlattenedThreadIdInGroup.
2024-03-27 22:36:58 +01:00
Conor McCarthy
c7dcfc2a04
tests/shader-runner: Add TGSM tests.
2024-03-27 22:36:57 +01:00
Zebediah Figura
ddfa94fdca
tests: Add more tests for resource and struct RDEF contents.
2024-03-27 22:36:43 +01:00
Zebediah Figura
98b90dde78
tests: Test constant and resource reflection via D3DReflect().
...
Ported from Wine.
2024-03-27 22:36:40 +01:00
Zebediah Figura
0b1f11dd33
vkd3d-shader/hlsl: Allocate register reservations for structs as well.
2024-03-27 22:36:34 +01:00
Henri Verbeet
0715734dfb
tests/shader_runner: Add GLSL support to the GL runner.
2024-03-19 22:57:50 +01:00
Conor McCarthy
0c01a55c7d
vkd3d-shader/dxil: Implement DX intrinsic Saturate.
2024-03-18 23:07:40 +01:00
Conor McCarthy
4599d3c1cf
vkd3d-shader/dxil: Implement DX intrinsic FAbs.
2024-03-18 23:07:39 +01:00
Conor McCarthy
33694f08fc
vkd3d-shader/dxil: Implement DX intrinsics FMa, FMad, IMad and UMad.
2024-03-18 23:07:38 +01:00
Conor McCarthy
08cc5027cf
tests/hlsl: Add tests for mad() and fma().
2024-03-18 23:07:35 +01:00
Nikolay Sivov
4fc15d4b4a
vkd3d-shader/fx: Add initial support for writing fx_2_0 parameters.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-18 23:07:30 +01:00
Conor McCarthy
3f99719ff2
vkd3d-shader/dxil: Implement DX intrinsic BufferUpdateCounter.
2024-03-18 23:07:23 +01:00
Conor McCarthy
52a831ba0d
tests/hlsl: Add UAV counter tests.
2024-03-18 23:07:21 +01:00
Francisco Casas
4c40deaac1
vkd3d-shader/hlsl: Use hlsl_fixme() on missing SM1 matrix writemask lowering.
...
Instead of FIXME(). Otherwise we compile invalid d3dbc.
2024-03-14 22:49:29 +01:00
Francisco Casas
5c986b9cde
vkd3d-shader/hlsl: Lower SLT instructions for pixel shaders.
...
Properly passing the inverse-trig.shader_test tests whose qualifiers
have been removed requires making spirv.c capable of handling ABS.
The same happens for the ps_3_0 equality test in
float-comparison.shader_test.
2024-03-14 22:49:29 +01:00
Francisco Casas
4133c4d801
tests: Test equality between tiny and between large numbers on ps_2_0.
2024-03-14 22:49:29 +01:00
Francisco Casas
e9a4758648
vkd3d-shader/hlsl: Implement SM1 comparison operators.
2024-03-14 22:49:29 +01:00
Conor McCarthy
b6c41d5287
tests/hlsl: Add tests for countbits() and firstbit{high|low}().
2024-03-13 21:50:39 +01:00
Zebediah Figura
a686fa7750
tests: Use a UAV barrier between ClearUnorderedAccessViewFloat() and a compute shader.
...
In an attempt to fix test failures on radv.
2024-03-13 21:50:31 +01:00
Francisco Casas
b831ffe96c
tests: Avoid creating a file named "0" when calling "make check".
...
We use "printf" instead of "print" in awk in order to avoid a newline in
the value of $xfcount, and use "-gt" instead of ">", which creates the
spurious file, in the comparison.
2024-03-12 22:15:00 +01:00
Nikolay Sivov
e0ef45c0a3
vkd3d-shader: Parse a 'single' modifier.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-12 22:14:50 +01:00
Nikolay Sivov
cf7c05f431
vkd3d-shader: Remove a token for 'precise' modifier.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-12 22:14:50 +01:00
Nikolay Sivov
7f1fdd447c
vkd3d-shader/fx: Add initial support for writing uninitialized vertex/pixel shader objects.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-12 22:14:40 +01:00
Evan Tang
03a80cde2e
vkd3d: Enable VK_EXT_fragment_shader_interlock if available.
2024-03-11 22:10:25 +01:00
Giovanni Mascellani
dff22c9ed7
tests: Clear the UAV before testing.
...
There is no guarantee that a resource is cleared upon creation. This
fixes the test on NVIDIA and llvmpipe.
2024-03-11 22:10:15 +01:00
Giovanni Mascellani
5e43f99809
tests: Relax precision a bit for an interpolation test.
...
Otherwise the test fails on Intel, NVIDIA and llvmpipe.
2024-03-11 22:10:14 +01:00
Giovanni Mascellani
0c63824d9f
tests: Mark the coverage test as buggy on MoltenVK.
...
Apparently MoltenVK doesn't set the SampleMask built-in to the
fragment coverage mask.
2024-03-11 22:10:13 +01:00
Giovanni Mascellani
cf816a255c
tests: Pop the test context when leaving its scope.
2024-03-11 22:10:13 +01:00
Giovanni Mascellani
f6fe9a39db
tests: Mark the HS punned array test as buggy on MoltenVK.
...
MoltenVK doesn't support the Component decoration on tessellation
shaders.
2024-03-11 22:10:10 +01:00
Conor McCarthy
4f0e5b9069
vkd3d-shader/dxil: Support 16-bit types.
2024-03-11 22:10:06 +01:00
Conor McCarthy
581939f1ef
tests/shader-runner: Add tests for minimum-precision constants.
...
Values in DXIL have no signedness, so it is ambiguous whether 16-bit
constants should or should not be sign-extended when 16-bit execution
is not supported.
2024-03-11 22:10:01 +01:00
Francisco Casas
2b06bcc615
tests: Check that -0.0f is not less than 0.0f.
2024-03-11 22:09:44 +01:00
Francisco Casas
308c7941d4
tests: Test comparison and logic operators on SM1 vertex shaders.
...
Currently these are failing for SM1 because VKD3DSIH_SLT is not being
handled by spirv.c.
2024-03-11 22:09:43 +01:00
Francisco Casas
fda08de61d
tests/shader-runner: Pass uniforms to vertex shaders in d3d9 and d3d11.
2024-03-11 22:09:41 +01:00
Conor McCarthy
5a6fd010ac
vkd3d-shader/dxil: Implement DX intrinsic TextureGather.
2024-03-11 22:09:18 +01:00
Conor McCarthy
8337b99a2c
tests/shader-runner: Add a Gather test with non-constant offset.
2024-03-11 22:09:16 +01:00
Conor McCarthy
7fcf1b6ca2
tests/shader-runner: Add sampler comparison tests.
2024-03-11 22:09:08 +01:00
Evan Tang
4553b2a0dc
vkd3d-shader/spirv: Implement support for rasteriser-ordered views.
...
Using SPV_EXT_fragment_shader_interlock.
2024-03-08 23:36:35 +01:00
Conor McCarthy
e65055b435
vkd3d-shader/spirv: Handle the ORD and UNO instructions.
2024-03-08 23:36:14 +01:00
Conor McCarthy
94583815bc
tests/shader-runner: Add a test for FCMP_ORD (is ordered).
2024-03-08 23:36:12 +01:00
Conor McCarthy
4dafd6bedf
vkd3d: Implement GetCopyableFootprints1().
2024-03-08 23:36:08 +01:00
Conor McCarthy
197f16efa9
vkd3d: Implement CreatePlacedResource1().
2024-03-08 23:36:08 +01:00
Conor McCarthy
e5ae6bd3c2
vkd3d: Implement CreateCommittedResource2().
2024-03-08 23:36:08 +01:00
Conor McCarthy
6edba86a26
vkd3d: Implement GetResourceAllocationInfo2().
2024-03-08 23:36:08 +01:00
Conor McCarthy
2ed36efcb5
tests/d3d12: Add tests for GetCopyableFootprints1().
2024-03-08 23:36:06 +01:00