Francisco Casas
87f01f5205
vkd3d-shader/hlsl: Remove SM1 fixme for matrix writemasks.
...
hlsl_ir_store instructions don't use writemasks for whole matrices.
2024-08-08 23:32:03 +02:00
Francisco Casas
9f515a9daa
vkd3d-shader/hlsl: Lower non-constant array loads for SM1.
...
This is achieved by means of creating a variable storing zero,
loading every array element, comparing if the non-constant index
matches the index of that element at runtime, and in that case
store the corresponding element in the variable.
This seems to be the same strategy that the native compiler uses.
2024-08-08 23:30:39 +02:00
Francisco Casas
e0cfd8f86a
tests: Add additional non-constant array indexing tests.
2024-08-08 23:28:31 +02:00
Francisco Casas
51abec8c99
tests: Introduce VKD3D_TEST_DETAILED for the test driver.
...
Useful to know which tests on which backends were skipped.
2024-08-07 15:54:36 +02:00
Francisco Casas
9dec7403d9
tests/shader-runner: Add missing trace for wave_ops caps.
2024-08-07 15:54:36 +02:00
Francisco Casas
2efc79bb81
tests: Report tests skipped because of missing capabilities.
2024-08-07 15:54:36 +02:00
Francisco Casas
84676c378f
tests: Add missing double precission require directives.
...
Otherwise these tests fail on Intel UHD Graphics 770.
2024-08-07 15:54:36 +02:00
Francisco Casas
090df488ba
vkd3d-shader/hlsl: Parse string constants.
2024-08-07 15:48:59 +02:00
Francisco Casas
4b2e847d11
tests: Test string escape sequences.
2024-08-07 15:45:24 +02:00
Nikolay Sivov
c44a18b3d1
vkd3d-shader/fx: Add support for SetDomainShader(), SetComputeShader(), and SetHullShader() states.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-08-06 16:54:19 +02:00
Nikolay Sivov
2cbad81b55
vkd3d-shader/fx: Handle SetRasterizerState().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-08-06 16:54:19 +02:00
Giovanni Mascellani
784e69a366
vkd3d: Check the entire root signature for register conflicts.
...
Not just each descriptor table individually.
2024-08-06 16:53:06 +02:00
Nikolay Sivov
a3f4785720
vkd3d-shader/fx: Decompose function-style state assignments to individual states.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-08-05 16:01:33 +02:00
Giovanni Mascellani
9f4a568868
tests: Mark a couple of tests as working on recent NVIDIA GPUs.
...
I don't know the exact version that fixed this todo, but on the
same hardware this test was failing a couple of years ago, so
I presume something was fixed at some point. I am writing my
current driver version, but a lower one might turn out to be
sufficient.
2024-07-31 20:50:58 +02:00
Giovanni Mascellani
507cc2976f
tests: Test register conflicts in a root signature.
2024-07-29 13:19:10 +02:00
Elizabeth Figura
947b937a1a
tests: Test shade mode.
2024-07-24 16:08:10 +02:00
Victor Chiletto
a0de05f0b4
vkd3d-shader/hlsl: Implement the asint() intrinsic.
2024-07-24 16:06:03 +02:00
Shaun Ren
49caeee1fd
vkd3d-shader/hlsl: Support default values for function parameters.
2024-07-23 15:36:32 +02:00
Nikolay Sivov
dcf4ce753b
vkd3d-shader/fx: Correct empty pass check.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-07-23 15:23:54 +02:00
Nikolay Sivov
958117df2f
vkd3d-shader/hlsl: Allow annotations on global variables.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-07-23 15:23:54 +02:00
Giovanni Mascellani
7e557420b1
tests: Terminate the Agility SDK path with a slash.
...
That's what the documentation recommends. It used to work for me without
the slash, but maybe they changed something in recent versions.
2024-07-17 15:54:31 +02:00
Giovanni Mascellani
e4e7368c1c
tests: Pad the constant buffer in test_update_compute_descriptor_tables() to 256 bytes.
...
The D3D12 debug layer signals an error otherwise.
2024-07-17 15:53:31 +02:00
Conor McCarthy
3e25356abb
tests: Add a test for clearing a large buffer UAV.
...
Large buffers can exceed the maximum workgroup X count.
2024-07-17 15:51:39 +02:00
Shaun Ren
0202393d41
vkd3d-shader/d3dbc: Implement HLSL_OP1_{COS,SIN}_REDUCED for SM1.
...
Also enable SM1 trigonometry function tests.
2024-07-16 19:03:52 +02:00
Elizabeth Figura
5a53b73995
tests: Test alpha test.
2024-07-11 17:02:53 +02:00
Elizabeth Figura
7e868f1f4b
tests: Factor out a set_default_target() helper.
2024-07-11 17:02:45 +02:00
Elizabeth Figura
ded0733ff8
tests: Offset the viewport by 0.5 when running d3dbc shaders.
2024-07-11 17:02:40 +02:00
Elizabeth Figura
9e59e57cb3
tests: Add a test for the vkd3d_shader_parameter APIs.
2024-07-11 16:58:56 +02:00
Petrichor Park
bec4f413dc
vkd3d-shader/tpf: Implmenent HLSL_OP1_RCP.
...
SM5 comes with a RCP opcode; for SM4, implement it as `DIV dst, 1, x`.
2024-07-11 16:44:16 +02:00
Petrichor Park
b3f0cd5788
vkd3d-shader/hlsl: Implement the rcp() intrinisic.
...
SM1 already has the RCP opcode implemented; SM4 implementation is in the
next commit.
2024-07-11 16:44:02 +02:00
Petrichor Park
3a49852075
vkd3d-shader/hlsl: Implement tests for the rcp() intrinsic.
2024-07-11 16:43:48 +02:00
Giovanni Mascellani
85fe4c421b
tests: Define WIDL macros in utils.h.
...
This way other headers including utils.h, like d3d12_test_utils.h,
are self-contained.
2024-07-11 00:34:58 +02:00
Elizabeth Figura
59f770214a
vkd3d-shader/hlsl: Implement output SV_Coverage.
2024-07-11 00:33:57 +02:00
Elizabeth Figura
71a3d55e8c
vkd3d-shader/hlsl: Implement the GetRenderTargetSampleCount() intrinsic.
2024-07-11 00:33:57 +02:00
Elizabeth Figura
a5a75d45d3
tests: Implement multisampling in the GL renderer.
2024-07-11 00:33:57 +02:00
Elizabeth Figura
737967604e
tests: Implement multisampling in the Vulkan renderer.
2024-07-11 00:33:57 +02:00
Elizabeth Figura
fe21318b5f
tests/shader_runner: Factor out a resource_desc structure.
2024-07-11 00:33:57 +02:00
Elizabeth Figura
fa570ee1f3
tests/shader_runner: Use resource->width instead of resource->size for buffer width.
2024-07-11 00:33:57 +02:00
Victor Chiletto
76ae871f5b
tests/hlsl: Test loop unrolling edge cases.
2024-07-11 00:32:53 +02:00
Victor Chiletto
2034a8bab9
vkd3d-shader/hlsl: Implement loop unrolling.
...
Based on a patch by Nikolay Sivov.
Co-authored-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-07-11 00:32:53 +02:00
Victor Chiletto
900433e371
tests/hlsl: Add a test for dynamically indexed multisampled texture loads.
2024-07-11 00:31:06 +02:00
Petrichor Park
746222b349
vkd3d-shader/hlsl: Implement the faceforward() intrinsic.
2024-07-09 20:43:41 +02:00
Francisco Casas
60c8a813a3
vkd3d-shader/hlsl: Validate state block function calls.
2024-07-09 20:38:08 +02:00
Francisco Casas
af7c4010f4
tests: Test whether valid state block function names are case-sensitive.
2024-07-09 20:37:20 +02:00
Francisco Casas
b5f2e7daeb
vkd3d-shader/hlsl: Parse function call syntax on state blocks.
2024-07-09 20:36:28 +02:00
Francisco Casas
f15d8dc9e9
tests: Separate the valid stateblock function names test from the string arg test.
...
This test is important because it checks that all the valid names for
stateblock functions with the expected amount of arguments are tested,
but, after parsing state block function calls, the only reason it is
not passing is that we don't parse strings yet.
2024-07-09 20:34:17 +02:00
Giovanni Mascellani
4f67675a51
tests: Support using the Agility SDK in the crosstests.
2024-07-09 16:57:03 +02:00
Giovanni Mascellani
c49daadce1
tests: Enable the d3d12 debug layer message callbacks.
2024-07-09 15:24:18 +02:00
Giovanni Mascellani
e3ddb76a3e
tests: Improve feedback when enabling d3d12 debug layers.
2024-07-09 14:55:55 +02:00
Nikolay Sivov
3dc43e8945
vkd3d-shader: Disallow object structure fields for fx profiles.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-07-08 18:49:28 +02:00