allocator.pfnFree(allocator.pUserData, data);
}
-DeviceData* AllocateDeviceData(const VkAllocationCallbacks& allocator) {
+DeviceData* AllocateDeviceData(
+ const VkAllocationCallbacks& allocator,
+ const DebugReportCallbackList& debug_report_callbacks) {
void* data_mem = allocator.pfnAllocation(
allocator.pUserData, sizeof(DeviceData), alignof(DeviceData),
VK_SYSTEM_ALLOCATION_SCOPE_DEVICE);
if (!data_mem)
return nullptr;
- return new (data_mem) DeviceData(allocator);
+ return new (data_mem) DeviceData(allocator, debug_report_callbacks);
}
void FreeDeviceData(DeviceData* data, const VkAllocationCallbacks& allocator) {
if (result != VK_SUCCESS)
return result;
- DeviceData* data = AllocateDeviceData(data_allocator);
+ DeviceData* data = AllocateDeviceData(data_allocator,
+ instance_data.debug_report_callbacks);
if (!data)
return VK_ERROR_OUT_OF_HOST_MEMORY;
};
struct DeviceData {
- DeviceData(const VkAllocationCallbacks& alloc)
- : opaque_api_data(), allocator(alloc), driver() {
+ DeviceData(const VkAllocationCallbacks& alloc,
+ const DebugReportCallbackList& debug_report_callbacks_)
+ : opaque_api_data(),
+ allocator(alloc),
+ debug_report_callbacks(debug_report_callbacks_),
+ driver() {
hook_extensions.set(ProcHook::EXTENSION_CORE);
}
api::DeviceData opaque_api_data;
const VkAllocationCallbacks allocator;
+ const DebugReportCallbackList& debug_report_callbacks;
std::bitset<ProcHook::EXTENSION_COUNT> hook_extensions;