Hans-Kristian Arntzen
ec5b4ccecf
vkd3d: Ensure that swapchain is eventually recreated.
...
Latch SUBOPTIMAL state.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-06-02 19:46:05 +02:00
Joshua Ashton
efa0eccc59
vkd3d: Low latency presentation and acquire semaphores
...
In cases where acquire image is blocking, we should call that after
presentation to avoid latency when the app calls present.
This avoids weird inverse frame cadences with Mesa WSI right now,
as acquiring an image is always a blocking call until it is complete.
In cases when we aren't blocking, this kicks off the acquisition so
it can be waited upon by the next present blit pass.
Use another set of semaphores to wait for the image acquisition on the
GPU.
In the non-blocking vkAcquireNextImageKHR case, this means that a
potential bubble of time between waiting on the fence and submitting
the blit + presentation is eliminated.
Runaway presentation in this setup is avoided by frame latency objects
and normal frame latency which is always 3 according to documentation.
Be careful about handling SUBOPTIMAL. Semaphores will be signaled, but
we might want to tear down the swapchain. In these cases, we need to
wait for the semaphore to be signaled first, which can only be done by
submitting a wait, since QueueWaitIdle or DeviceWaitIdle don't cover
WSI.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Co-authored-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-06-02 19:46:05 +02:00
Joshua Ashton
92ed98ccea
vkd3d: Handle frame latency without WAITABLE_OBJECT
...
Documentation says that this should always be 3 without WAITABLE_OBJECT
unlike in D3D11 where it will use the DXGI device's frame latency.
This stops runaway presentations in the non-blocking acquire image case
with the new semaphore setup.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-06-02 19:46:05 +02:00
Hans-Kristian Arntzen
6f5f55c84a
vkd3d: Avoid oldSwapchain.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-06-02 19:46:05 +02:00
Hans-Kristian Arntzen
582138b063
tests: Fix Clear UAV test constant.
...
Was using 0x8000 / 0xffff instead of 0x200 / 0x3ff, rounded differently
on NV.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-05-28 17:42:00 +02:00
Hans-Kristian Arntzen
616538aa47
tests: Add missing UAV barrier in bindless counter test.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-05-28 15:56:18 +02:00
Hans-Kristian Arntzen
fee18f1820
dxil-spirv: Update submodule.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-05-28 15:41:49 +02:00
Hans-Kristian Arntzen
a83c99ba77
vkd3d-shader: Don't apply offset buffers for non-bindless resources.
...
Fixes root descriptors when BDA support is disabled.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-05-27 23:30:51 +02:00
Hans-Kristian Arntzen
1a7b470681
tests: Add clear UAV test for RGB10A2 format.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-05-27 15:34:53 +02:00
Hans-Kristian Arntzen
32a2bd65f9
tests: Remove TODOs in ClearUAV.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-05-27 15:34:53 +02:00
Hans-Kristian Arntzen
fa471962dc
vkd3d: Mask clear color in ClearUAVUint.
...
Fixes test TODOs. Apparently Vulkan drivers can saturate here, which
caused the TODO to appear, at least on AMD Windows.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-05-27 15:34:53 +02:00
Hans-Kristian Arntzen
3c7f188863
vkd3d: Nuke code paths for !nullDescriptor.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-05-27 10:39:22 +02:00
Hans-Kristian Arntzen
7bf93b844d
vkd3d: Require VK_EXT_robustness2.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-05-27 10:39:22 +02:00
Hans-Kristian Arntzen
0b8490a6b9
meta: DXBC descriptor QA is supported.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-05-26 17:26:01 +02:00
Hans-Kristian Arntzen
a3fb2f1cd6
vkd3d-shader: Opt-in to early fragment tests with descriptor QA.
...
Since we introduce side effects, avoid full late-Z for everything, which
is slow, and not necessarily correct either.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-05-26 17:26:01 +02:00
Hans-Kristian Arntzen
077740f15c
vkd3d-shader: Implement descriptor QA for DXBC as well.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-05-26 17:26:01 +02:00
Hans-Kristian Arntzen
e60fab591b
vkd3d: Add more enums/name LUTs for descriptor QA.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-05-26 17:26:01 +02:00
Hans-Kristian Arntzen
3470feceb4
meta: Add descriptor_qa_checks to README.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-05-26 17:26:01 +02:00
Hans-Kristian Arntzen
a256a9266e
vkd3d: Rewrite descriptor QA.
...
Adds support for GPU-assisted validation of descriptor usage in the
CBV_SRV_UAV heap.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-05-26 17:26:01 +02:00
Hans-Kristian Arntzen
815277e392
vkd3d: Add data structures for descriptor QA.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-05-26 17:26:01 +02:00
Hans-Kristian Arntzen
5e67d30883
vkd3d: Add config option for descriptor QA.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-05-26 17:26:01 +02:00
Hans-Kristian Arntzen
0d5f1d7784
vkd3d-shader: Add way to pass down descriptor QA buffers.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-05-26 17:26:01 +02:00
Hans-Kristian Arntzen
b49df76367
dxil-spirv: Update submodule.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-05-26 17:26:01 +02:00
Hans-Kristian Arntzen
c7d9faedea
vkd3d: Add atomic OR support.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-05-26 17:26:01 +02:00
Hans-Kristian Arntzen
96a84e2633
vkd3d: Fix build with DESCRIPTOR_QA.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-05-26 17:26:01 +02:00
Joshua Ashton
925a930d1e
vkd3d: Fix missing trace arg in SetPipelineStackSize
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-05-20 11:36:21 +02:00
Joshua Ashton
2a82358c3f
build: Don't strip binaries when doing a --dev-build
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-05-19 17:29:13 +02:00
Hans-Kristian Arntzen
9d405f0366
vkd3d: Don't try to use fallback SRV aux heap.
...
DXR requires buffer_device_address, so it's meaningless to attempt a
fallback.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-05-13 08:25:10 +01:00
David McCloskey
1744896142
vkd3d: Fix for freeing memory created with aligned_malloc
...
Signed-off-by: David McCloskey <davmcclo@gmail.com>
2021-05-07 06:42:12 +01:00
David McCloskey
217ffc27d2
vkd3d: Type error fix for d3d12_device_get_query_pool.
...
Signed-off-by: David McCloskey <davmcclo@gmail.com>
2021-05-07 06:41:59 +01:00
David McCloskey
09f5366941
build: clang-cl support for native Windows builds.
...
Signed-off-by: David McCloskey <davmcclo@gmail.com>
2021-05-07 06:41:39 +01:00
Hans-Kristian Arntzen
8734589e92
dxil-spirv: Update submodules.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-05-05 14:47:16 +02:00
Hans-Kristian Arntzen
47cae1095e
tests: Test copying depth-stencil to color.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-05-05 00:11:10 +02:00
Hans-Kristian Arntzen
43bf0ed8c1
vkd3d: Ensure SAMPLED | COLOR_ATTACHMENT for R8_TYPELESS.
...
Needed for stencil -> color copies potentially.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-05-05 00:11:10 +02:00
Hans-Kristian Arntzen
4f0872152a
meta: Add fs_copy_uint path.
...
For stencil -> color copies.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-05-05 00:11:10 +02:00
Hans-Kristian Arntzen
ef5ad082a0
vkd3d: More precise logging for fallback copy fixmes.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-05-05 00:11:10 +02:00
Hans-Kristian Arntzen
0e93af9700
vkd3d: Handle multiple planes in subresource conversion for copies.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-05-05 00:11:10 +02:00
Hans-Kristian Arntzen
e02031220a
dxil-spirv: Update submodule.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-05-04 15:41:37 +02:00
Georg Lehmann
a411256c7f
vkd3d: Enable and require shaderDrawParameters.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
2021-04-29 06:48:37 +01:00
Joshua Ashton
3ed3526332
meson: Update to version 2.3.1
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-04-27 15:03:38 +01:00
Joshua Ashton
7d123c4774
meta: Update CHANGELOG for 2.3.1
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-04-27 15:03:38 +01:00
Joshua Ashton
1267b2a985
build: Fix installing vkd3d-proton when Wine is built without vkd3d
...
This would fail previously as Wine does not have d3d12.dll for us to make .old
Closes : #559
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-04-27 12:54:44 +01:00
Joshua Ashton
68d5510bdf
build: Avoid Wine Mono and Gecko installs in the setup script
...
Co-authored-by: Alexis Peypelut <iroalexis@outlook.fr>
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-04-27 12:54:44 +01:00
Hans-Kristian Arntzen
c7890219e7
dxil-spirv: Update submodule.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-04-27 12:21:21 +02:00
Georg Lehmann
b858f8a478
vkd3d: Don't error out if vkGetPhysicalDeviceFragmentShadingRatesKHR isn't found.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
2021-04-24 18:23:46 +01:00
Hans-Kristian Arntzen
26584b4d7c
meson: Update to version 2.3.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-04-22 17:28:44 +02:00
Hans-Kristian Arntzen
f4afcabed8
dxil-spirv: Update submodule.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-04-22 17:28:35 +02:00
Hans-Kristian Arntzen
99a180f7a1
vkd3d-utils: Fix .def version.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-04-22 15:30:58 +01:00
Joshua Ashton
364402c5ac
meta: Add some extra stuff to the 2.3 CHANGELOG
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-04-21 16:30:26 +02:00
Hans-Kristian Arntzen
be1b941e06
vkd3d: Workaround buggy NV driver in sparse update.
...
test_update_tile_mappings fails if we don't do this.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-04-21 16:29:05 +02:00