Hans-Kristian Arntzen
7ab0846242
tests: Add test for placed resource runtime validation.
...
Runtime validates resource size.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-06-17 15:53:35 +02:00
Philip Rebohle
6d1d60e898
tests: Test tile mappings for 3D textures.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-06-14 15:53:33 +02:00
Philip Rebohle
14617a7bb2
tests: Test resource tiling for 3D textures.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-06-14 15:53:33 +02:00
Philip Rebohle
b97a012787
vkd3d: Enable tiled resources tier 3.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-06-14 15:53:33 +02:00
Hans-Kristian Arntzen
42fb018d85
vkd3d: Fix leak of command pools on device destruction.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-06-11 15:17:45 +02:00
Hans-Kristian Arntzen
d7843fa012
vkd3d: Fix potential deadlock in debug ring.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-06-11 11:04:38 +02:00
Hans-Kristian Arntzen
58854b0a9c
vkd3d: Fix potential deadlock in descriptor QA checks.
...
If we destroy device right after creating it, we risk a deadlock.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-06-11 11:04:38 +02:00
Hans-Kristian Arntzen
76a8914d6b
vkd3d: Add validation error workaround.
...
Our internal copy shaders are fine, but we get benign errors about
sample count being wrong since we alias descriptors.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-06-10 14:19:04 +02:00
Hans-Kristian Arntzen
abe0995e88
vkd3d: Use correct allocation size for memory block.
...
We cannot use the memory requirement output, since we will zero-clear
memory with a size that might be larger than the VkBuffer size.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-06-10 14:16:01 +02:00
Hans-Kristian Arntzen
fda8cba2b8
tests: Add missing resource barrier to some tests.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-06-10 13:57:32 +02:00
Hans-Kristian Arntzen
8056a71415
tests: Fix wrong resource state in test_bufinfo_instruction.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-06-10 13:57:32 +02:00
Hans-Kristian Arntzen
3c6174cafc
tests: Fix type mismatch in test_draw_uav_only.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-06-10 13:57:32 +02:00
Hans-Kristian Arntzen
b922292852
vkd3d: Fix view object leak when creating fallback UAV clear view.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-06-10 13:50:54 +02:00
rochaudhari
1699743c37
vkd3d: Enable binary import and image view handle extensions
...
Signed-off-by: Roshan Chaudhari <rochaudhari@nvidia.com>
Reviewed-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
2021-06-10 11:26:34 +02:00
rochaudhari
ba997f0736
vk-headers: Update subprojects/Vulkan-Headers to 1.2.180
...
This is needed for VK_NVX_binary_import and VK_NVX_image_view_handle.
Signed-off-by: Roshan Chaudhari <rochaudhari@nvidia.com>
Reviewed-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
2021-06-10 11:26:34 +02:00
conor42
3b1f34217c
vkd3d-shader: Fix a bug in constant double vector handling.
...
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com>
2021-06-09 20:54:02 -07:00
conor42
2ad16f89d3
tests: Modify dadd test to use a double2 vector.
...
Tests a codepath in vkd3d_dxbc_compiler_get_constant() where
component_count != 1.
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com>
2021-06-09 20:54:02 -07:00
Hans-Kristian Arntzen
20a96cab57
dxil-spirv: Update submodule.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-06-08 15:35:20 +02:00
Hans-Kristian Arntzen
a09819250f
tests: Add null descriptor mismatch type test.
...
Verifies that we splat null descriptors appropriately.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-06-07 13:21:31 +02:00
Hans-Kristian Arntzen
47f978fec3
tests: Test clearing a NULL UAV.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-06-07 13:21:31 +02:00
Hans-Kristian Arntzen
9983a1720f
vkd3d: Splat null descriptors to all sets.
...
Some games end up writing the wrong descriptor type when using null
descriptors, and to be robust against that, we have to clear out
all descriptors when creating null descriptors.
If we copy a null descriptor, we will also have to copy from all sets.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-06-07 13:21:31 +02:00
Hans-Kristian Arntzen
969776c1f8
vkd3d: Ignore NULL descriptor ClearUAV.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-06-07 13:21:31 +02:00
Hans-Kristian Arntzen
c7c17d05ed
vkd3d: Fix descriptor QA checks for CBV_AS_SSBO.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-06-07 13:21:06 +02:00
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