Philip Rebohle
4000397570
vkd3d: Remove legacy format compatibility info.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-11-26 16:51:01 +01:00
Philip Rebohle
0de25ac3cd
vkd3d: Do not use vkd3d_find_uint_format in ClearUAV.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-11-26 16:51:01 +01:00
Philip Rebohle
ab111dcdbe
vkd3d: Don't use vkd3d_get_typeless_format to determine shader copy usage.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-11-26 16:51:01 +01:00
Philip Rebohle
99d949f5fb
vkd3d: Fix enablement of MUTABLE_FORMAT_BIT and EXTENDED_USAGE_BIT.
...
We previously did not take into account the new relaxed format compatibility
rules that we allow with CastingFullyTypedFormatSupported being supported.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-11-26 16:51:01 +01:00
Philip Rebohle
9624102dcb
vkd3d: Rework format compatibility lists.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-11-26 16:51:01 +01:00
Philip Rebohle
42b8fc3338
vkd3d: Introduce new format compatibility table.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-11-26 16:51:01 +01:00
Hans-Kristian Arntzen
6a7eee33b5
tests: Remove obsolete format feature check.
...
BGRA8 UAV is allowed now.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-11-26 16:32:05 +01:00
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