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
Hans-Kristian Arntzen
89679cbff1
tests: Test local definition exports.
...
Attempts to create a hit group out of shaders found in collection objects.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-03-23 18:35:35 +01:00
Hans-Kristian Arntzen
b306d605f3
tests: Add basic RT collection test.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-03-23 18:35:35 +01:00
Joshua Ashton
bc1b18dc02
vkd3d: Add some missing flags in debug_vk helpers
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-03-22 14:29:45 +01:00
Joshua Ashton
d97683a8a4
d3d12: Rename d3d12_get_physical_device to d3d12_find_physical_device
...
A more accurate description of what's going on here.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-03-22 14:29:45 +01:00
Joshua Ashton
9f778bc871
d3d12: Use vkGetPhysicalDeviceProperties2
...
This is core in Vulkan 1.1.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-03-22 14:29:45 +01:00
Joshua Ashton
2fa97aa0fb
vkd3d: Move API versions to public header
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-03-22 14:29:45 +01:00
Hans-Kristian Arntzen
b7dfa99e57
dxil-spirv: Update submodule.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-03-19 13:42:47 +01:00
Hans-Kristian Arntzen
cf39639f5b
dxil-spirv: Update submodule.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-03-18 20:58:58 +01:00
Joshua Ashton
b71bc5ef6b
tests: Don't crash if WRITE_WATCH is broken
...
This can happen under Wine.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-03-18 16:56:36 +01:00
Joshua Ashton
4b6a1ef40d
tests: Add a WRITE_WATCH test
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-03-18 16:10:05 +01:00
Joshua Ashton
258173a0a7
vkd3d: Fix return value when WRITE_WATCH is forbidden
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-03-18 16:10:05 +01:00
Joshua Ashton
aa12817ccf
vkd3d: Implement D3D12_HEAP_TYPE_WRITE_WATCH
...
Needed for D3D12 APITrace
Closes : #373
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-03-18 14:41:46 +01:00
Hans-Kristian Arntzen
52a9c85bf2
vkd3d: Implement ClearState.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-03-18 10:50:21 +01:00
Joshua Ashton
4e31f5d54d
vkd3d: Align d3d12_rtv_desc to D3D12_DESC_ALIGNMENT
...
Otherwise we can do an alligned_malloc with a non-aligned size as the descriptor size is 48 for a d3d12_rtv_desc otherwise.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-03-16 21:45:28 +01:00
Joshua Ashton
5b5293ec93
vkd3d: Fix out of range in UpdateTileMappings
...
Previously this incremented and indexed before the loop checked this.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-03-16 21:45:13 +01:00
Joshua Ashton
43e7316591
tests: Default VKD3D_TEST_DEBUG to 1
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-03-16 21:43:01 +01:00