Hans-Kristian Arntzen
eca8e49564
vkd3d: Do not attempt to enable anything RT related.
...
Temporary workaround for release build to avoid causing vkCreateDevice failures on Ampere
with Steam Linux runtime.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-02-19 20:45:04 +01:00
Hans-Kristian Arntzen
dc246a70fc
meson: Bump version to 2.2.
2021-02-19 20:23:10 +01:00
Philip Rebohle
1d7e424c44
vkd3d: Mask certain heap flags when suballocating memory.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-02-19 20:18:24 +01:00
Philip Rebohle
f6c6a76735
vkd3d: Store original heap flags in d3d12_resource again.
...
Otherwise, when suballocating memory, GetHeapProperties may
not return the exact same set of flags if we ignore flags
when looking up suitable chunks.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-02-19 20:18:24 +01:00
Philip Rebohle
be080edc7f
vkd3d: Remove vkd3d_allocate_resource_memory.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-02-19 19:51:44 +01:00
Philip Rebohle
a1e5b78bc4
vkd3d: Suballocate committed images if possible and if supported by the driver.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-02-19 19:51:44 +01:00
Philip Rebohle
a1ffea1800
vkd3d: Fix integer underflow when checking for suitable free ranges.
...
The difference between a range's offset and the aligned
offset may be greater than the size of that range.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-02-19 18:11:36 +01:00
Hans-Kristian Arntzen
0fdf69ff46
changelog: Update for 2.2.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-02-19 13:49:25 +01:00
Hans-Kristian Arntzen
d6d8e70955
tests: Add image placement alignment test.
...
Validates that we can create RTVs at 64k alignment without issues.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-02-19 13:19:51 +01:00
Joshua Ashton
bb3e5f6cad
vkd3d: Account for front buffer in swapchain image count
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-02-19 13:17:15 +01:00
Philip Rebohle
be4391b972
vkd3d: Align images manually to meet Vulkan requirements if necessary.
...
Allows us to not allocate device memory for certain render targets on
Polaris GPUs.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-02-18 18:25:23 +01:00
Philip Rebohle
d6a4826099
vkd3d: Remove heap_offset member from d3d12_resource.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-02-18 14:17:22 +01:00
Philip Rebohle
56ff4622b6
vkd3d: Remove cookie member from d3d12_resource.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-02-18 14:17:22 +01:00
Philip Rebohle
6e81621b82
vkd3d: Remove gpu_address member from d3d12_resource.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-02-18 14:17:22 +01:00
Philip Rebohle
833d7e207c
vkd3d: Remove vk_buffer/vk_image union from d3d12_resource.
...
Use the unique_resource struct instead.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-02-18 14:17:22 +01:00
Philip Rebohle
5a0a5ef44b
vkd3d: Remove unused resource flags and rename SPARSE -> RESERVED.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-02-18 14:17:22 +01:00
Philip Rebohle
6a34d3d204
vkd3d: Remove _2 suffix from memory allocation functions.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-02-18 14:17:22 +01:00
Philip Rebohle
53f6a9c78a
vkd3d: Rename _2 suffix from resource creation functions.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-02-18 14:17:22 +01:00
Philip Rebohle
a2e14d7d1d
vkd3d: Remove _2 suffix from d3d12_heap_2 and related functions.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-02-18 14:17:22 +01:00
Philip Rebohle
6f8bb2a4c0
vkd3d: Use vkd3d_allocate_device_memory_2 for sparse metadata.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-02-18 14:17:22 +01:00
Philip Rebohle
12f0c11c7f
vkd3d: Simplify vkd3d_allocate_image_memory helper.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-02-18 14:17:22 +01:00
Philip Rebohle
ab2c190da5
vkd3d: Simplify vkd3d_allocate_buffer_memory helper.
...
This is still useful as a low-level memory allocation function when
we don't want to bother with buffer offsets or D3D12 validation.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-02-18 14:17:22 +01:00
Philip Rebohle
db2e0c7587
vkd3d: Remove vkd3d_gpu_va_allocator.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-02-18 14:17:22 +01:00
Philip Rebohle
8826f3c5bc
vkd3d: Remove d3d12_heap and old resource creation functions.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-02-18 14:17:22 +01:00
Philip Rebohle
9792b02b26
vkd3d: Use vkd3d_memory_allocation for scratch buffers.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-02-18 14:17:22 +01:00
Philip Rebohle
db1b425d2a
vkd3d: Use new resource and heap implementations.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-02-18 14:17:22 +01:00
Hans-Kristian Arntzen
8437eea2c0
vkd3d: Remove clamping assumption in RTPSO stack size.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-02-18 14:16:31 +01:00
Hans-Kristian Arntzen
e228367e98
tests: Allow SetPipelineStackSize to propagate properly.
...
AMD and NV driver behaviors don't agree here, choose NV behavior as it
makes more sense.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-02-18 14:16:31 +01:00
Hans-Kristian Arntzen
3a48b97dd1
tests: Clean up some manual WCHAR strings.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-02-18 14:16:31 +01:00
Hans-Kristian Arntzen
20c4dfc685
tests: Add multithreaded suballocation test.
...
Also stresses VA mapping.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-02-18 14:16:31 +01:00
Joshua Ashton
f01935d69e
vkd3d: Fix SetName for inline query types
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-02-18 02:41:45 +01:00
Philip Rebohle
6fc8b67576
vkd3d: Fix incorrect chunk assignment for chunk allocations.
...
Our clear code assume that this is NULL for allocations owned
by a chunk, so we should actually do it that way. Fixes some
issues where we do not wait for clears to complete if a chunk
gets destroyed.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-02-17 16:38:47 +01:00
Philip Rebohle
e12afd31d9
vkd3d: Actually use VKD3D_VA_BLOCK_COUNT.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-02-17 16:38:47 +01:00
Philip Rebohle
35f90c4b2f
vkd3d: Only print some swapchain FIXMEs once.
...
Silences a whole bunch of log spam in Control.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-02-17 13:37:41 +01:00
Hans-Kristian Arntzen
ea088ceecf
vkd3d: Use UINT64* instead of uint64_t* in 64-bit CAS.
...
Avoids alignment warnings on 32-bit.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-02-16 16:14:14 +00:00
Hans-Kristian Arntzen
7051bf76f7
vkd3d: Fix validation errors with KHR_fragment_shading_rate.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-02-16 16:07:55 +00:00
Philip Rebohle
a39bab95a1
vkd3d: Clear suballocated memory to zero.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-02-16 16:06:26 +01:00
Philip Rebohle
668a4e1f2c
vkd3d: Do not suballocate small image-only heaps.
...
We have no way to manually reset these.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-02-16 16:06:26 +01:00
Philip Rebohle
4d68130be7
vkd3d: Add functionality to clear newly allocated memory.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-02-16 16:06:26 +01:00
Philip Rebohle
78713062fe
vkd3d: Introduce unique_queue_mask.
...
Has one bit set for each vkd3d_queue_family that points to a
unique queue. This can be used to iterate over device queues
without having to check for duplicates manually.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-02-16 16:06:26 +01:00
Philip Rebohle
812c82f8ac
vkd3d: Introduce VKD3D_QUEUE_FAMILY_INTERNAL_COMPUTE.
...
This needs a rework when we re-enable multi-queue support.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-02-16 16:06:26 +01:00
Hans-Kristian Arntzen
da06323b87
tests: Add test which stresses suballocation implementation.
...
Designed to stress internal implementation details for memory rewrite.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-02-16 14:27:06 +01:00
Hans-Kristian Arntzen
dc1b4b56ed
tests: Fix build with vkd3d-utils Windows test suite.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-02-16 14:27:06 +01:00
Joshua Ashton
bf2aa9ab99
build: Link against libatomic on x86 when using Clang
...
Needed for 64-bit atomics on 32-bit architectures on Clang.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-02-16 10:18:26 +01:00
Joshua Ashton
a0f9891b11
tests: Fix -Wincompatible-pointer-types warnings
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-02-15 17:54:54 +01:00
Joshua Ashton
b168a9278b
tests: Fix missing hresult check in RTV descriptor copy test
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-02-15 17:54:54 +01:00
Joshua Ashton
485399ff81
tests: Fix -Wenum-conversion warnings
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-02-15 17:54:54 +01:00
Joshua Ashton
3bd5ba0681
tests: Fix -Wunused-variable warnings
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-02-15 17:54:54 +01:00
Joshua Ashton
2e1a5e75ac
tests: Fix -Wabsolute-value warnings
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-02-15 17:54:54 +01:00
Joshua Ashton
b91568b717
tests: Fix -Wdeclaration-after-statement warnings
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-02-15 17:54:54 +01:00