Java 类org.lwjgl.vulkan.VkDebugReportCallbackCreateInfoEXT 实例源码
项目:autostack
文件:ClearScreenDemoUseNewStack.java
/**
* This function sets up the debug callback which the validation layers will use to yell at us when we make mistakes.
*/
private static long setupDebugging(VkInstance instance, int flags, VkDebugReportCallbackEXT callback) {
// Again, a struct to create something, in this case the debug report callback
VkDebugReportCallbackCreateInfoEXT dbgCreateInfo = VkDebugReportCallbackCreateInfoEXT.callocStack()
.sType(VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT) // <- the struct type
.pNext(NULL) // <- must be NULL
.pfnCallback(callback) // <- the actual function pointer (in LWJGL a Closure)
.pUserData(NULL) // <- any user data provided to the debug report callback function
.flags(flags); // <- indicates which kind of messages we want to receive
LongBuffer pCallback = stackMallocLong(1); // <- allocate a LongBuffer (for a non-dispatchable handle)
// Actually create the debug report callback
int err = vkCreateDebugReportCallbackEXT(instance, dbgCreateInfo, null, pCallback);
long callbackHandle = pCallback.get(0);
if (err != VK_SUCCESS) {
throw new AssertionError("Failed to create VkInstance: " + translateVulkanResult(err));
}
return callbackHandle;
}
项目:autostack
文件:ClearScreenDemoUseCallerStack.java
/**
* This function sets up the debug callback which the validation layers will use to yell at us when we make mistakes.
*/
private static long setupDebugging(VkInstance instance, int flags, VkDebugReportCallbackEXT callback) {
// Again, a struct to create something, in this case the debug report callback
VkDebugReportCallbackCreateInfoEXT dbgCreateInfo = VkDebugReportCallbackCreateInfoEXT.callocStack()
.sType(VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT) // <- the struct type
.pNext(NULL) // <- must be NULL
.pfnCallback(callback) // <- the actual function pointer (in LWJGL a Closure)
.pUserData(NULL) // <- any user data provided to the debug report callback function
.flags(flags); // <- indicates which kind of messages we want to receive
LongBuffer pCallback = stackMallocLong(1); // <- allocate a LongBuffer (for a non-dispatchable handle)
// Actually create the debug report callback
int err = vkCreateDebugReportCallbackEXT(instance, dbgCreateInfo, null, pCallback);
long callbackHandle = pCallback.get(0);
if (err != VK_SUCCESS) {
throw new AssertionError("Failed to create VkInstance: " + translateVulkanResult(err));
}
return callbackHandle;
}
项目:oreon-engine
文件:VKRenderEngine.java
private long setupDebugging(VkInstance instance, int flags, VkDebugReportCallbackEXT callback) {
VkDebugReportCallbackCreateInfoEXT dbgCreateInfo = VkDebugReportCallbackCreateInfoEXT.calloc()
.sType(VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT)
.pNext(0)
.pfnCallback(callback)
.pUserData(0)
.flags(flags);
LongBuffer pCallback = memAllocLong(1);
int err = vkCreateDebugReportCallbackEXT(instance, dbgCreateInfo, null, pCallback);
long callbackHandle = pCallback.get(0);
memFree(pCallback);
dbgCreateInfo.free();
if (err != VK_SUCCESS) {
throw new AssertionError("Failed to create VkInstance: " + VKUtil.translateVulkanResult(err));
}
return callbackHandle;
}
项目:lwjgl3-swt
文件:ClearScreenDemo.java
/**
* This function sets up the debug callback which the validation layers will use to yell at us when we make mistakes.
*/
private static long setupDebugging(VkInstance instance, int flags, VkDebugReportCallbackEXT callback) {
// Again, a struct to create something, in this case the debug report callback
VkDebugReportCallbackCreateInfoEXT dbgCreateInfo = VkDebugReportCallbackCreateInfoEXT.calloc()
.sType(VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT) // <- the struct type
.pNext(NULL) // <- must be NULL
.pfnCallback(callback) // <- the actual function pointer (in LWJGL a Closure)
.pUserData(NULL) // <- any user data provided to the debug report callback function
.flags(flags); // <- indicates which kind of messages we want to receive
LongBuffer pCallback = memAllocLong(1); // <- allocate a LongBuffer (for a non-dispatchable handle)
// Actually create the debug report callback
int err = vkCreateDebugReportCallbackEXT(instance, dbgCreateInfo, null, pCallback);
long callbackHandle = pCallback.get(0);
memFree(pCallback); // <- and free the LongBuffer
dbgCreateInfo.free(); // <- and also the create-info struct
if (err != VK_SUCCESS) {
throw new AssertionError("Failed to create VkInstance: " + translateVulkanResult(err));
}
return callbackHandle;
}