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
830f9642b5
tests: Add tests for GetResourceTiling with compressed formats.
...
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
e7711d2926
tests: Add test for sampler border colors.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-05-05 11:39:25 +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
d742918353
tests: Fix compiler warning.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-30 18:08:25 +02:00
Philip Rebohle
642538e0a9
tests: Add test for UpdateTileMappings and CopyTileMappings.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-30 18:08:25 +02:00
Philip Rebohle
367895ebfa
tests: Add test for GetResourceTiling.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-30 18:08:25 +02:00
Philip Rebohle
c564d3eb1d
tests: Expand test_create_reserved_resource.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-30 18:08: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
830c1e7a06
include: Fix incorrect UpdateTileMappings declaration.
...
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
Philip Rebohle
76b2d2af89
vkd3d: Add layout property to texture views.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-27 15:40:39 +02:00
Philip Rebohle
45001e05d4
vkd3d: Introduce d3d12_resource_pick_layout.
...
Lets us enforce GENERAL layout for linear tiling.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-27 15:40:39 +02:00
Philip Rebohle
82d384531e
vkd3d: Determine common image layout from bind flags.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-27 15:40:39 +02:00
Philip Rebohle
baa0a293e7
vkd3d: Apply heap offset to destination buffer in ResolveQueryData.
...
Fixes rendering issues in The Talos Principle.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-23 17:26:55 +02:00
Hans-Kristian Arntzen
404cd7270b
vkd3d: Fix build on standalone.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-04-23 12:31:48 +02:00
Hans-Kristian Arntzen
805f92a38c
vkd3d: Remove dead transfer buffer code.
...
Obsoleted after shader copy path.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-04-23 12:31:48 +02:00
Philip Rebohle
bc7b016d79
vkd3d: Set required image usage flags for shader-based copies.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-22 18:04:29 +02:00