allow debugger to be created before the instance and attached to it

later
This commit is contained in:
Greg Wells
2025-05-25 07:32:05 -04:00
parent 5b6360f26f
commit 6c4bd6a572
7 changed files with 55 additions and 22 deletions

View File

@@ -30,18 +30,25 @@ static VKAPI_ATTR VkBool32 VKAPI_CALL vk_debuggerDebugCallback(
}
gnInstance* instance = (gnInstance*)pUserData;
instance->instance->instanceMessageCount++;
if (instance->instance->instanceMessageCount == 1) {
instance->instance->instanceMessages = malloc(sizeof(struct gnInstanceMessage) * instance->instance->instanceMessageCount);
if (instance->debugger) {
instance->debugger->info.callback(
severity, type, data, instance->debugger->info.userData
);
} else {
instance->instance->instanceMessageCount++;
if (instance->instance->instanceMessageCount == 1) {
instance->instance->instanceMessages = malloc(sizeof(struct gnInstanceMessage) * instance->instance->instanceMessageCount);
}
else {
instance->instance->instanceMessages = realloc(instance->instance->instanceMessages, sizeof(struct gnInstanceMessage) * instance->instance->instanceMessageCount);
}
instance->instance->instanceMessages[instance->instance->instanceMessageCount - 1] = (struct gnInstanceMessage){
.data = data,
.severity = severity,
.type = type
};
}
else {
instance->instance->instanceMessages = realloc(instance->instance->instanceMessages, sizeof(struct gnInstanceMessage) * instance->instance->instanceMessageCount);
}
instance->instance->instanceMessages[instance->instance->instanceMessageCount - 1] = (struct gnInstanceMessage){
.data = data,
.severity = severity,
.type = type
};
return VK_FALSE;
}