Hans-Kristian Arntzen
349412f19f
vkd3d: Support rewinding ID3D12Fence.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-06-16 11:00:08 +02:00
Hans-Kristian Arntzen
5ef7b99e0b
vkd3d: Fix uninitialized return value in CPU fence signaling.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-06-16 11:00:08 +02:00
Joshua Ashton
f3c85328f1
vkd3d: Remove PACKAGE_NAME usage for engine version
...
This isn't going to change. Drivers use this to do special things,
so changing it would probably cause a bunch of random problems anyway.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-15 21:45:35 +02:00
Joshua Ashton
cd5d01d25c
vkd3d: Refactor atomics
...
There is no stdatomic available on MSVC so let's clean things up.
This moves all the atomic helpers to vkd3d_atomic.h and implements all platform's spinlocks in entirely the same way.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-15 20:40:10 +02:00
Joshua Ashton
b9909854fe
vkd3d: Make nameless unions really nameless
...
This makes it consistent across tests and vkd3d.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-15 19:59:52 +02:00
Hans-Kristian Arntzen
cbdf6f88d2
vkd3d: Remove dependency on linking directly against libvulkan.
...
There is no reason to not load Vulkan dynamically, otherwise, we must
have loader dev packages installed, which is not ideal.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-06-15 15:47:18 +02:00
Philip Rebohle
4cf8467b9d
vkd3d-shader: Introduce vkd3d_dxbc_compiler_find_register_info.
...
Does not generate logs when not finding a register, which reduces
some misleading spam in Anno 1800 tessellation shaders.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-06-15 13:32:55 +02:00
Hans-Kristian Arntzen
9defd87f95
vkd3d: Implement BeginEvent/EndEvent.
...
Only support ANSI/UNICODE version for now. The PIX3BLOB format is
extremely weird, complicated and undocumented.
We can refer to RenderDoc if we need it later ...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-06-11 13:02:50 +02:00
Hans-Kristian Arntzen
cae30f8602
utils: Add a max_elements parameter to wchar conversion.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-06-11 13:02:50 +02:00
Hans-Kristian Arntzen
9534c1a345
vkd3d: Move to VK_EXT_debug_utils.
...
debug_marker/debug_report are both deprecated in favor of debug_utils and vkd3d was using marker in a
buggy way anways, as debug_marker requires debug_report to work, but it was
only conditionally enabled.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-06-11 13:02:50 +02:00
Hans-Kristian Arntzen
6a038003e2
vkd3d: Always enable instance debug extension.
...
Prepare for moving to VK_EXT_debug_utils.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-06-11 13:02:50 +02:00
Hans-Kristian Arntzen
726356ebb1
vkd3d: Always use PDF2/PDP2 without KHR extensions.
...
It is core in Vulkan 1.1.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-06-11 13:02:50 +02:00
Hans-Kristian Arntzen
d8ca2cef6d
vkd3d: Serialize all queue submissions.
...
Gets rid of the full barrier on command buffer end.
Instead, do what D3D12 wants, which is to serialize all
ExecuteCommandLists. Simplify the existing timeline sempahore setup for
sparse queues and use it for all submissions.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-06-09 14:28:13 +02:00
Philip Rebohle
bc7426ceb0
vkd3d-shader: Fix modifier handling.
...
This is a set of flags, so we should treat it as such.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-06-09 13:20:36 +02:00
Philip Rebohle
1fa3686638
vkd3d: Use ALLOW_ONLY_BUFFERS for committed buffer resources.
...
Otherwise, we may end up failing to allocate memory on Tier 1
hardware, and also fail to use dedicated allocations in some
cases.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-06-08 15:09:21 +02:00
Philip Rebohle
d49f47dbc2
vkd3d: Validate heap flags for placed resources.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-06-08 15:09:21 +02:00
Philip Rebohle
eda59ea66c
vkd3d: Remove vkd3d_select_memory_type.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-06-08 15:09:21 +02:00
Philip Rebohle
2b88df93a2
vkd3d: Use new memory allocation code in d3d12_resource_bind_sparse_metadata.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-06-08 15:09:21 +02:00
Philip Rebohle
5bf492c207
vkd3d: Rework vkd3d_allocate_device_memory.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-06-08 15:09:21 +02:00
Philip Rebohle
95716029a8
vkd3d: Use new memory allocation code in vkd3d_allocate_image_memory.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-06-08 15:09:21 +02:00
Philip Rebohle
615e933db6
vkd3d: Use new memory allocation code in vkd3d_allocate_buffer_memory.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-06-08 15:09:21 +02:00
Philip Rebohle
43e2c3ffe6
vkd3d: Add new memory allocation helpers.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-06-08 15:09:21 +02:00
Philip Rebohle
8ced3b53b9
vkd3d: Expose D3D12_RESOURCE_HEAP_TIER_1 based on hardware capabilities.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-06-08 15:09:21 +02:00
Philip Rebohle
bbcaeee69d
vkd3d: Determine compatible memory types for different resource types.
...
We'll need this to more accurately select the memory type for D3D12
heaps based on which resources are allowed to be placed in it.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-06-08 15:09:21 +02:00
Philip Rebohle
e6857939e7
vkd3d: Do not enable VK_KHR_dedicated_allocation.
...
Core in 1.1.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-06-02 16:23:38 +02:00
Philip Rebohle
45109686be
vkd3d: Do not enable VK_KHR_maintenance3.
...
Core in 1.1.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-06-02 16:23:38 +02:00
Philip Rebohle
317868ab2b
vkd3d: Remove required extensions.
...
Both of these are core in 1.1.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-06-02 16:23:38 +02:00
Philip Rebohle
9852b1702d
vkd3d: Require Vulkan 1.1 device.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-06-02 16:23:38 +02:00
Philip Rebohle
3880e61be2
vkd3d: Require Vulkan 1.1 instance.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-06-02 16:23:38 +02:00
Hans-Kristian Arntzen
9875d65d35
vkd3d: Apply heap offsets for ExecuteIndirect buffers.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-05-29 13:03:32 +02:00
Philip Rebohle
1ade8c0cc5
vkd3d: Issue full barrier at the end of command lists.
...
D3D12 apparently does this implicitly. Fixes rendering issues in
the AMD COCOA demo on Polaris with RADV, which does not emit a
barrier between the AO compute passes and the tone mapping pass
in the next command buffer.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-27 14:59:21 +02:00
Hans-Kristian Arntzen
7e229213f5
vkd3d: Enable SM 6.2 features.
...
Need float16_int8 and subgroup with extended types to implement new SM
6.2 features. For now, skip over SM 6.1 features until someone makes use
of them.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-05-27 14:33:24 +02:00
Hans-Kristian Arntzen
b3be23c066
vkd3d-shader: Only sample with the required number of components.
...
Works around a driver bug on NV which affected RE2 in particular, but
probably other titles as well.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-05-22 11:54:04 +02:00
Philip Rebohle
50a9fae263
vkd3d: Silence SetMarker/BeginEvent/EndEvent log spam.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-12 12:27:02 +02:00
Philip Rebohle
6707f3fc30
vkd3d: Invalidate descriptor heaps on root signature change.
...
Apparently we need to do this if the push constant layout changes.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-12 12:27:02 +02:00
Philip Rebohle
c75bbb9997
vkd3d: Handle null root descriptors.
...
We should hook this up to the robustness2 feature at some point,
but for now, just use the dummy descriptors. Fixes a crash in
the AMD CACAO demo.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-12 12:27:02 +02:00
Philip Rebohle
e99d92bef9
vkd3d: Expose Tiled Resources Tier 2.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-12 12:13:30 +02:00
Philip Rebohle
7e02541003
vkd3d: Implement sampler reduction modes.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-12 12:13:30 +02:00
Philip Rebohle
6cbf61ca92
vkd3d: Enable VK_EXT_sampler_filter_minmax if available.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-12 12:13:30 +02:00
Philip Rebohle
6478632dca
vkd3d-shader: Remove old Nvidia workaround for dref instructions.
...
This was fixed two years ago in the 396 and later 390 drivers.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-12 12:13:30 +02:00
Philip Rebohle
37b9875e98
vkd3d-shader: Implement sparse ld_uav_typed instruction.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-12 12:13:30 +02:00
Philip Rebohle
a1b2cef928
vkd3d-shader: Implement sparse ld_raw and ld_structured instructions.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-12 12:13:30 +02:00
Philip Rebohle
7b9dbdc4ce
vkd3d-shader: Implement sparse ld instructions.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-12 12:13:30 +02:00
Philip Rebohle
bb5e0969b2
vkd3d-shader: Implement sparse gather instructions.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-12 12:13:30 +02:00
Philip Rebohle
1839d13ef3
vkd3d-shader: Implement sparse sample_c instructions.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-12 12:13:30 +02:00
Philip Rebohle
45ec9b7f27
vkd3d-shader: Implement sparse sample instructions.
...
In addition to sparse feedback, these instructions also clamp the
LOD, with the minimum LOD being passed in as the last parameter.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-12 12:13:30 +02:00
Philip Rebohle
c09b66f404
vkd3d-shader: Implement check_access_fully_mapped instruction.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-12 12:13:30 +02:00
Philip Rebohle
277f731bd7
vkd3d-shader: Add helpers to deal with sparse instruction results.
...
OpImageSparse* operations return a struct containing a status value
and the sampled value, so we need to take it apart when storing results.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-12 12:13:30 +02:00
Philip Rebohle
26f6e59f3e
vkd3d-shader: Add helper to declare a struct once.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-12 12:13:30 +02:00
Philip Rebohle
6d0c1b4dd3
vkd3d-shader: Handle feedback instructions in UAV read scanner.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-12 12:13:30 +02:00
Philip Rebohle
fa029a1a84
vkd3d-shader: Add definitions for sparse feedback instructions.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-12 12:13:30 +02:00
Philip Rebohle
8588b46900
vkd3d: Implement d3d12_command_list_CopyTiles.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-08 16:30:54 +02:00
Philip Rebohle
347f0e8b92
vkd3d: Fix d3d12_resource_init_sparse_info for images without mip tail.
...
StartTileIndexInOverallResource can be 0 for images that have either
no mip tail or no standard mips, so we need to check the packed mip
count.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-08 16:30:54 +02:00
Philip Rebohle
00e956dfac
vkd3d: Expose Tiled Resources Tier 1.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-07 15:24:35 +02:00
Philip Rebohle
2e0ce6a186
vkd3d: Serialize sparse binding calls.
...
In D3D12, Update/CopyTileMappings are implicitly synchronized with
respect to other commands executing on the same queue, which means:
- Signal and Execute have to wait for previously submitted
sparse binding operations to complete
- Wait and Execute have to complete before subsequently
submitted sparse binding operations can execute.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-07 15:24:35 +02:00
Philip Rebohle
73bcd3e79d
vkd3d: Create semaphores for sparse binding operations.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-07 15:24:35 +02:00
Philip Rebohle
902ab95ba6
vkd3d: Factor out vkd3d_create_timeline_semaphore.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-07 15:24:35 +02:00
Philip Rebohle
8b999c7368
vkd3d: Bind sparse metadata on resource creation if necessary.
...
Some sparse resource may have a metadata aspect on some drivers,
which needs to be bound before the image can be used in any way.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-07 15:24:35 +02:00
Philip Rebohle
e1b75748a2
vkd3d: Implement d3d12_command_queue_CopyTileMappings.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-07 15:24:35 +02:00
Philip Rebohle
f56a860bc6
vkd3d: Implement d3d12_command_queue_UpdateTileMappings.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-07 15:24:35 +02:00
Philip Rebohle
e3eb3498c2
vkd3d: Implement sparse binding.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-07 15:24:35 +02:00
Philip Rebohle
7836c06204
vkd3d: Add dedicated queue for sparse binding if necessary.
...
This will serve as a fallback if at least one queue family
does not support sparse binding.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-07 15:24:35 +02:00
Philip Rebohle
98462ea1ed
vkd3d: Implement d3d12_device_GetResourceTiling.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-07 15:24:35 +02:00
Philip Rebohle
b08477f325
vkd3d: Store tile mappings and metadata for tiled resources.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-07 15:24:35 +02:00
Philip Rebohle
ba712c739c
vkd3d: Add d3d12_resource_get_tiling helper.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-07 15:24:35 +02:00
Philip Rebohle
1167611ead
vkd3d: Ensure sparse resource is supported by the device.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-07 15:24:35 +02:00
Philip Rebohle
5eee203559
vkd3d: Add validation for sparse image type and format.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-07 15:24:35 +02:00
Philip Rebohle
6793bb7e08
vkd3d: Set sparse resource flags appropriately.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-07 15:24:35 +02:00
Philip Rebohle
20b1c4f7b3
vkd3d: Introduce flag for sparse resources.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-07 15:24:35 +02:00
Philip Rebohle
fe13c017ea
vkd3d: Move is_power_of_two to common header.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-07 15:24:35 +02:00
Philip Rebohle
0d74a13bc4
vkd3d: Improve error handling in d3d12_command_queue_init.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-06 14:48:59 +02:00
Philip Rebohle
e59d6c4c32
vkd3d: Clean up queue creation and management.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-06 14:48:12 +02:00
Philip Rebohle
8edfa29542
vkd3d: Move vkd3d_queue_family into header.
...
And get rid of the somewhat redundant VKD3D_QUEUE_MAX_FAMILY_COUNT.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-06 14:48:12 +02:00
Philip Rebohle
d386a473c2
vkd3d: Clean up vkd3d_select_queues.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-06 14:48:12 +02:00
Philip Rebohle
90ab915ec0
vkd3d: Implement support for custom border colors.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-05 11:39:25 +02:00
Philip Rebohle
42b6ce82f0
vkd3d: Enable VK_EXT_custom_border_color if available.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-05 11:39:25 +02:00
Philip Rebohle
8e7bf8a5c3
vkd3d: Do not use VK_PIPELINE_BIND_POINT_RANGE_SIZE.
...
These constants were removed in Vulkan 1.2.140 headers.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-05 11:39:25 +02:00
Philip Rebohle
6f517a3788
vkd3d: Fix UpdateTileMappings signature.
...
Also, formatting.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-30 18:08:25 +02:00
Philip Rebohle
9367fd5ee8
vkd3d: Implement deferred clears.
...
This allows us to perform clears inside the render pass even if
the render pass hasn't been started at the time of the clear yet.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-28 16:29:11 +02:00
Philip Rebohle
7bfe5d0bb3
vkd3d: Remove d3d12_command_list_clear.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-28 16:29:11 +02:00
Philip Rebohle
fe269109ef
vkd3d: Reimplement ClearRenderTargetView.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-28 16:29:11 +02:00
Philip Rebohle
1cffdb93f2
vkd3d: Reimplement ClearDepthStencilView.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-28 16:29:11 +02:00
Philip Rebohle
0bd0352073
vkd3d: Introduce d3d12_command_list_clear_attachment helper.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-28 16:29:11 +02:00
Philip Rebohle
e6bd3cb305
vkd3d: Don't emit barriers when temporarily suspending render passes.
...
Fixes performance regressions introduced with the barrier rework.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-27 16:13:19 +02:00
Philip Rebohle
0061c9e6d7
vkd3d: Define external render pass dependencies.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-27 16:13:19 +02:00
Philip Rebohle
d355f03d66
vkd3d: Fix depth-stencil load/store ops.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-27 16:13:19 +02:00
Philip Rebohle
1b447bd2dd
vkd3d: Fix image layouts for swap chain back buffers.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-27 15:40:39 +02:00
Philip Rebohle
1eac9936f4
vkd3d: Transition DSV to correct layout.
...
Now uses the layout from the graphics pipeline.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-27 15:40:39 +02:00
Philip Rebohle
0ff0423538
vkd3d: Store DSV layout with graphics pipelines.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-27 15:40:39 +02:00
Philip Rebohle
f0570509c1
vkd3d: Fix image layouts for clear operations.
...
We'll need to revisit this as the current implementation is
not only inefficient but also wrong in quite a few ways.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-27 15:40:39 +02:00
Philip Rebohle
ae89f2d639
vkd3d: Fix image layouts for resolve operations.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-27 15:40:39 +02:00
Philip Rebohle
82032e9e58
vkd3d: Fix image layouts for buffer<->image copies.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-27 15:40:39 +02:00
Philip Rebohle
151f18d9ef
vkd3d: Fix image layouts in d3d12_command_list_copy_image.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-27 15:40:39 +02:00
Philip Rebohle
8d9d23a9f9
vkd3d: Rework d3d12_command_list_ResourceBarrier.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-27 15:40:39 +02:00
Philip Rebohle
5bb613ac07
vkd3d: Use common layout in initial state transitions.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-27 15:40:39 +02:00
Philip Rebohle
fc60b6400c
vkd3d: Introduce vk_access_and_stage_flags_from_d3d12_resource_state.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-27 15:40:39 +02:00
Philip Rebohle
608ef6e605
vkd3d: Emit layout transitions when beginning and ending a render pass.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-27 15:40:39 +02:00
Philip Rebohle
edb793b069
vkd3d: Infer current DSV format from DSV descriptor.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-27 15:40:39 +02:00
Philip Rebohle
d3128592ca
vkd3d: Store RTV and DSV descriptors with command list.
...
We need access to the resource in order to perform render pass
layout transitions, just the view handle isn't enough.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-27 15:40:39 +02:00
Philip Rebohle
8c09ef838a
vkd3d: Use common image layout for descriptors.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-27 15:40:39 +02:00