Commit Graph

1801 Commits

Author SHA1 Message Date
Nikolay Sivov
4d2ce385a7 vkd3d-shader/hlsl: Do not crash on initialization of a redefined variable.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-07-08 18:24:46 +02:00
Nikolay Sivov
2176294df8 vkd3d-shader/hlsl: Implement tex*grad() functions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-07-08 18:23:38 +02:00
Nikolay Sivov
4ff288bd32 vkd3d-shader: Implement tex*() functions variants with gradient arguments.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-07-08 18:23:38 +02:00
Nikolay Sivov
f03cb7e911 vkd3d-shader/hlsl: Add RasterizerState type.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-07-08 18:12:03 +02:00
Nikolay Sivov
12947aa50d vkd3d-shader/fx: Add support for writing DepthStencilState objects.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-07-08 18:12:03 +02:00
Francisco Casas
597e55691a vkd3d-shader/hlsl: Only error out on bind_count register reservation overlaps for SM1.
While on SM1 a register reservation reserves the whole size in
registers of the variable's data type, overlapping conflicts are only
checked up to the bind_count (used size) for each variable.
2024-07-08 18:12:03 +02:00
Francisco Casas
2179c79c91 tests: Test register reservations on unused variables. 2024-07-08 18:12:03 +02:00
Nikolay Sivov
48ff7de8ef vkd3d-shader/hlsl: Add support for ConstantBuffer<> type.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-07-08 18:12:03 +02:00
Victor Chiletto
44725a651b tests: Add reflection tests for register expressions. 2024-07-03 17:09:16 -03:00
Victor Chiletto
abbcf0461f vkd3d-shader/hlsl: Reserve register slots for unused buffers. 2024-07-03 17:09:16 -03:00
Victor Chiletto
da36a447b8 vkd3d-shader/hlsl: Validate cbuffer register allocations. 2024-07-03 17:09:16 -03:00
Victor Chiletto
27414ef928 vkd3d-shader/hlsl: Do not immediately fail parsing for malformed 'b' register reservations.
This is a fxc quirk. In most cases, this throws an error, but for global
variables it's completely ignored.
2024-07-03 17:09:16 -03:00
Victor Chiletto
e13eb64d4c vkd3d-shader/hlsl: Support expressions as register offsets. 2024-07-03 14:05:58 -03:00
Victor Chiletto
d11c777092 tests: Add more register reservations tests. 2024-07-03 14:05:58 -03:00
Yuxuan Shui
ccb6150aab vkd3d-shader/hlsl: Implement storing to a swizzled matrix. 2024-06-20 12:39:46 +02:00
Elizabeth Figura
8d946f3c20 tests: Add another combined sampler test.
Shader provided by Francisco Casas.
2024-06-18 13:01:31 -05:00
Elizabeth Figura
669e85171e tests: Run combined-samplers.shader_test on sm1 as well.
Now that we have if() this is easier.
2024-06-18 13:00:59 -05:00
Elizabeth Figura
d3ba810c98 tests: Stop probing all pixels when drawing a uniform colour.
This is simply unnecessary and wastes time.

As part of this, simply remove the "all" directive. Only for a couple of tests
is it even potentially interesting to validate all pixels (e.g.
nointerpolation.shader_test), and for those "all" is replaced with an explicit
(0, 0, 640, 480) rect.

In all other cases we just probe (0, 0).
2024-06-13 23:55:31 +02:00
Giovanni Mascellani
3ad4d984ad tests: Mark some root signature unbounded range failures as todo on MoltenVK. 2024-06-13 23:24:22 +02:00
Conor McCarthy
da1d96f708 tests/shader-runner: Create a new runner object for the shader model 6 tests.
If cleaning up the old runner is not completed, descriptors for
destroyed resources may remain on the heap.
2024-06-11 15:56:43 +02:00
Conor McCarthy
7534b88a15 tests/shader-runner: Set the correct flag and format for raw UAVs. 2024-06-11 15:55:48 +02:00
Conor McCarthy
47d077e5ce vkd3d: Interpret a null vertex buffer 'views' pointer as a null buffer. 2024-06-11 15:52:28 +02:00
Conor McCarthy
c3ea43b619 tests/d3d12: Test a null vertex buffer 'views' pointer on multiple slots. 2024-06-11 15:52:28 +02:00
Conor McCarthy
589ed1e358 vkd3d: Allow block compressed textures to have unaligned width and height. 2024-06-11 15:51:34 +02:00
Conor McCarthy
9244f2b536 tests/d3d12: Check for unaligned block texture support in test_create_committed_resource(). 2024-06-11 15:51:33 +02:00
Nikolay Sivov
ba18035260 vkd3d-shader/d3dbc: Write load instruction for tex2Dbias().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-06-11 15:50:34 +02:00
Nikolay Sivov
ccbe36fb8d vkd3d-shader/hlsl: Implement tex2Dbias().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56701
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-06-11 15:50:34 +02:00
Elizabeth Figura
f0cd35b40d tests: Add reflection tests for register space. 2024-06-11 15:49:30 +02:00
Elizabeth Figura
33e5553158 vkd3d-shader/hlsl: Write SM5.1 binding reflection data. 2024-06-11 15:49:30 +02:00
Elizabeth Figura
4355e6ca69 vkd3d-shader/hlsl: Allocate register spaces for objects. 2024-06-11 15:49:30 +02:00
Conor McCarthy
9b070edf01 vkd3d-shader/spirv: Implement the QUAD_READ_LANE_AT instruction. 2024-06-11 15:48:21 +02:00
Conor McCarthy
c298493e4f vkd3d-shader/spirv: Implement the QUAD_READ_ACROSS_* instructions. 2024-06-11 15:48:21 +02:00
Francisco Casas
f5bfa728eb vkd3d-shader/hlsl: Reorder default values for matrices for SM4.
Default value initializers behave differently than regular initializers
for matrices on SM4 profiles.

While regular initializers assign the rhs elements in reading-order
(completing one row at the time), default initializers assing the rhs
elements in Chinese reading-order (completing one column at the time).

So after lowering a default value to a constant, the index of the
component to which this default value is stored is computed to meet
this expectation. This can be done because the default values.

For reference, compiling this shader:

    row_major int2x3 m = {1, 2, 3, 4, 5, 6};

    float4 main() : sv_target
    {
        return float4(m[0][0], 99, 99, 99);
    }

gives the following buffer definition:

    // cbuffer $Globals
    // {
    //
    //   row_major int2x3 m;                // Offset:    0 Size:    28
    //      = 0x00000001 0x00000003 0x00000005 0x00000000
    //        0x00000002 0x00000004 0x00000006
    //
    // }

Given that the matrix is column-major, m's default value is actually
{{1, 3, 5}, {2, 4, 6}}, unlike the {{1, 2, 3}, {4, 5, 6}} one would
expect in a regular initializer.

SM1 profiles assign the elements in regular reading order.
2024-06-11 15:46:40 +02:00
Francisco Casas
ade3daa311 tests: Test matrix default value initializers. 2024-06-11 15:46:40 +02:00
Francisco Casas
253c994155 vkd3d-shader/tpf: Write default values for SM4. 2024-06-11 15:46:40 +02:00
Francisco Casas
b44a25ce19 tests: Test default values using reflection. 2024-06-11 15:46:40 +02:00
Francisco Casas
099a64aeb2 vkd3d-shader/hlsl: Initialize default values with braceless initializers.
It is hard to initialize default values on add_assignment() and calling
add_assignment() for initializers is not really necessary: the only
thing we need from it the implicit cast.
2024-06-11 15:46:40 +02:00
Francisco Casas
e8dbc36bd2 vkd3d-shader/hlsl: Record default values for uniforms and constant buffers. 2024-06-11 15:46:40 +02:00
Nikolay Sivov
727aacca18 tests: Add a few tests for the NULL value.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-05-30 19:56:44 +02:00
Nikolay Sivov
163aaf9729 tests: Add some basic tests for ConstantBuffer type.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-05-30 19:56:39 +02:00
Nikolay Sivov
ea177a7750 vkd3d-shader/hlsl: Handle "unsigned int" type.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-05-30 19:56:29 +02:00
Henri Verbeet
36c123c005 Release 1.12. 2024-05-29 22:05:28 +02:00
Henri Verbeet
9693271dcf tests: Rename VKD3D_TESTS_SKIP_DXC to VKD3D_TEST_SKIP_DXC.
For consistency with the other VKD3D_TEST_* environment variables.
2024-05-27 21:08:14 +02:00
Giovanni Mascellani
9a3fa67c1f tests: Skip a test that freezes the GPU on NVIDIA. 2024-05-27 21:07:43 +02:00
Victor Chiletto
105ef28273 vkd3d-shader/preproc: Treat CR as whitespace. 2024-05-23 23:11:58 +02:00
Giovanni Mascellani
a64426edf9 tests: Check device support for all the 16 bit image formats.
Otherwise the test crash on llvmpipe.
2024-05-22 22:15:32 +02:00
Victor Chiletto
fa5708d3b5 vkd3d-shader/hlsl: Fix XOR assign operator lexing. 2024-05-22 22:15:20 +02:00
Victor Chiletto
d8d2414132 tests/hlsl: Add a test for the XOR assign operator. 2024-05-22 22:15:19 +02:00
Conor McCarthy
7d3c286e9b tests/d3d12: Add a separate null 'views' pointer test in test_null_vbv(). 2024-05-22 22:15:14 +02:00
Conor McCarthy
fd416b492c tests/d3d12: Use get_cpu_sampler_handle() for the sampler heap in test_unbounded_samplers(). 2024-05-22 22:15:12 +02:00
Conor McCarthy
cc1877dadb tests/d3d12: Ensure stream output BufferFilledSizeLocation is always valid. 2024-05-22 22:15:11 +02:00
Conor McCarthy
42d369d595 tests/d3d12: Check UnalignedBlockTexturesSupported when testing GetCopyableFootprints(). 2024-05-22 22:15:09 +02:00
Conor McCarthy
0daba96025 tests/d3d12: Test format D32_FLOAT_S8X24_UINT in test_get_copyable_footprints(). 2024-05-22 22:15:07 +02:00
Conor McCarthy
f6db3330c8 tests/d3d12: Check the correct depth/stencil plane format and alignment in test_get_copyable_footprints(). 2024-05-22 22:15:05 +02:00
Conor McCarthy
23881bad7a tests/d3d12: Set the descriptor heaps for the draw call in test_graphics_uav_counters(). 2024-05-22 22:15:04 +02:00
Conor McCarthy
dcc715b4d1 tests/d3d12: Do not clear UAVs via a structured view. 2024-05-22 22:15:02 +02:00
Conor McCarthy
42eee382ec tests/d3d12: Do not test 3D depth textures in test_get_copyable_footprints(). 2024-05-22 22:15:00 +02:00
Conor McCarthy
bb2a79a8fb tests/d3d12: Do not test a typed UAV in test_atomic_instructions().
A shader typed UAV declaration must not map to a root descriptor UAV. We
now have shader runner tests for typed UAV atomics, so there is no need
to modify this test to use a descriptor heap.
2024-05-22 22:14:58 +02:00
Francisco Casas
061dc39036 vkd3d-shader/hlsl: Also lower matrix swizzles and index loads in const passes. 2024-05-15 21:17:51 +02:00
Francisco Casas
dff2f746bc tests: Test complex array size expression. 2024-05-15 21:17:51 +02:00
Francisco Casas
58a6db5589 tests: Test default values for constant buffer variables. 2024-05-15 21:17:49 +02:00
Francisco Casas
499b44a193 tests: Test default values for uniform variables. 2024-05-15 21:17:47 +02:00
Conor McCarthy
9e57039fce vkd3d-shader/dxil: Handle SV_ClipDistance and SV_CullDistance. 2024-05-14 20:44:22 +02:00
Conor McCarthy
01af0f94bb tests/hlsl: Add a test for SV_ClipDistance. 2024-05-14 20:44:20 +02:00
Conor McCarthy
4f50af4c83 vkd3d-shader/dxil: Handle SV_Coverage out. 2024-05-14 20:44:18 +02:00
Conor McCarthy
e4724b4635 tests/hlsl: Add a test for SV_Coverage out. 2024-05-14 20:44:16 +02:00
Conor McCarthy
e1c774bfeb vkd3d-shader/spirv: Implement the WAVE_READ_LANE_FIRST instruction. 2024-05-14 20:44:10 +02:00
Conor McCarthy
cb9b10bf4d tests/hlsl: Clear the RTV before the WaveReadLaneFirst() test. 2024-05-14 20:44:08 +02:00
Conor McCarthy
936d8e4f61 vkd3d-shader/spirv: Implement the WAVE_READ_LANE_AT instruction. 2024-05-14 20:44:04 +02:00
Conor McCarthy
5790056c44 tests/hlsl: Add a test for WaveReadLaneAt() with a non-uniform index. 2024-05-14 20:44:00 +02:00
Conor McCarthy
ea5624e5e8 vkd3d-shader/dxil: Emit bool inputs and outputs as uint.
DXIL reads/writes uint for these.
2024-05-13 22:27:13 +02:00
Francisco Casas
28d267b7c0 vkd3d-shader/hlsl: Allocate SM1 numeric uniforms in decreasing bind count. 2024-05-13 22:26:21 +02:00
Francisco Casas
f548644222 vkd3d-shader/hlsl: Only allocate numeric bind count for SM1 numeric uniforms.
Unless they have register reservations, in which case the whole
variable is still reserved.
2024-05-13 22:26:08 +02:00
Francisco Casas
e0a801e796 vkd3d-shader/hlsl: Improve tracking of used components running DCE before.
track_object_components_usage() had to be improved to also
register derefs on resource stores.
It was not doing it because it assumed that for every resource store
there was a resource load already, which was true, before calling DCE.
2024-05-13 22:26:05 +02:00
Francisco Casas
657e460d11 vkd3d-shader/hlsl: Allocate unused variables with register reservations on SM1. 2024-05-13 22:26:03 +02:00
Francisco Casas
7b3644d9f2 tests: Test SM1 const register allocation with relative addressing. 2024-05-13 22:26:03 +02:00
Francisco Casas
b56ae0f1c8 tests: Test SM1 constant register allocation with reservations. 2024-05-13 22:26:03 +02:00
Nikolay Sivov
9dcb74341f tests: Test SM1 constant register allocation with a row_major matrix.
Co-authored-by: Francisco Casas <fcasas@codeweavers.com>
2024-05-13 22:26:01 +02:00
Francisco Casas
7debe25a8b tests: Test SM1 constant register allocation. 2024-05-13 22:26:01 +02:00
Conor McCarthy
fb20639eb4 vkd3d: Return E_INVALIDARG if the requested shader model is unknown. 2024-05-13 11:50:33 +02:00
Conor McCarthy
d17956ced8 vkd3d: Return a shader model no higher than the requested one for D3D12_FEATURE_SHADER_MODEL. 2024-05-13 11:50:32 +02:00
Conor McCarthy
677c23f1fe tests: Add tests for D3D12_FEATURE_SHADER_MODEL. 2024-05-13 11:50:32 +02:00
Conor McCarthy
77259da1ad vkd3d-shader/spirv: Implement the WAVE_PREFIX_BIT_COUNT instruction. 2024-05-13 11:50:23 +02:00
Conor McCarthy
065ef0c5e4 vkd3d-shader/spirv: Implement the WAVE_IS_FIRST_LANE instruction. 2024-05-13 11:50:21 +02:00
Conor McCarthy
feef2577ef vkd3d-shader/spirv: Implement the WAVE_ALL_BIT_COUNT instruction. 2024-05-13 11:50:19 +02:00
Conor McCarthy
962096f179 vkd3d-shader/dxil: Implement DX intrinsics EmitStream, CutStream and EmitThenCutStream. 2024-05-08 21:08:16 +02:00
Conor McCarthy
00b0b8d65c tests/hlsl: Add a geometry shader test. 2024-05-08 21:08:13 +02:00
Conor McCarthy
e6c802e713 tests/shader-runner: Free the hull and domain shader source code. 2024-05-08 21:08:11 +02:00
Zebediah Figura
cefd6f9de6 vkd3d-utils: Implement ID3D12ShaderReflection::GetResourceBindingDesc(). 2024-05-06 22:12:50 +02:00
Zebediah Figura
694d39ffe6 tests: Test bounds checking in ID3D12ShaderReflection. 2024-05-06 22:12:50 +02:00
Zebediah Figura
7b3c47ba2e vkd3d-shader/tpf: Write the field offset in bytes. 2024-05-06 22:12:48 +02:00
Conor McCarthy
cfcc789b42 vkd3d-shader/spirv: Implement the WAVE_OP_* instructions. 2024-05-06 22:12:27 +02:00
Conor McCarthy
fef5760af0 vkd3d-shader/spirv: Implement the WAVE_ACTIVE_BIT_* instructions. 2024-05-06 22:12:24 +02:00
Conor McCarthy
1c49b3a779 vkd3d-shader/spirv: Implement the WAVE_ACTIVE_BALLOT instruction. 2024-05-06 22:12:21 +02:00
Henri Verbeet
62a512c4f8 tests/shader_runner: Get rid of some redundant "| glsl" conditions.
We don't run shader model 6 GLSL tests.
2024-05-02 22:19:30 +02:00
Conor McCarthy
95489899be vkd3d-shader/spirv: Handle the WAVE_ANY_TRUE instruction. 2024-05-02 22:19:02 +02:00
Conor McCarthy
78f2d2936d vkd3d-shader/spirv: Handle the WAVE_ACTIVE_ALL_EQUAL instruction. 2024-05-02 22:18:57 +02:00
Conor McCarthy
c770efc530 vkd3d-shader/spirv: Handle the WAVELANEINDEX register. 2024-05-02 22:18:54 +02:00
Conor McCarthy
29786d7efb tests/shader-runner: Add a 'require' directive for wave ops. 2024-05-02 22:18:53 +02:00
Conor McCarthy
9315bcb6a1 tests/shader-runner: Skip shader model 6.0 tests if the device does not support them. 2024-05-02 22:18:52 +02:00
Conor McCarthy
fd590c2593 vkd3d: Initialise wave ops feature options.
Based in part on a vkd3d-proton patch by Philip Rebohle.
2024-05-02 22:18:50 +02:00
Giovanni Mascellani
5e6bcc4f9d tests: Test wave reconvergence after selections and loops.
Tangled instructions, like wave operations, are sensitive to how the
invocations in a wave reconverge after having diverged. Here we test
for some of those scenarios.
2024-04-30 22:59:44 +02:00
Conor McCarthy
127bcf90e4 vkd3d-shader/dxil: Implement DX intrinsic Coverage. 2024-04-30 16:32:10 +02:00
Conor McCarthy
c2a787181f tests/hlsl: Add SV_Coverage tests. 2024-04-30 16:32:10 +02:00
Conor McCarthy
36c76e1557 vkd3d-shader/dxil: Handle SV_PrimitiveId. 2024-04-30 16:32:10 +02:00
Conor McCarthy
eef0f7c29e vkd3d-shader/dxil: Handle SV_InstanceId. 2024-04-30 16:32:10 +02:00
Conor McCarthy
0bd6083785 tests/hlsl: Add an SV_InstanceId test. 2024-04-30 16:32:10 +02:00
Conor McCarthy
fb730b11cf vkd3d-shader/dxil: Handle constexpr pointer cast. 2024-04-30 16:31:44 +02:00
Conor McCarthy
2fc32c3d1d tests/hlsl: Add a test for constexpr pointer cast. 2024-04-30 16:31:43 +02:00
Francisco Casas
c43c900a30 tests: Test x + 0 and x * 1 indentities. 2024-04-30 16:31:01 +02:00
Stefan Dösinger
13e1491941 tests/d3d12: Add tests for storing and retrieving cache values. 2024-04-24 23:49:23 +02:00
Henri Verbeet
2b6012df7d tests/shader_runner: Use WIDL_C_INLINE_WRAPPERS. 2024-04-24 23:48:44 +02:00
Francisco Casas
5e3515f191 vkd3d-shader/d3dbc: Support SM1 if conditionals.
According to the documentation, if_comp is available from 2_x pixel
and vertex shaders and, unlike "if bool" it doesn't expect a constant
boolean register (from the input signature), so:

if_neq cond -cond

seems like a convenient way to write these, for profiles above 2.0.
2024-04-24 23:48:06 +02:00
Francisco Casas
74c998a2a4 tests: Add additional conditional tests for shader model 3.0. 2024-04-24 23:48:04 +02:00
Francisco Casas
dbb9cfd958 tests/shader-runner: Report whole-block errors on the block's starting line.
So, if there is an error or a trace on "[pixel shader]" or similar
blocks, they get reported in the line with the tag at the beginning of
the block and no on the line where the next block starts.
2024-04-24 23:47:55 +02:00
Henri Verbeet
46fca3f9f4 vkd3d-common: Introduce VKD3D_BITMAP_SIZE. 2024-04-23 22:41:25 +02:00
Nikolay Sivov
836fe05916 tests: Add some tests for string variables.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-04-23 22:37:19 +02:00
Giovanni Mascellani
6b841486d4 vkd3d-shader/ir: Materialize SSAs in each function of a hull shader. 2024-04-23 22:36:17 +02:00
Conor McCarthy
eae1411cdc tests/hlsl: Add tests for texture UAV signed atomics. 2024-04-23 22:36:08 +02:00
Conor McCarthy
ee8ca0e9c2 tests/hlsl: Add tests for texture UAV atomics. 2024-04-23 22:36:06 +02:00
Conor McCarthy
1c73ac668f tests/hlsl: Add a test for UAV InterlockedExchange(). 2024-04-23 22:36:05 +02:00
Conor McCarthy
7e4fee658b tests/hlsl: Add a test for a structured UAV scalar store. 2024-04-23 22:36:02 +02:00
Conor McCarthy
0f7095d2aa tests/hlsl: Add tests for min() and integer max(). 2024-04-23 22:35:51 +02:00
Henri Verbeet
037e8436c9 tests/shader_runner: Pass only valid stages to vkCreateGraphicsPipelines().
The first thing that's broken is that the "sType" field isn't
VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO, but we're also
passing invalid "module" handles.
2024-04-22 23:14:20 +02:00
Giovanni Mascellani
09630ada90 tests: Allow compiling shaders with DXC on crosstests.
This is currently disabled on the CI because dxcompiler.dll is not
available.
2024-04-22 23:13:48 +02:00
Giovanni Mascellani
53fd1a95fc tests: Allow skipping DXC tests at runtime. 2024-04-22 23:13:48 +02:00
Conor McCarthy
d5c6e12dd3 tests/hlsl: Add wave op tests. 2024-04-22 23:13:20 +02:00
Zebediah Figura
6cf065e7fd tests: Add tests for register space reservation syntax. 2024-04-22 23:13:16 +02:00
Zebediah Figura
f7a79517ae tests: Add tests for profile syntax in register reservations. 2024-04-22 23:13:16 +02:00
Zebediah Figura
e3e93b76d2 tests: Do not run the d3d11 backend with shader model 5.1. 2024-04-22 23:13:16 +02:00
Conor McCarthy
3205e08fb1 vkd3d-shader/dxil: Support SV_Depth, SV_DepthGreaterEqual and SV_DepthLessEqual. 2024-04-19 22:23:43 +02:00
Conor McCarthy
7eeca3fa39 tests/hlsl: Add tests for SV_DepthLessEqual and SV_DepthGreaterEqual. 2024-04-19 22:23:42 +02:00
Conor McCarthy
b68a9ae3ec tests/hlsl: Add tests for SV_Depth. 2024-04-19 22:23:40 +02:00
Giovanni Mascellani
dbe3c00a77 tests/shader-runner: Use OpDemoteToHelperInvocationEXT when available. 2024-04-19 22:23:35 +02:00
Giovanni Mascellani
7196484e59 tests: Check that derivatives are still computed after discarding. 2024-04-19 22:23:35 +02:00
Giovanni Mascellani
12c457b43f tests: Avoid using a different UAV for SM<6 and SM>=6. 2024-04-19 22:23:35 +02:00
Conor McCarthy
742288127f vkd3d: Support DXGI_FORMAT_B4G4R4A4_UNORM. 2024-04-17 22:51:57 +02:00
Conor McCarthy
8879521679 vkd3d: Support DXGI_FORMAT_B5G5R5A1_UNORM. 2024-04-17 22:51:57 +02:00
Conor McCarthy
4cdf38d392 vkd3d: Support DXGI_FORMAT_B5G6R5_UNORM. 2024-04-17 22:51:57 +02:00
Conor McCarthy
6205d96c3b tests: Add UNORM formats B5G6R5, B5G5R5A1 and B4G4R4A4 to the UAV image clear tests. 2024-04-17 22:51:56 +02:00
Conor McCarthy
d9f42b2c51 vkd3d-shader/dxil: Implement the DXIL CMPXCHG instruction. 2024-04-17 22:51:41 +02:00
Conor McCarthy
f13c65abb0 tests/hlsl: Add an InterlockedCompareExchange() TGSM test. 2024-04-17 22:51:40 +02:00
Conor McCarthy
99996ed5b5 vkd3d-shader/dxil: Implement DX intrinsic RenderTargetGetSampleCount. 2024-04-17 22:51:34 +02:00
Conor McCarthy
fe5e821cca vkd3d-shader/dxil: Implement DX intrinsics Texture2DMSGetSamplePosition and RenderTargetGetSamplePosition. 2024-04-17 22:51:32 +02:00
Conor McCarthy
696fc12061 tests/hlsl: Add tests for GetSamplePosition() and GetSampleCount(). 2024-04-17 22:51:30 +02:00
Conor McCarthy
2379bda36f tests/hlsl: Add a tessellation test. 2024-04-16 22:18:12 +02:00
Henri Verbeet
7d6f0f2592 vkd3d: Implement creating compute pipeline states from shaders with embedded root signatures. 2024-04-15 21:34:09 +02:00
Henri Verbeet
18986ddb50 tests: Test creating compute pipeline states from shaders with embedded root signatures. 2024-04-15 21:34:09 +02:00
Conor McCarthy
425e0aa6c3 tests/hlsl: Supply data for all mip levels in calculate-lod.shader_test.
Fixes invalid read in the GL runner.
2024-04-15 21:33:40 +02:00
Conor McCarthy
23db066922 vkd3d-shader/ir: Implement MAD in two operations if flagged as precise.
With some changes by Giovanni Mascellani.
2024-04-15 21:33:35 +02:00