Hans-Kristian Arntzen
4925495e0a
tests: Verifies behavior if we pass mismatching stages.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-04-15 16:24:05 +02:00
Hans-Kristian Arntzen
70f3f769a5
tests: Add test which verifies what happens with missing RS bindings.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-04-15 16:24:05 +02:00
Hans-Kristian Arntzen
e7b6cf4089
vkd3d-shader: Report error if binding is not found in root signature.
...
Error out early.
Fixes some crashes when we keep going after having seen completely
broken bindings.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-04-15 16:24:05 +02:00
Georg Lehmann
2c3988e6df
tests: Add env var to exclude tests.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
2021-04-15 15:10:25 +02:00
Philip Rebohle
48536b2222
tests: Test command allocator reset behaviour with bundles.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-04-14 16:24:55 +02:00
Philip Rebohle
3fbce3c450
tests: Do not skip test_bundle_state_inheritance test.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-04-14 16:24:55 +02:00
Philip Rebohle
62cbf3d78a
vkd3d: Remove unused unsafe_impl_from_ID3D12CommandAllocator.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-04-14 16:24:55 +02:00
Philip Rebohle
4f9ca6c3df
vkd3d: Create bundles and bundle allocators as necessary.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-04-14 16:24:55 +02:00
Philip Rebohle
1bbbabcb94
vkd3d: Implement ExecuteBundle.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-04-14 16:24:55 +02:00
Philip Rebohle
728ce6c370
vkd3d: Validate command list type in ExecuteCommandLists.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-04-14 16:24:55 +02:00
Philip Rebohle
1990270bbb
vkd3d: Implement CreateCommandList on top of CreateCommandList1.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-04-14 16:24:55 +02:00
Philip Rebohle
2ca62ecd12
vkd3d: Add bundle allocator and command list implementation.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-04-14 16:24:55 +02:00
Joshua Ashton
2860b0a548
vkd3d: Enable force_tgsm_barriers for F1 2020
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
Closes : #611
2021-04-12 16:29:57 +02:00
Joshua Ashton
043fd304f8
vkd3d-shader: Add force_tgsm_barriers config flag
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-04-12 16:29:57 +02:00
Joshua Ashton
7cfe17d2f5
vkd3d-shader: Passthrough vkd3d_config_flags
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-04-12 16:29:57 +02:00
Joshua Ashton
41df41305e
include: Move vkd3d_config_flags to public header
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-04-12 16:29:57 +02:00
Joshua Ashton
bc87d60ad8
tests: Add a test for RSSetShadingRateImage
...
Passes on D3D12 and VKD3D-Proton.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-04-12 13:22:01 +02:00
Joshua Ashton
3284f062de
tests: Fix comparisons in test_vrs
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-04-12 13:22:01 +02:00
Joshua Ashton
82a1dc22a2
tests: Add a SV_ShadingRate test
...
Tests both VS primitive rate and the PS input.
Fails currently on Windows as both vendors have broken combiner
logic in their D3D12 drivers right now.
NV: Fails right now on Min/Max when mixing 2x1 and 1x2.
AMD: Everything is broken. Did they even test this?
Tests pass with Vulkan/vkd3d-proton and the expected values
are based on the D3D12 spec/docs around VRS.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-04-12 13:22:01 +02:00
Joshua Ashton
14cef6cf3f
tests: Enable D3D12ExperimentalShaderModels
...
We need these for VRS shader tests and probably also for RT.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-04-12 13:22:01 +02:00
Joshua Ashton
4e20fd2f58
include: Define D3D12EnableExperimentalFeatures
...
Including associated UUIDs.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-04-12 13:22:01 +02:00
Joshua Ashton
5978f5958e
vkd3d: Expose TIER_2 Variable Rate Shading
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-04-12 13:22:01 +02:00
Joshua Ashton
9fb624a429
vkd3d: Implement RSSetShadingRateImage
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-04-12 13:22:01 +02:00
Joshua Ashton
5d17f71441
vkd3d: Handle usage and implicit views for VRS capable resources
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-04-12 13:22:01 +02:00
Joshua Ashton
135c7332e4
vkd3d: Implement D3D12_RESOURCE_STATE_SHADING_RATE_SOURCE
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-04-12 13:22:01 +02:00
Joshua Ashton
601357c7c5
vkd3d: Implement a static pipeline variant system
...
Needed so we can switch between having a VRS and non-VRS attachment on the fly.
Extensible enough for this to work for other things down the line also.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-04-12 13:22:01 +02:00
Fabian Bornschein
eb4909ea67
build: Switch to the portable shebang in scripts
...
Signed-off-by: Fabian Bornschein <fabiscafe@mailbox.org>
2021-04-12 11:26:39 +01:00
Philip Rebohle
4e777b9182
vkd3d: Use depth attachment when depth bounds test is enabled.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-04-12 11:23:51 +02:00
Hans-Kristian Arntzen
7dc2a5cad7
vkd3d: Enable VK_KHR_sampler_mirror_clamp_to_edge.
...
CP77 requires it now.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-04-07 21:57:50 +02:00
Philip Rebohle
a0a04f9488
tests: Test root signature priority.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-04-06 11:13:35 +02:00
Philip Rebohle
2f1b23ece6
vkd3d: Enable conservative rasterization tier 3.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-03-25 18:00:59 +01:00
Philip Rebohle
6476fabb0b
vkd3d-shader: Implement support for SV_InnerCoverage.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-03-25 18:00:59 +01:00
Philip Rebohle
698279ec90
vkd3d: Enable conservative rasterization state as requested.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-03-25 18:00:59 +01:00
Philip Rebohle
8a61128152
vkd3d: Enable VK_EXT_conservative_rasterization if available.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-03-25 18:00:59 +01:00
Philip Rebohle
9c8377c2d4
tests: Add test for conservative rasterization.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-03-25 18:00:59 +01:00
Philip Rebohle
fdf4df18a4
vkd3d: Add Feature Level 12_2 detection.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-03-25 18:00:59 +01:00
Hans-Kristian Arntzen
0a8b5bca4e
dxil-spirv: Update submodule.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-03-25 18:00:41 +01:00
Hans-Kristian Arntzen
2f60a3bf66
vkd3d: Fix broken debug_vk_memory_{property,heap}_flags.
...
C is fun, yo. Returned data from dead stack variable, also triggered
overflow in some cases.
Uncalled in release mode, but can crash debug builds.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-03-25 17:58:18 +01:00
Joshua Ashton
fe28436c34
vkd3d: Refactor vkd3d_render_pass_key to use flags
...
We're going to need more state in this key for VRS TIER_2 and we need to keep this aligned.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-03-24 15:20:10 +01:00
Joshua Ashton
f812442199
meta: Add VK_KHR_create_renderpass2 to README
...
This is required now.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-03-24 15:20:10 +01:00
Joshua Ashton
65b13f6cd6
vkd3d: Use VK_KHR_create_renderpass2
...
We need this before implementing TIER_2 variable rate shading.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-03-24 15:20:10 +01:00
Hans-Kristian Arntzen
e89dd8cf87
dxil-spirv: Update submodule.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-03-23 19:15:36 +01:00
Hans-Kristian Arntzen
93d042f9ce
dxil-spirv: Update submodule.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-03-23 18:35:35 +01:00
Hans-Kristian Arntzen
5197edb03b
vkd3d: Enable 16-bit storage features.
...
Don't need extension, since VK_KHR_16bit_storage is core in Vulkan 1.1.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-03-23 18:35:35 +01:00
Hans-Kristian Arntzen
4afd4d355b
vkd3d: Handle more DXR cases.
...
Found in Ghostrunner, still not working ...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-03-23 18:35:35 +01:00
Hans-Kristian Arntzen
e0374d735d
vkd3d-shader: Add shader replacement support for DXR as well.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-03-23 18:35:35 +01:00
Hans-Kristian Arntzen
5abc4b9af2
vkd3d: Add all relevant RT stages to push constant layout.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-03-23 18:35:35 +01:00
Hans-Kristian Arntzen
9d3603c336
vkd3d: Fix root descriptor RTAS.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-03-23 18:35:35 +01:00
Hans-Kristian Arntzen
9fa668867e
vkd3d: Hold private reference to collection objects.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-03-23 18:35:35 +01:00
Hans-Kristian Arntzen
bd16d1a88d
vkd3d: Support RTPSO object collections.
...
This is quite complicated, but we can use VK_KHR_pipeline_library
to implement this functionality.
2021-03-23 18:35:35 +01:00