diff --git a/include/vulkan/vk_layer.h b/include/vulkan/vk_layer.h index aeb6ab9..6899182 100644 --- a/include/vulkan/vk_layer.h +++ b/include/vulkan/vk_layer.h @@ -221,5 +221,30 @@ typedef enum VkLayerDbgAction_ VK_DBG_LAYER_ACTION_DEBUG_OUTPUT = 0x8, } VkLayerDbgAction; +// ------------------------------------------------------------------------------------------------ +// CreateInstance and CreateDevice support structures +typedef struct VkLayerInstanceLink_ { + struct VkLayerInstanceLink_* pNext; + PFN_vkGetInstanceProcAddr pfnNextGetInstanceProcAddr; +} VkLayerInstanceLink; + +typedef struct { + VkStructureType sType; // VK_STRUCTURE_TYPE_LAYER_INSTANCE_CREATE_INFO + const void* pNext; + VkLayerInstanceLink* pLayerInfo; +} VkLayerInstanceCreateInfo; + +typedef struct VkLayerDeviceLink_ { + struct VkLayerDeviceLink_* pNext; + PFN_vkGetInstanceProcAddr pfnNextGetInstanceProcAddr; + PFN_vkGetDeviceProcAddr pfnNextGetDeviceProcAddr; +} VkLayerDeviceLink; + +typedef struct { + VkStructureType sType; // VK_STRUCTURE_TYPE_LAYER_DEVICE_CREATE_INFO + const void* pNext; + VkLayerDeviceLink* pLayerInfo; +} VkLayerDeviceCreateInfo; + // ------------------------------------------------------------------------------------------------ // API functions