Henri Verbeet
8577747879
vkd3d: Normalise layer counts in d3d12_desc_create_srv().
...
I'm not aware of any issue caused by not normalising SRV layer counts, but
this makes it consistent with the other view types.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2021-10-12 18:38:04 +02:00
Conor McCarthy
3f6f615e50
vkd3d: Normalise layer counts in d3d12_dsv_desc_create_dsv().
...
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2021-10-12 18:38:01 +02:00
Conor McCarthy
4c07252da6
vkd3d: Normalise layer counts in d3d12_rtv_desc_create_rtv().
...
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2021-10-12 18:37:58 +02:00
Conor McCarthy
bec4f0a85e
vkd3d: Normalise layer counts in vkd3d_create_texture_uav().
...
Passing UINT_MAX as layer count to Direct3D behaves similar to passing
VK_REMAINING_ARRAY_LAYERS to Vulkan. Since these have the same value,
everything usually works out even without normalisation. However, there are
some exceptions; for example, we calculate workgroup counts for UAV clears
from layer counts using vkd3d_compute_workgroup_count(), which doesn't handle
UINT_MAX. Normalising layer counts during view creation avoids having to
handle this issue in the rest of the code.
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2021-10-12 18:37:56 +02:00
Conor McCarthy
85def272ae
vkd3d-shader/spirv: Correctly handle bit shifts greater than 31 bits.
...
This is undefined behaviour in SPIR-V, but well-defined in Direct3D, so we
should explicitly 'and' the shift amount with 31.
Based on a vkd3d-proton patch by Philip Rebohle.
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2021-10-12 18:37:53 +02:00
Conor McCarthy
0c3fb46a7a
tests: Add a test for 5-bit masking of shader bit shift operands.
...
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2021-10-12 18:37:51 +02:00
Robin Kertels
21725c5c08
vkd3d: Ignore D3D12_SO_NO_RASTERIZED_STREAM when stream output is disabled.
...
Fixes the black screen problem in Diablo 2: Resurrected.
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2021-10-11 21:25:28 +02:00
Conor McCarthy
8fbe785c11
tests: Use D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER for constant buffers in test_unbounded_resource_arrays().
...
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2021-10-11 21:25:27 +02:00
Conor McCarthy
58b52f6950
tests: Use a bounded range between unbounded ranges in test_unbounded_resource_arrays().
...
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2021-10-11 21:25:25 +02:00
Conor McCarthy
821bb0c5cf
vkd3d-shader/spirv: Add non-uniform decorations.
...
Based in part on vkd3d-proton patches by Philip Rebohle and Hans-Kristian Arntzen.
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2021-10-11 21:25:22 +02:00
Zebediah Figura
cd2df526e1
vkd3d-shader/hlsl: Parse the Load() method.
...
Signed-off-by: Zebediah Figura <zfigura@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 >
2021-10-08 16:56:33 +02:00
Zebediah Figura
aafe776401
vkd3d-shader/hlsl: Handle texture types in hlsl_type_to_string().
...
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: Alexandre Julliard <julliard@winehq.org >
2021-10-08 16:56:30 +02:00
Zebediah Figura
a56c294abe
vkd3d-shader/hlsl: Parse explicitly typed texture types.
...
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 >
2021-10-08 16:56:28 +02:00
Zebediah Figura
a318f36e59
vkd3d-shader/hlsl: Lex the Texture* keywords.
...
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: Alexandre Julliard <julliard@winehq.org >
2021-10-08 16:56:26 +02:00
Zebediah Figura
fcb03a9947
vkd3d-shader/hlsl: Parse texture types.
...
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 >
2021-10-08 16:56:23 +02:00
Giovanni Mascellani
64bd7f677c
tests: Mark WriteToSubresource test as todo on NVIDIA.
...
Similarly to ReadFromSubresource, WriteToSubresource is currently
implemented only for images with linear tiling, which NVIDIA drivers
currently do not support.
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2021-10-06 22:27:04 +02:00
Conor McCarthy
104626cc1d
vkd3d: Create and write descriptor sets for root signature unbounded ranges.
...
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2021-10-06 20:28:44 +02:00
Conor McCarthy
d3090699c5
vkd3d: Reject descriptor tables containing register collisions.
...
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2021-10-06 20:28:41 +02:00
Conor McCarthy
c5fdd2f404
vkd3d: Reject OFFSET_APPEND after unbounded ranges in d3d12_root_signature_info_count_descriptors().
...
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2021-10-06 20:28:38 +02:00
Henri Verbeet
441d8e24b2
tests: Add root signature tests for unbounded descriptor ranges.
...
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2021-10-06 20:28:35 +02:00
Conor McCarthy
39ec44f345
tests: Add root signature tests for descriptor register range collisions.
...
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2021-10-06 20:28:30 +02:00
Henri Verbeet
b5a7abbfa6
vkd3d-shader/sm1: Add support for vkd3d_shader_scan().
...
Nominally, at least. Not all of the early shader models explicitly
declare resources and samplers, so those may currently get missed for
those.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2021-10-06 18:35:46 +02:00
Henri Verbeet
f7662f9878
vkd3d-shader/sm1: Introduce a parser for the legacy D3D byte-code format.
...
This is largely derived from the parser in Wine/wined3d, as of wine-6.18.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2021-10-06 18:35:44 +02:00
Henri Verbeet
28316b2694
vkd3d-shader: Introduce struct vkd3d_shader_parser_ops.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2021-10-06 18:35:42 +02:00
Henri Verbeet
f5c6f2ea0e
vkd3d-shader: Introduce vkd3d_shader_parser_error().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2021-10-06 18:35:40 +02:00