Commit Graph

103 Commits

Author SHA1 Message Date
Józef Kucia 278cb0103c libs/vkd3d: Add support for D3D12_RESOURCE_STATE_RESOLVE_* barriers. 2016-10-20 16:38:04 +02:00
Józef Kucia c41ad774de libs/vkd3d: Implement UAV barriers. 2016-10-19 16:39:48 +02:00
Józef Kucia 0944475c6a libs/vkd3d: Implement transition barriers. 2016-10-19 16:39:48 +02:00
Józef Kucia f2c980af56 libs/vkd3d: Validate resource state for resource barriers. 2016-10-19 16:39:48 +02:00
Józef Kucia 69cd100d48 libs/vkd3d: Validate initial resource state. 2016-10-19 13:10:12 +02:00
Józef Kucia f601cbc04a libs/vkd3d: Validate "optimized_clear_value" for buffer resources. 2016-10-19 13:10:12 +02:00
Józef Kucia 60959ecf3c libs/vkd3d: Add partial support for D3D12_FEATURE_ARCHITECTURE. 2016-10-19 13:10:12 +02:00
Henri Verbeet e0ba2fd2d3 libs/vkd3d: Export a function to get the Vulkan queue from a d3d12 command queue. 2016-10-19 10:02:53 +02:00
Henri Verbeet 7568a9793c libs/vkd3d: Export a function to get the Vulkan device from a d3d12 device. 2016-10-19 10:02:27 +02:00
Henri Verbeet feacd1af50 libs/vkd3d: Export a function to get the Vulkan instance from a d3d12 device. 2016-10-19 10:02:04 +02:00
Henri Verbeet 2a49173b60 libs/vkd3d: Export a function to create a d3d12 resource from a Vulkan image. 2016-10-19 09:59:42 +02:00
Henri Verbeet fcc9f9b294 libs/vkd3d: Merge vkd3d_vulkan.h into vkd3d_private.h. 2016-10-19 09:58:53 +02:00
Henri Verbeet 9d5e4daf84 libs/vkd3d-utils: Get rid of unnecessary WINAPI. 2016-10-19 09:48:26 +02:00
Józef Kucia 5f187d9e68 libs/vkd3d: Improve diagnostic message for device memory allocation failures. 2016-10-17 14:24:22 +02:00
Józef Kucia 6b681a4037 libs/vkd3d: Return E_INVALIDARG in d3d12_resource_Map() for textures. 2016-10-17 14:24:22 +02:00
Józef Kucia 1e73f2956a libs/vkd3d: Return S_OK from d3d12_device_GetDeviceRemovedReason(). 2016-10-17 14:24:22 +02:00
Józef Kucia e3fb82d544 libs/vkd3d: Forbid creating textures on UPLOAD/READBACK heaps. 2016-10-17 14:24:22 +02:00
Józef Kucia fc1c9d914d libs/vkd3d: Validate initial resource state for UPLOAD/READBACK heaps. 2016-10-17 14:24:22 +02:00
Józef Kucia 1fad443900 libs/vkd3d: Introduce vkd3d_select_physical_device() helper function. 2016-10-13 12:21:00 +02:00
Józef Kucia f5ecb635fe libs/vkd3d: Ignore blending parameters when blending is disabled. 2016-10-12 11:46:57 +02:00
Józef Kucia f503954a77 libs/vkd3d: Ignore draw calls when pipeline state is not set. 2016-10-11 13:43:04 +02:00
Józef Kucia a1082ec954 libs/vkd3d: Use "< 0" to test VkResult for errors.
For consistency.
2016-10-11 13:43:04 +02:00
Henri Verbeet 4a558d5a4a libs/vkd3d: Implement d3d12_command_list_DrawInstanced(). 2016-10-10 17:26:46 +02:00
Henri Verbeet 5c9ea3ede3 libs/vkd3d: Implement d3d12_device_CreateGraphicsPipelineState(). 2016-10-10 17:26:38 +02:00
Henri Verbeet a0ccb1c581 libs/vkd3d: Implement d3d12_command_list_SetPipelineState(). 2016-10-10 17:26:13 +02:00
Henri Verbeet 74fe2ec411 libs/vkd3d: Implement d3d12_command_list_OMSetRenderTargets(). 2016-10-10 17:26:03 +02:00
Henri Verbeet 7add62e552 libs/vkd3d: Implement d3d12_command_list_IASetVertexBuffers(). 2016-10-10 17:25:55 +02:00
Henri Verbeet ce509dc70e libs/vkd3d: Implement d3d12_command_list_IASetPrimitiveTopology(). 2016-10-10 17:25:40 +02:00
Henri Verbeet d24982c5f1 libs/vkd3d: Destroy Vulkan render passes and framebuffers on command allocator reset. 2016-10-10 17:25:36 +02:00
Henri Verbeet 3ba5fd949b libs/vkd3d: Store Vulkan render passes and framebuffers in the command allocator.
We should destroy these on resets, but command list resets don't need to wait
for command list execution to complete.
2016-10-10 17:25:31 +02:00
Józef Kucia ed033b40d0 libs/vkd3d: Fix InterlockedIncrement() and InterlockedDecrement() signatures. 2016-10-10 11:22:50 +02:00
Józef Kucia a22b594c0a libs/vkd3d: Accept D3D12_ROOT_SIGNATURE_DESC directly only when all bits of "bytecode_length" are set. 2016-10-10 11:22:50 +02:00
Józef Kucia 59d466af2d libs/vkd3d: Use PRIx64 to print 64-bit integers. 2016-10-10 11:22:50 +02:00
Józef Kucia 4153810c00 libs/vkd3d: Partially implement d3d12_command_list_CopyTextureRegion(). 2016-10-08 14:31:57 +02:00
Józef Kucia 99efb9abe3 libs/vkd3d: Get rid of vk_format_from_dxgi_format().
Use vkd3d_get_format() instead.
2016-10-08 14:31:57 +02:00
Józef Kucia ab883caaff libs/vkd3d: Introduce vkd3d_format. 2016-10-08 14:31:57 +02:00
Józef Kucia b112ec1942 libs/vkd3d: Implement d3d12_command_queue_Signal(). 2016-10-08 14:31:57 +02:00
Józef Kucia 2a7b614278 libs/vkd3d: Wait for GPU fences in worker thread.
This could be implemented without a worker thread, if event objects
would be tightly coupled with ID3D12Fences.
2016-10-08 14:31:57 +02:00
Józef Kucia 2f76260857 libs/vkd3d: Create fence worker thread per device. 2016-10-08 14:31:57 +02:00
Józef Kucia c7d123b122 libs/vkd3d: Move event objects implementation to libvkd3d-utils.
The libvkd3d is not the best place for event objects implementation.
2016-10-07 13:26:39 +02:00
Józef Kucia 0c1432e671 libs/vkd3d: Move D3D12CreateDevice() to libvkd3d-utils. 2016-10-07 13:26:39 +02:00
Józef Kucia ef6a3d78a2 libs/vkd3d: Pass signal event function pointer to vkd3d_create_device(). 2016-10-07 13:26:39 +02:00
Józef Kucia 544c2668ca libs/vkd3d: Introduce vkd3d_create_device().
We need to pass additional parameters to libvkd3d during initialization.
2016-10-07 13:26:39 +02:00
Józef Kucia 12ea3309f0 libs/vkd3d-utils: Add library. 2016-10-07 13:26:39 +02:00
Józef Kucia 49cac8005c libs/vkd3d-common: Add convenience library for shared code. 2016-10-07 13:26:39 +02:00
Józef Kucia c558118f70 libs/vkd3d: Re-use vkd3d_array_reserve() in d3d12_fence_SetEventOnCompletion(). 2016-10-05 19:01:57 +02:00
Józef Kucia b224b6372c libs/vkd3d: Fix ID3D12Device reference count leak in d3d12_command_list_init(). 2016-10-05 18:40:25 +02:00
Józef Kucia a763bef615 libs/vkd3d: Do not leak "passes". 2016-10-05 18:40:25 +02:00
Józef Kucia 1cabd851b8 libs/vkd3d: Do not leak "framebuffers". 2016-10-05 18:40:25 +02:00
Henri Verbeet 3fe56457f9 libs/vkd3d: Set the initial pipeline state on command list creation/reset. 2016-10-05 17:53:52 +02:00