Hans-Kristian Arntzen
75e0506404
tests: Add test for RTV count > 0 and no pixel shader.
...
Attempt to bind mismatching format. Observe it is ignored.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-05-31 16:00:11 +02:00
Hans-Kristian Arntzen
0f9d7dd10d
vkd3d: Force RT count to 0 when PS does not exist.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-05-31 16:00:11 +02:00
Hans-Kristian Arntzen
7acc33ae39
vkd3d: Always return tile shape.
...
Docs are lying. :\
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-05-31 16:00:11 +02:00
Hans-Kristian Arntzen
7916d2a6d8
vkd3d: Enable and use VK_KHR_fragment_shader_barycentric.
...
For now, just keep the NV path as well. It's the exact same extension
basically as the KHR one.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-05-31 15:59:49 +02:00
Hans-Kristian Arntzen
48157c29e8
khronos: Update Vulkan headers.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-05-31 15:59:49 +02:00
Hans-Kristian Arntzen
467db76f90
vkd3d: Remove obsolete COLOR -> COMPUTE workaround for Deathloop.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-05-31 15:59:35 +02:00
Hans-Kristian Arntzen
2953ef8688
tests: Remove query TODOs from ray tracing tests.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-05-30 20:26:50 +02:00
Hans-Kristian Arntzen
f964532619
vkd3d: Implement extended DXR queries.
...
Requires ray_tracing_maintenance1.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-05-30 20:26:50 +02:00
Hans-Kristian Arntzen
5a0c8289d8
tests: Add test for FirstWSlice/WSlice on 3D UAV.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-05-30 15:09:09 +02:00
Hans-Kristian Arntzen
cca7613bca
dxil-spirv: Update submodule.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-05-25 13:08:39 +02:00
Philip Rebohle
910f15dff8
vkd3d: Only set VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT for color attachments.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2022-05-23 17:17:17 +02:00
Hans-Kristian Arntzen
a94e9b8b6a
vkd3d: Don't create user descriptors until we have observed a pipeline.
...
If we don't get a swapchain on first frame for whatever reason, defer
creating the descriptors.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-05-23 16:58:15 +02:00
Hans-Kristian Arntzen
4ac0a3b455
vkd3d: Robustly fall back to user buffers if we fail to present twice.
...
If we fail to present after a swapchain recreation, force a SURFACE_LOST
scenario and try again later when things hopefully stabilize.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-05-23 16:58:15 +02:00
Hans-Kristian Arntzen
300058d9a7
vkd3d: Handle all errors after present, not just OUT_OF_DATE.
...
Can have SURFACE_LOST here as well for example.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-05-23 16:58:15 +02:00
Hans-Kristian Arntzen
2e16a777ca
vkd3d: Get rid of redundant recreate swapchain call.
...
It just called create_vulkan_swapchain anyways.
Also, add in extra parameter to support temporary user buffer fallbacks.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-05-23 16:58:15 +02:00
Hans-Kristian Arntzen
ac211d5f6a
vkd3d: Remove direct calls to d3d12_swapchain_destroy_views.
...
Refactor destroy_buffers to destroy_resources as it's more obvious what
it's doing that way.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-05-23 16:58:15 +02:00
Hans-Kristian Arntzen
1dc4bbe5f2
utils: Report Wine segfault VkResult directly.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-05-23 16:58:15 +02:00
Tatsuyuki Ishi
2965b7e379
vkd3d/tests: Fix Release orders.
...
Fixes ASan use-after-free warnings on Release.
Signed-off-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
2022-05-23 09:58:30 +02:00
Tatsuyuki Ishi
0d9c0a3903
vkd3d: Fix aligned_alloc ASan errors on native.
...
Signed-off-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
2022-05-23 09:58:30 +02:00
Robin Kertels
1a773cfb71
tests: Add test for indirect ray tracing.
...
Signed-off-by: Robin Kertels <robin.kertels@gmail.com>
2022-05-11 19:11:01 +02:00
Robin Kertels
cdabda7805
vkd3d: Implement indirect ray tracing.
...
Signed-off-by: Robin Kertels <robin.kertels@gmail.com>
2022-05-11 19:11:01 +02:00
Robin Kertels
8ac7aaca99
vkd3d: Enable VK_KHR_ray_tracing_maintenance1.
...
Signed-off-by: Robin Kertels <robin.kertels@gmail.com>
2022-05-11 19:11:01 +02:00
Robin Kertels
7e7c472005
khronos: Update Vulkan headers
...
Signed-off-by: Robin Kertels <robin.kertels@gmail.com>
2022-05-11 19:11:01 +02:00
Hans-Kristian Arntzen
71940797d1
vkd3d: Check for redundant dynamic state in some cases.
...
Some dynamic state is at risk of being spammed with same arguments many
times. For the dynamic state that is trivial to check, do so.
Ghostwire: Tokyo has been observed to spam the same OMSetStencilRef
value causing some context rolls, also RSSetShadingRate has been set
redundantly.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-05-03 16:30:42 +02:00
Hans-Kristian Arntzen
4603c25d69
dxil-spirv: Update submodule.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-04-28 13:54:11 +02:00
Hans-Kristian Arntzen
97201b8e93
vkd3d: Clean up straggling getenv() calls.
...
Replace with the new vkd3d_get_env wrapper.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-04-25 16:42:41 +02:00
Hans-Kristian Arntzen
51199752dd
vkd3d: Fix queue creation for queue family -1.
...
Fixes validation error on Intel where we are trying to create
CONCURRENT family with {0, -1}.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-04-25 15:54:13 +02:00
Hans-Kristian Arntzen
ebe589d622
tests: Add test for waveop in infinite loop convergence.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-04-25 14:42:18 +02:00
Hans-Kristian Arntzen
55a6847c61
vkd3d: Fix MSVC warning about redundant snprintf argument.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-04-25 14:41:44 +02:00
Hans-Kristian Arntzen
04c020525c
common: Fix missing include.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-04-22 18:31:59 +02:00
Dean Beeler
063ce7e4bd
Use Windows specific environment calls for better Windows compatibility.
...
Signed-off-by: David McCloskey <davmcclo@gmail.com>
2022-04-22 17:40:21 +02:00
Hans-Kristian Arntzen
2c54e18245
common: Fix _BitScanForward usage on MSVC.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-04-22 17:11:07 +02:00
Philip Rebohle
bb2e35c539
vkd3d: Use vkGetDevice{Buffer,Image}MemoryRequirementsKHR in vkd3d_memory_info_init.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2022-04-22 11:36:02 +02:00
Philip Rebohle
d5ad5bb1de
vkd3d: Use vkGetDeviceImageMemoryRequirementsKHR in vkd3d_get_image_allocation_info.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2022-04-22 11:36:02 +02:00
Philip Rebohle
beb58f8472
vkd3d: Enable and require VK_KHR_maintenance4.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2022-04-22 11:36:02 +02:00
Hans-Kristian Arntzen
358f95aff2
vkd3d: Ignore cached SPIR-V if we're dumping SPIR-V.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-04-22 11:29:27 +02:00
Philip Rebohle
119e00ed45
vkd3d: Do not add uint format to image format list.
...
Fixes #1069 .
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2022-04-21 13:51:58 +02:00
Philip Rebohle
beaedbd857
vkd3d: Use UAV clear fallback based on format compatibility.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2022-04-21 13:51:58 +02:00
Philip Rebohle
81927c5895
vkd3d: Fix handling of non-zero base layer in ClearUAV fallback path.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2022-04-21 13:51:58 +02:00
Philip Rebohle
e7a6af4971
vkd3d: Use texel buffer views for UAV clears with buffer to image copy.
...
Allows this to more easily work with more formats.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2022-04-21 13:51:58 +02:00
Philip Rebohle
a1d5e6f39a
vkd3d: Re-add R11G11B10 format compatibility info.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2022-04-21 13:51:58 +02:00
Hans-Kristian Arntzen
4a05360a0a
dxil-spirv: Update submodule.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-04-20 16:56:26 +02:00
Hans-Kristian Arntzen
0c4df9b32c
ci: Workaround safe directory errors in vkd3d_build generation.
...
See https://github.com/actions/checkout/issues/760 for reference.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-04-20 15:54:30 +02:00
Hans-Kristian Arntzen
25c4bc18e7
dxil-spirv: Update submodule.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-04-08 13:04:26 +02:00
Hans-Kristian Arntzen
30ec6b7f1f
dxil-spirv: Update submodule.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-04-07 13:06:04 +02:00
Hans-Kristian Arntzen
c47a6a904b
meta: Add docs for magic shader cache.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-04-06 16:36:26 +02:00
Hans-Kristian Arntzen
5044975152
vkd3d: Drop redundant validate of PSO state blob from disk cache.
...
If we get an entry, it's implicitly validated.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-04-06 16:36:26 +02:00
Hans-Kristian Arntzen
8dc8b72807
cache: Add some performance information for shader cache operations.
...
They can take a long time and it's useful to have some reports here.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-04-06 16:36:26 +02:00
Hans-Kristian Arntzen
ae0dafa3a1
cache: Attempt to use disk cache instead when appropriate.
...
When the disk cache is used, the cache we give back to applications is a
dummy. Therefore, try to use the disk cache blob if we detect a useless
application blob.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-04-06 16:36:26 +02:00
Hans-Kristian Arntzen
6c8542f7d6
vkd3d: Make use of internal pipeline library if we're asked to.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-04-06 16:36:26 +02:00