Implement extension VK_KHR_maintenance3.

* Not much to do here - this extension only exposes some queries, which
  we just need to ensure we can pass along and unwrap.
This commit is contained in:
baldurk
2018-04-24 19:24:16 +01:00
parent a1f5dbdaa6
commit ca38fb1a85
4 changed files with 21 additions and 0 deletions
+3
View File
@@ -640,6 +640,9 @@ static const VkExtensionProperties supportedExtensions[] = {
{
VK_KHR_MAINTENANCE2_EXTENSION_NAME, VK_KHR_MAINTENANCE2_SPEC_VERSION,
},
{
VK_KHR_MAINTENANCE3_EXTENSION_NAME, VK_KHR_MAINTENANCE3_SPEC_VERSION,
},
{
VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME, VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION,
},
+5
View File
@@ -1672,4 +1672,9 @@ public:
IMPLEMENT_FUNCTION_SERIALISED(VkResult, vkBindImageMemory2KHR, VkDevice device,
uint32_t bindInfoCount, const VkBindImageMemoryInfoKHR *pBindInfos);
// VK_KHR_maintenance3
void vkGetDescriptorSetLayoutSupportKHR(VkDevice device,
const VkDescriptorSetLayoutCreateInfo *pCreateInfo,
VkDescriptorSetLayoutSupport *pSupport);
};
@@ -299,6 +299,7 @@
CheckExt(NV_win32_keyed_mutex, VKXX); \
CheckExt(KHR_maintenance1, VK11); \
CheckExt(KHR_maintenance2, VK11); \
CheckExt(KHR_maintenance3, VK11); \
CheckExt(EXT_display_control, VKXX); \
CheckExt(KHR_external_memory, VK11); \
CheckExt(KHR_external_memory_win32, VKXX); \
@@ -381,6 +382,7 @@
CmdPushDescriptorSetWithTemplateKHR); \
HookInitExtension(KHR_bind_memory2, BindBufferMemory2KHR); \
HookInitExtension(KHR_bind_memory2, BindImageMemory2KHR); \
HookInitExtension(KHR_maintenance3, GetDescriptorSetLayoutSupportKHR); \
HookInitDevice_PlatformSpecific()
#define DefineHooks() \
@@ -814,6 +816,9 @@
const VkBindBufferMemoryInfoKHR *, pBindInfos); \
HookDefine3(VkResult, vkBindImageMemory2KHR, VkDevice, device, uint32_t, bindInfoCount, \
const VkBindImageMemoryInfoKHR *, pBindInfos); \
HookDefine3(void, vkGetDescriptorSetLayoutSupportKHR, VkDevice, device, \
const VkDescriptorSetLayoutCreateInfo *, pCreateInfo, \
VkDescriptorSetLayoutSupport *, pSupport); \
HookDefine_PlatformSpecific()
struct VkLayerInstanceDispatchTableExtended : VkLayerInstanceDispatchTable
@@ -477,4 +477,12 @@ VkResult WrappedVulkan::vkGetShaderInfoAMD(VkDevice device, VkPipeline pipeline,
{
return ObjDisp(device)->GetShaderInfoAMD(Unwrap(device), Unwrap(pipeline), shaderStage, infoType,
pInfoSize, pInfo);
}
void WrappedVulkan::vkGetDescriptorSetLayoutSupportKHR(VkDevice device,
const VkDescriptorSetLayoutCreateInfo *pCreateInfo,
VkDescriptorSetLayoutSupport *pSupport)
{
VkDescriptorSetLayoutCreateInfo unwrapped = UnwrapInfo(pCreateInfo);
return ObjDisp(device)->GetDescriptorSetLayoutSupportKHR(Unwrap(device), &unwrapped, pSupport);
}