mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-06 01:50:38 +00:00
Add support for VK_KHR_maintenance1
* We can silently support 3D slice rendering and copies to 2D, this is just a driver-side change. * Ditto for supporting vkCmdFillBuffer on transfer queues. * We don't have anything to do with format queries or error returns. * We already support negative viewport height for VK_AMD_negative_viewport_height. * So it's only the new command for trimming command pools that we need to support - and that is just passthrough/non-recorded.
This commit is contained in:
@@ -724,6 +724,9 @@ static const VkExtensionProperties supportedExtensions[] = {
|
||||
VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME, VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION,
|
||||
},
|
||||
#endif
|
||||
{
|
||||
VK_KHR_MAINTENANCE1_EXTENSION_NAME, VK_KHR_MAINTENANCE1_SPEC_VERSION,
|
||||
},
|
||||
{
|
||||
VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME,
|
||||
VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION,
|
||||
|
||||
@@ -1403,4 +1403,8 @@ public:
|
||||
VkImageUsageFlags usage, VkImageCreateFlags flags,
|
||||
VkExternalMemoryHandleTypeFlagsNV externalHandleType,
|
||||
VkExternalImageFormatPropertiesNV *pExternalImageFormatProperties);
|
||||
|
||||
// VK_KHR_maintenance1
|
||||
void vkTrimCommandPoolKHR(VkDevice device, VkCommandPool commandPool,
|
||||
VkCommandPoolTrimFlagsKHR flags);
|
||||
};
|
||||
|
||||
@@ -265,7 +265,8 @@
|
||||
CheckExt(VK_KHR_display_swapchain); \
|
||||
CheckExt(VK_NV_external_memory); \
|
||||
CheckExt(VK_NV_external_memory_win32); \
|
||||
CheckExt(VK_NV_win32_keyed_mutex);
|
||||
CheckExt(VK_NV_win32_keyed_mutex); \
|
||||
CheckExt(VK_KHR_maintenance1);
|
||||
|
||||
#define HookInitVulkanInstanceExts() \
|
||||
HookInitExtension(VK_KHR_surface, DestroySurfaceKHR); \
|
||||
@@ -299,6 +300,7 @@
|
||||
HookInitExtension(VK_KHR_swapchain, AcquireNextImageKHR); \
|
||||
HookInitExtension(VK_KHR_swapchain, QueuePresentKHR); \
|
||||
HookInitExtension(VK_KHR_display_swapchain, CreateSharedSwapchainsKHR); \
|
||||
HookInitExtension(VK_KHR_maintenance1, TrimCommandPoolKHR); \
|
||||
HookInitDevice_PlatformSpecific()
|
||||
|
||||
#define DefineHooks() \
|
||||
@@ -651,6 +653,8 @@
|
||||
VkImageUsageFlags, usage, VkImageCreateFlags, flags, \
|
||||
VkExternalMemoryHandleTypeFlagsNV, externalHandleType, \
|
||||
VkExternalImageFormatPropertiesNV *, pExternalImageFormatProperties); \
|
||||
HookDefine3(void, vkTrimCommandPoolKHR, VkDevice, device, VkCommandPool, commandPool, \
|
||||
VkCommandPoolTrimFlagsKHR, flags); \
|
||||
HookDefine_PlatformSpecific()
|
||||
|
||||
struct VkLayerInstanceDispatchTableExtended : VkLayerInstanceDispatchTable
|
||||
|
||||
@@ -377,6 +377,12 @@ VkResult WrappedVulkan::vkResetCommandPool(VkDevice device, VkCommandPool cmdPoo
|
||||
return ObjDisp(device)->ResetCommandPool(Unwrap(device), Unwrap(cmdPool), flags);
|
||||
}
|
||||
|
||||
void WrappedVulkan::vkTrimCommandPoolKHR(VkDevice device, VkCommandPool commandPool,
|
||||
VkCommandPoolTrimFlagsKHR flags)
|
||||
{
|
||||
return ObjDisp(device)->TrimCommandPoolKHR(Unwrap(device), Unwrap(commandPool), flags);
|
||||
}
|
||||
|
||||
// Command buffer functions
|
||||
|
||||
VkResult WrappedVulkan::vkAllocateCommandBuffers(VkDevice device,
|
||||
|
||||
Reference in New Issue
Block a user