Zebediah Figura
24a27daf98
tests: Add a test for the "nointerpolation" modifier.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-03-22 18:41:43 +01:00
Zebediah Figura
c7623262cc
tests: Specify the primitive type from the shader runner frontend.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-03-22 18:41:41 +01:00
Zebediah Figura
492cd135e3
tests: Specify the vertex count from the shader runner frontend.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-03-22 18:41:39 +01:00
Zebediah Figura
84c73f82f7
tests: Allow specifying a custom vertex buffer.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-03-22 18:41:37 +01:00
Zebediah Figura
f11f7032cd
tests: Make the "texture" structure more generic.
...
Use it to hold any type of resource, regardless of type and binding.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-03-22 18:41:35 +01:00
Zebediah Figura
3ed4c6fe23
tests: Allow specifying a custom input layout.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-03-22 18:41:32 +01:00
Zebediah Figura
16b383aef5
tests: Specify the default vertex shader in the shader runner frontend.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-03-22 18:41:29 +01:00
Zebediah Figura
52223250d7
tests: Add support for running shader tests with a custom vertex shader.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-03-22 18:41:26 +01:00
Zebediah Figura
71db328d38
tests: Remove NULL rect handling from d3d11_runner_probe_vec4().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-03-21 22:35:05 +01:00
Zebediah Figura
099df706f0
tests: Use a macro to define the render target size.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-03-21 22:35:03 +01:00
Zebediah Figura
e5be178fe2
tests: Rename struct d3d11_shader_context to struct d3d11_shader_runner.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-03-21 22:35:01 +01:00
Zebediah Figura
39459d6c3e
tests: Rename struct d3d12_shader_context to struct d3d12_shader_runner.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-03-21 22:34:59 +01:00
Zebediah Figura
5841e79102
tests: Rename struct shader_context to struct shader_runner.
...
This is a bit clearer, and avoids colliding with other things named "context",
e.g. struct test_context, or d3d11 device contexts.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-03-21 22:34:57 +01:00
Zebediah Figura
ead5cc3113
tests: Use SV_VertexID to draw a triangle in d3d11_runner_draw_quad().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com >
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-03-18 22:20:36 +01:00
Zebediah Figura
41d75fde22
vkd3d-shader/hlsl: Write SM4 left shift instructions.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com >
Signed-off-by: Francisco Casas <fcasas@codeweavers.com >
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-03-18 22:20:36 +01:00
Zebediah Figura
ccb3326516
vkd3d-shader/hlsl: Write SM4 bitwise AND instructions.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com >
Signed-off-by: Francisco Casas <fcasas@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-03-18 22:20:36 +01:00
Zebediah Figura
5251ecff89
vkd3d-shader/hlsl: Parse the sv_vertexid semantic.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com >
Signed-off-by: Francisco Casas <fcasas@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-03-18 22:20:36 +01:00
Zebediah Figura
6569b37e97
vkd3d-shader/hlsl: Reverse the switch order in write_sm4_expr().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com >
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
Signed-off-by: Francisco Casas <fcasas@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-03-18 22:20:36 +01:00
Zebediah Figura
8fe4d7d37e
vkd3d-shader/hlsl: Cast pow() input to float.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Francisco Casas <fcasas@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-03-18 22:20:36 +01:00
Francisco Casas
a7e6d6b9d2
vkd3d-shader/hlsl: Remove redundant type check in declare_vars().
...
Signed-off-by: Francisco Casas <fcasas@codeweavers.com >
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-03-18 22:20:36 +01:00
Giovanni Mascellani
84059d61c3
vkd3d-shader/hlsl: Allow offsets for scalar and vector variables.
...
Signed-off-by: Francisco Casas <fcasas@codeweavers.com >
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-03-18 22:20:36 +01:00
Zebediah Figura
ee764359d0
vkd3d-shader/hlsl: Correctly calculate offsets for array elements.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com >
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-03-18 22:20:32 +01:00
Conor McCarthy
2b0fd2a055
vkd3d: Do not copy descriptors having identical views.
...
Improves performance in Control, which copies large numbers of descriptors
per frame where often only ~10% are not identical.
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-03-18 12:40:02 +01:00
Conor McCarthy
5e4f1e1ead
vkd3d: Optimise descriptor copying for Vulkan-backed heaps.
...
Source descriptors are copied to separate arrays to facilitate use of
pre-initialised Vulkan structures, and allow arrayed writes where
possible.
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-03-18 12:40:02 +01:00
Conor McCarthy
2b71ea406f
vkd3d: Back descriptor heaps with Vulkan descriptor sets if descriptor indexing is available.
...
The existing implementation using virtual descriptor heaps, where Vk
descriptor sets are created for the bindings in the root descriptor tables,
is inefficient when multiple command lists are used with large descriptor
heaps. It also cannot support updating a descriptor set after it is bound.
This patch creates Vk sets for each D3D12 heap. Because D3D12 heaps
can contain CBV, SRV and UAV descriptors in the same heap, multiple Vk sets
are needed for each heap, however the total number of populated descriptors
is never more than (heap size + UAV counter count).
A new 'virtual_heaps' config option is introduced to make the old
implementation available when needed. It's not always possible to determine
if this is necessary when the device is created.
Up to nine Vk descriptor sets may be used. It's theoretically possible to
reduce this to eight by placing immutable samplers in the push descriptor
set layout, but contradictions in earlier versions of the Vulkan spec made
driver support inconsistent. The documentation was corrected in version
1.2.203.
This patch also adds support for UAV counter descriptor arrays. It's not
practical to add this in a separate patch due to complications with
combining the old UAV counter implementation with the new descriptor heap
implementation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47713
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47154
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-03-18 12:38:53 +01:00