Hans-Kristian Arntzen
c8f8b24674
vkd3d: Enable ray tracing extensions.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-01-26 15:00:15 +01:00
Hans-Kristian Arntzen
e89c286075
vkd3d: Report OPTIONS7 features.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-01-26 15:00:15 +01:00
Georg Lehmann
c76f37d41c
vkd3d: Introduce VKD3D_FILTER_DEVICE_NAME.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
2021-01-25 15:29:34 +01:00
Hans-Kristian Arntzen
326d1cde60
vkd3d-shader: Remove DXIL being optional.
...
We always build with DXIL, not using autotools anymore.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-01-25 14:03:37 +01:00
Philip Rebohle
c5958d36bc
tests: Add test to stress-test virtual query implementation.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-01-19 14:11:46 +01:00
Philip Rebohle
c6095e740d
vkd3d: Do not create query pool for inline query types.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-01-19 14:11:46 +01:00
Philip Rebohle
7b524590ab
vkd3d: Introduce d3d12_query_heap_type_is_inline.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-01-19 14:11:46 +01:00
Philip Rebohle
098ad5c071
vkd3d: Remove disable_query_optimization workaround.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-01-19 14:11:46 +01:00
Philip Rebohle
7ea11ededb
vkd3d: Use virtual queries for transform feedback queries as well.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-01-19 14:11:46 +01:00
Philip Rebohle
c9525cf5ca
vkd3d: Allocate new virtual query for active queries as necessary.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-01-19 14:11:46 +01:00
Philip Rebohle
b995780de1
vkd3d: Reimplement binary occlusion query resolve.
...
No longer requires BDA support since it's easier now to work
around buffer alignment issues.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-01-19 14:11:46 +01:00
Philip Rebohle
5c550b5cda
vkd3d: Rewrite binary occlusion query resolve shader.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-01-19 14:11:46 +01:00
Philip Rebohle
32f7ba6630
vkd3d: Use virtual queries for inline query types.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-01-19 14:11:46 +01:00
Philip Rebohle
4a558ce501
vkd3d: Compute query stride from heap type rather than query type.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-01-19 14:11:46 +01:00
Philip Rebohle
abc204cea4
vkd3d: Create buffer for query heap as necessary.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-01-19 14:11:46 +01:00
Philip Rebohle
39c7f8f32d
vkd3d: Introduce pending query list.
...
This will store the list of queries to resolve.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-01-19 14:11:46 +01:00
Philip Rebohle
6e3a7d37cc
vkd3d: Store more information in active query list.
...
Allows us to map D3D12 queries to virtual queries and vice versa.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-01-19 14:11:46 +01:00
Philip Rebohle
59acbfeb41
vkd3d: Add query resolve pipelines to meta ops.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-01-19 14:11:46 +01:00
Philip Rebohle
cc8fb3ae1c
vkd3d: Add query resolve shader.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-01-19 14:11:46 +01:00
Philip Rebohle
16f5cff061
vkd3d: Implement virtual query allocation.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-01-19 14:11:46 +01:00
Hans-Kristian Arntzen
634d8fd0fa
dxil-spirv: Update submodule.
...
Fixes HZD SSR regression.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-01-15 13:47:04 +01:00
Hans-Kristian Arntzen
6e50aaf11f
tests: Modify typed_as_untyped test to test copies.
...
Verifies that copying multiple descriptors works as expected.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-01-14 15:34:20 +01:00
Hans-Kristian Arntzen
a531ee5fd4
vkd3d: Remove force_bindless_texel_buffer workaround.
...
Obsolete now that we fully split typed and untyped buffer descriptors.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-01-14 15:34:20 +01:00
Hans-Kristian Arntzen
57f2124721
tests: Remove todo on typed_as_untyped test.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-01-14 15:34:20 +01:00
Hans-Kristian Arntzen
97e0d8e751
vkd3d: Move bindless SSBO out of MUTABLE set and fill both descriptors.
...
We will need separate descriptor sets to be able to handle typed vs
untyped buffer workarounds.
Also writes multiple descriptors for buffers views to make sure MUTABLE
and SSBO sets are filled (or TEXEL_BUFFER + SSBO for non-mutable).
Applications often get this wrong and use raw buffer in shader where
typed view was written and vice versa.
To mitigate this, just write a typed and untyped view together.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-01-14 15:34:20 +01:00
Philip Rebohle
6bddcb4352
vkd3d: Store both byte range and element range in offset buffer.
...
The first range will store the byte offset, the second one will
be the typed buffer range. Typed descriptors should write both.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
Co-authored-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-01-14 15:34:20 +01:00
Hans-Kristian Arntzen
dbbde3c6f1
vkd3d: Remove VKD3D_DESCRIPTOR_FLAG_DEFINED.
...
This is redundant now since this information is carried by set_info_mask.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-01-14 15:34:20 +01:00
Hans-Kristian Arntzen
1bddaa0fff
vkd3d: Allow a heap binding to cover multiple descriptors.
...
This begins the refactor toward letting us to use both texel buffer and
SSBO descriptors for typed buffers, which is a better workaround than
force_bindless_texel_buffers.
In this new approach, we store a mask in metadata instead of
set/binding.
When copying a descriptor, we will iterate over the masks and look up
binding directly from device->bindless_state.set_info[].
The mask is represented in terms of info index rather than set index to
avoid needless lookups. Add some new helpers to make this process
easier.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-01-14 15:34:20 +01:00
Philip Rebohle
f25df5b453
vkd3d: Reset inline queries in BeginQuery.
...
We currently never reset occlusion queries. For some reason,
validation layers do not report this.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-01-14 13:38:21 +01:00
Henri Verbeet
c42f4d11e2
vkd3d-shader: Decorate "precise" arithmetic instructions with SpvDecorationNoContraction.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
2021-01-12 15:22:11 +01:00
Philip Rebohle
29e3d292ae
tests: Mark sparse depth image test as TODO on RADV.
...
Currently, RADV does not support sparse depth images.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-01-11 14:46:07 +01:00
Philip Rebohle
037efbdcda
vkd3d: Add mapping for PACK16 formats.
...
Dirt 5 fails with an error message otherwise.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-01-08 18:37:26 +01:00
Hans-Kristian Arntzen
d003424bc8
meta: Bump Meson build version to 2.1.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-12-14 12:12:12 +01:00
Hans-Kristian Arntzen
793fce068e
meta: Slight modification to CHANGELOG.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-12-12 16:16:59 +01:00
Philip Rebohle
a3d21494f7
vkd3d: Enable query workaround for AC:Valhalla.
...
Fixes #458 .
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-12-12 13:01:52 +01:00
Philip Rebohle
b8c96d9b30
vkd3d: Add workaround to disable occlusion query optimization.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-12-12 13:01:52 +01:00
Hans-Kristian Arntzen
e99a2c9da7
dxil-spirv: Update submodule.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-12-12 12:19:10 +01:00
Hans-Kristian Arntzen
49ed5beb63
meta: Add Cyberpunk 2077 to supported list with (huge) caveats.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-12-11 11:22:45 +01:00
Hans-Kristian Arntzen
9cbd1b2a0d
vkd3d: Add Cyberpunk2077.exe to workaround detection.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-12-11 11:22:45 +01:00
Hans-Kristian Arntzen
c2f1596b3e
tests: Add test for reading typed R32 buffer as untyped.
...
Invokes undefined behavior that many games rely on by accident.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-12-11 11:20:55 +01:00
Philip Rebohle
946bcd7922
vkd3d: Do not store counter address in descriptor.
...
Unnecessary because the UAV counter buffer is a host memory
allocation anyway in case of host-only descriptor heaps, so
we will not read from uncached memory.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-12-10 18:14:16 +01:00
Hans-Kristian Arntzen
0cc374e0f8
meta: Add changelog for 2.1.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-12-09 14:56:24 +01:00
Hans-Kristian Arntzen
8797e15ddd
meta: Add 2.0 change log as a file.
...
Makes it possible to review change logs with Git going forward.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-12-09 14:56:24 +01:00
Hans-Kristian Arntzen
193abc395b
README: Document how to use VKD3D_DESCRIPTOR_QA_LOG.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-12-09 14:51:53 +01:00
Hans-Kristian Arntzen
22a907e11a
vkd3d: Add descriptor QA logging.
...
When reading GPU hang dumps, we can figure out what happened to
descriptor types along the way.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-12-09 14:51:53 +01:00
Philip Rebohle
1d9f28b25f
vkd3d: Add fast path for mutable descriptor copies.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-12-09 14:31:22 +01:00
Philip Rebohle
7d40d8a22e
vkd3d: Rework descriptor copies to copy ranges.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-12-09 14:31:22 +01:00
Hans-Kristian Arntzen
e2185df7de
tests: Remove is_bug for MSAA clear test.
...
Fixed on Mesa master now (FMASK bug).
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-12-07 20:56:48 +01:00
Hans-Kristian Arntzen
a888d81422
vkd3d: Fix embarassing enum bug.
...
Caused crash when using a driver that did not support
mutable_descriptor_type.
Was using the wrong enum bitfields ... Sigh, type safe enums would be nice.
Regression caused during refactor in review most likely.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-12-07 20:55:56 +01:00
Hans-Kristian Arntzen
051ba691be
vkd3d: Clarify comment about not using MEMORY_READ/WRITE.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-12-07 20:45:02 +01:00