Hans-Kristian Arntzen
8305ddec92
tests: Add test for various clear patterns with fully typed cast.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-26 15:56:43 +01:00
Hans-Kristian Arntzen
3c9b8cb040
tests: Add detailed meta-test for CastFullyTypedFormat.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-26 15:56:43 +01:00
Georg Lehmann
4240ab7559
vkd3d: Allow B8G8R8A8 UAVs.
...
This is now allowed according to
https://microsoft.github.io/DirectX-Specs/d3d/RelaxedCasting.html
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
2021-11-24 15:15:14 +01:00
Hans-Kristian Arntzen
7391e38602
vkd3d: Fix some type errors after idl update.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-22 16:25:13 +01:00
Philip Rebohle
9185edb42a
vkd3d: Implement ID3D12GraphicsCommandList6.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-11-19 14:57:51 +01:00
Philip Rebohle
b03c1fcb5f
vkd3d: Implement ID3D12Device9.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-11-19 14:57:51 +01:00
Philip Rebohle
3b6a4ab988
vkd3d: Implement ID3D12Device8 and ID3D12Resource2.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-11-19 14:57:51 +01:00
Philip Rebohle
d61f562a3e
vkd3d: Implement ID3D12Device7.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-11-19 14:57:51 +01:00
Philip Rebohle
930e7cb251
idl: Add new interfaces up to ID3D12Device9.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-11-19 14:57:51 +01:00
Hans-Kristian Arntzen
6ad67bdecd
dxil-spirv: Update submodule.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-18 14:05:20 +01:00
Joshua Ashton
046524f2a1
vkd3d: Implement MinLODClamp using VK_EXT_image_view_min_lod
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-11-17 20:51:20 +01:00
Joshua Ashton
7241164e2d
khronos: Update Vulkan headers.
...
Update to v1.2.199.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-11-17 20:51:20 +01:00
Hans-Kristian Arntzen
99e067d681
dxil-spirv: Update submodule.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-16 20:50:46 +01:00
Georg Lehmann
344f8d1ed4
tests: Fix various alignment warnings on 32bit clang.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
2021-11-16 20:29:18 +01:00
Robin Kertels
19a1dce393
vkd3d: Set GetCopyableFootprints total_bytes late.
...
Halo Infinite uses &desc->Width for total_bytes.
We can't set total_bytes early because code after this relies on desc->Width.
Signed-off-by: Robin Kertels <robin.kertels@gmail.com>
2021-11-16 11:53:18 +01:00
Hans-Kristian Arntzen
3fefc540c8
vkd3d: Handle 64KB_UNDEFINED_SWIZZLE.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-12 10:32:13 +01:00
Hans-Kristian Arntzen
16d8bae263
dxil-spirv: Update submodule.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-11 17:13:16 +01:00
Hans-Kristian Arntzen
0251b4045c
dxil-spirv: Update submodule.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-10 15:17:36 +01:00
Hans-Kristian Arntzen
54da1dc9b2
tests: Only test FP64 if device supports it.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-09 15:57:48 +01:00
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