vkd3d-proton/libs/vkd3d
Hans-Kristian Arntzen b88b04e4f1 vkd3d: Rewrite how submodules are associated with exports.
Handle embedded DXIL subobjects and fix various issues exposed by the
upcoming new tests.

Associating with global root signatures, shader config and pipeline
config needs to be rewritten so that we validate uniqueness late.

The strategy here is to look at all exports we care about and find an
association.

There are many priority levels which are implied by how I understand the
DXR docs. State objects in the API win over embedded DXIL state objects.
Any DXIL state object wins over a collection.

Hit group associations can trump an entry point. It's not entirely clear
how this works, but we let it win if it has higher priority, i.e.
an explicit association directed at the hit group.

There's also cases where explicit assignment trumps explicit default
assignment, which then trumps just declaring a state object.

Collection state is inherited in some cases like AddToStateObject() even
if this seems to be undocumented behavior.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-07-11 13:41:06 +02:00
..
shaders meta: Add ExecuteIndirect patch meta shader. 2022-06-23 14:39:22 +02:00
acceleration_structure.c vkd3d: Implement extended DXR queries. 2022-05-30 20:26:50 +02:00
breadcrumbs.c vkd3d: Make device coherency extension optional for breadcrumbs. 2022-03-11 13:07:56 +01:00
bundle.c vkd3d: Implement ID3D12GraphicsCommandList6. 2021-11-19 14:57:51 +01:00
cache.c cache: Unmap files before attempting to delete. 2022-06-28 12:13:03 +02:00
command.c vkd3d: Do not execute indirect commands if count buffer is unsupported. 2022-06-28 14:57:11 +02:00
command_list_profiled.h vkd3d: Implement ID3D12GraphicsCommandList6. 2021-11-19 14:57:51 +01:00
command_list_vkd3d_ext.c vkd3d: Implement new interfaces required for DX12 DLSS support. 2021-08-27 11:37:15 +02:00
debug_ring.c Use Windows specific environment calls for better Windows compatibility. 2022-04-22 17:40:21 +02:00
descriptor_debug.c vkd3d: Clean up straggling getenv() calls. 2022-04-25 16:42:41 +02:00
device.c vkd3d: Implement AddToStateObject(). 2022-07-11 12:11:27 +02:00
device_profiled.h vkd3d: Implement ID3D12Device9. 2021-11-19 14:57:51 +01:00
device_vkd3d_ext.c vkd3d: Rewrite memory layout for resource descriptors. 2022-02-25 13:04:43 +01:00
heap.c vkd3d: Don't suballocate scratch buffers. 2022-06-23 14:39:22 +02:00
memory.c vkd3d: Don't suballocate scratch buffers. 2022-06-23 14:39:22 +02:00
meson.build meta: Add ExecuteIndirect patch meta shader. 2022-06-23 14:39:22 +02:00
meta.c meta: Add ExecuteIndirect patch meta shader. 2022-06-23 14:39:22 +02:00
raytracing_pipeline.c vkd3d: Rewrite how submodules are associated with exports. 2022-07-11 13:41:06 +02:00
renderdoc.c vkd3d: Clean up straggling getenv() calls. 2022-04-25 16:42:41 +02:00
resource.c vkd3d: Do not perform initial layout transition for placed RTV / DSV. 2022-06-30 15:06:59 +02:00
state.c vkd3d: Expose utility for creating root signature from raw blob. 2022-07-11 12:37:34 +02:00
swapchain.c vkd3d: Don't create user descriptors until we have observed a pipeline. 2022-05-23 16:58:15 +02:00
utils.c utils: Report Wine segfault VkResult directly. 2022-05-23 16:58:15 +02:00
va_map.c vkd3d: Fix some const warnings on MSVC. 2021-03-10 10:48:01 +00:00
vkd3d_descriptor_debug.h vkd3d: Fix some type errors after idl update. 2021-11-22 16:25:13 +01:00
vkd3d_main.c vkd3d: Expose utility for creating root signature from raw blob. 2022-07-11 12:37:34 +02:00
vkd3d_private.h vkd3d: Expose utility for creating root signature from raw blob. 2022-07-11 12:37:34 +02:00
vkd3d_renderdoc.h renderdoc: Add global capture support. 2021-10-07 15:33:06 +02:00
vkd3d_shaders.h meta: Add ExecuteIndirect patch meta shader. 2022-06-23 14:39:22 +02:00
vulkan_procs.h vkd3d: Enable NV_device_generated_commands extension. 2022-06-24 14:55:39 +02:00