Hans-Kristian Arntzen
a0eb938c7f
tests: Only check lower 24-bit when testing D24 copies.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-09 15:57:16 +01:00
Hans-Kristian Arntzen
2da535fbbf
tests: Remove TODO from test_depth_stencil_test_no_dsv.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-09 15:56:45 +01:00
Hans-Kristian Arntzen
3937e1a298
vkd3d: Handle illegal rendering to NULL DSV.
...
Guardians of the Galaxy hits this case. Fallback is to disable depth
attachment entirely in a fallback pipeline.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-09 15:56:45 +01:00
Hans-Kristian Arntzen
45ae742526
vkd3d: Pretend that SSBO alignment on NV is 4 bytes.
...
The 16-byte requirement is kind of a lie. The real requirement is tied
to how vectorized load-store instructions are emitted in the shader
itself since I guess it allows compiler to assume something about
alignment of the base pointer.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-09 14:47:10 +01:00
Hans-Kristian Arntzen
b53a4a98a6
vkd3d: Enable per component robustness on AMD.
...
Tested and verified to work as expected, not so much on NV.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-09 14:47:10 +01:00
Hans-Kristian Arntzen
3210832ad9
vkd3d: Enable VK_EXT_scalar_block_layout.
...
dxil-spirv can take advantage of this now.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-09 14:47:10 +01:00
Hans-Kristian Arntzen
58aab78a5b
vkd3d-shader: Add PER_COMPONENT_ROBUSTNESS shader extension.
...
Signals that we can use vectorized vec3 byte address buffers.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-09 14:47:10 +01:00
Hans-Kristian Arntzen
e605d19ef7
vkd3d-shader: Add shader extension for scalar block layout.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-09 14:47:10 +01:00
Hans-Kristian Arntzen
7986e241f3
dxil-spirv: Update submodule.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-09 14:47:10 +01:00
Hans-Kristian Arntzen
164273521f
tests: Add test for vectorized byte address buffers.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-09 14:47:10 +01:00
Hans-Kristian Arntzen
db89d403d6
dxil-spirv: Update submodule.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-02 17:51:39 +01:00
Hans-Kristian Arntzen
35d2f1e87f
vkd3d: Correctly check for SM 6.6 required features.
...
Remove the experimental flag and unconditionally enable SM 6.6 if
available.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-01 14:20:38 +01:00
Hans-Kristian Arntzen
2b11c70129
vkd3d: Hook up WaveSize implementation.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-01 14:20:38 +01:00
Hans-Kristian Arntzen
6966cd2f33
vkd3d-shader: Reflect CS WaveSize.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-01 14:20:38 +01:00
Hans-Kristian Arntzen
7cc435c0bc
vkd3d: Enable feature bits for 64-bit atomics.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-01 14:20:38 +01:00
Hans-Kristian Arntzen
de64ebd1d1
vkd3d: Expose Int64 feature.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-01 14:20:38 +01:00
Hans-Kristian Arntzen
23ad0247e3
vkd3d: Enable 64-bit atomics extensions.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-01 14:20:38 +01:00
Hans-Kristian Arntzen
a392e82d1c
tests: Add test for SM 6.6 packed intrinsics.
...
To get any performance out of these, we require Int8, which is
fortunately widely supported.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-01 14:20:38 +01:00
Hans-Kristian Arntzen
570ecd5f79
tests: Add SM 6.6 WaveSize test.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-01 14:20:38 +01:00
Hans-Kristian Arntzen
1d99a80f22
tests: Add test for SM 6.6 IsHelperLane().
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-01 14:20:38 +01:00
Hans-Kristian Arntzen
b47282e78a
tests: Add test for SM 6.6 64-bit atomics.
...
Tests all major scenarios:
- Root descriptor
- Table
- Typed
- Groupshared
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-01 14:20:38 +01:00
Hans-Kristian Arntzen
cd2218e9c3
dxil-spirv: Update submodule.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-01 14:20:38 +01:00
Hans-Kristian Arntzen
6255eaec32
vkd3d: Stub out the more recent FEATURE_DATA structs.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-01 14:20:38 +01:00
Hans-Kristian Arntzen
daa96ba879
idl: Add new OPTIONS feature structs.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-01 14:20:38 +01:00
David Gow
2a8b5471ca
vkd3d: Handle D3D12_APPEND_ALIGNED_ELEMENT for <4 byte wide elements
...
In d3d12, input element alignment needs to be the _minimum_ of 4 and the size of
the type. See the D3D11 spec, section 4.4.6, which behaves similarly:
https://microsoft.github.io/DirectX-Specs/d3d/archive/D3D11_3_FunctionalSpec.htm#4.4.6%20Element%20Alignment
This is correctly taken into account when generating, e.g., the
vertex_buffer_stride_align_mask used for validation, but is not taken
into account when D3D12_APPEND_ALIGNED_ELEMENT is used to automatically
place input elements. Currently, vkd3d always assumes the alignment is
4.
This means that, for example, bytes or shorts should be packed tightly
together when D3D12_APPEND_ALIGNED_ELEMENT is used, but are instead
padded to 4 bytes.
Fixing this makes units appear in Age of Empires IV (see vkd3d-proton
issue #880 for examples.)
Signed-off-by: David Gow <david@ingeniumdigital.com>
2021-11-01 13:30:04 +01:00
Robin Kertels
430c77d3b3
vkd3d: Don't add xfb struct to rasterization state when NumEntries is 0.
...
Wine VKD3D version of my original commit.
Co-authored-by: Conor McCarthy <cmccarthy@codeweavers.com>
Signed-off-by: Robin Kertels <robin.kertels@gmail.com>
2021-10-29 18:06:31 +02:00
Hans-Kristian Arntzen
c20852435d
tests: Add tests for SM 6.6 compute derivatives.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-27 17:00:33 +02:00
Hans-Kristian Arntzen
cd04aa63e6
tests: Test semantics for quad ops in SM 6.6.
...
Depending on the shader model used, quads are assigned to lanes differently.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-27 17:00:33 +02:00
Hans-Kristian Arntzen
85c75a042f
vkd3d: Enable VK_NV_compute_shader_derivatives.
...
Supported on more implementations too :)
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-27 17:00:33 +02:00
Hans-Kristian Arntzen
30436436cd
dxil-spirv: Update submodule.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-27 17:00:33 +02:00
Georg Lehmann
eb48213bfa
vkd3d: Follow the new shaderStorageImage{Read, Write}WithoutFormat rules.
...
The Vulkan spec update 1.2.195 restricted these features to a very limited
format subset, and somehow this is supposed to not be an API break?
Anyway, let's follow the new rules.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
2021-10-27 17:00:21 +02:00
Georg Lehmann
fd690e3831
vkd3d: Enable typed uav loads based on KHR_format_feature_flags2.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
2021-10-27 17:00:21 +02:00
Georg Lehmann
07d53a82cc
vkd3d: Init shader extensions later.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
2021-10-27 17:00:21 +02:00
Georg Lehmann
4c37b4c341
vkd3d: Use vkGetPhysicalDeviceFormatProperties2.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
2021-10-27 17:00:21 +02:00
Georg Lehmann
c8d633cb51
vkd3d: Enable VK_KHR_format_feature_flags2.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
2021-10-27 17:00:21 +02:00
Hans-Kristian Arntzen
8ff91b23d6
vkd3d-shader: Hook up global descriptor heap for DXIL.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-26 15:32:36 +02:00
Hans-Kristian Arntzen
aadccb66cf
vkd3d: Add more root signature flags to the list of flags we recognize.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-26 15:32:36 +02:00
Hans-Kristian Arntzen
8977eaef88
vkd3d: Initialize global heap bindings for SM 6.6.
...
Refactor code which emits SRV/UAV bindings to common code.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-26 15:32:36 +02:00
Hans-Kristian Arntzen
cbef48f90a
vkd3d: Refactor out how binding counts are parsed.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-26 15:32:36 +02:00
Hans-Kristian Arntzen
6548e4fd00
vkd3d: Add VKD3D_CONFIG for experimentally enabling SM 6.6.
...
To be used for bringup and removed when we complete the support.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-26 15:32:36 +02:00
Hans-Kristian Arntzen
ae185271ff
tests: Add SM 6.6 bindless heap test.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-26 15:32:36 +02:00
Hans-Kristian Arntzen
1a57aa841a
idl: Add new SM 6.6 root signature flags.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-26 15:32:36 +02:00
Hans-Kristian Arntzen
e74213c576
dxil-spirv: Update submodule.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-26 15:32:36 +02:00
Danylo Piliaiev
f6c61a3eae
tests: Use 4 samples in test_shader_get_render_target_sample_count
...
Spec for CheckMultisampleQualityLevels says:
"FEATURE_LEVEL_11_0 devices are required to support 4x MSAA for all
render target formats, and 8x MSAA for all render target formats
except R32G32B32A32 formats."
Test uses R32G32B32A32_FLOAT and since we don't check if this format
supports 8x MSAA, reduce MSAA to the minimum required by spec.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
2021-10-26 10:35:30 +02:00
Hans-Kristian Arntzen
5657f79974
tests: Test that buffer -> DS copies RowPitch is handled correctly.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-20 15:48:12 +02:00
Hans-Kristian Arntzen
a0a29bae43
vkd3d: Use correct formats for image -> buffer copies.
...
Need to use placed format explicitly if we're copying planar resources.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-20 15:48:12 +02:00
ifedorov
0abe8a21dd
Fixed row length calculation in CopyTextureRegion()
...
Signed-off-by: Ivan Fedorov <ifedorov@nvidia.com>
2021-10-20 14:28:35 +02:00
Hans-Kristian Arntzen
9a1b7ab002
dxil-spirv: Update submodule.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-20 14:12:50 +02:00
Hans-Kristian Arntzen
55e16539db
meta: Update Meson build version to 2.5.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-18 17:31:03 +02:00
Philip Rebohle
9477d4af3d
meta: Add Anno fix to change log.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-10-18 17:29:29 +02:00