All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.lwjgl.vulkan.EXTDebugReport Maven / Gradle / Ivy

Go to download

A new generation graphics and compute API that provides high-efficiency, cross-platform access to modern GPUs used in a wide variety of devices from PCs and consoles to mobile phones and embedded platforms.

There is a newer version: 3.3.4
Show newest version
/*
 * Copyright LWJGL. All rights reserved.
 * License terms: https://www.lwjgl.org/license
 * MACHINE GENERATED FILE, DO NOT EDIT
 */
package org.lwjgl.vulkan;

import java.nio.*;

import org.lwjgl.system.*;

import static org.lwjgl.system.Checks.*;
import static org.lwjgl.system.JNI.*;
import static org.lwjgl.system.MemoryStack.*;
import static org.lwjgl.system.MemoryUtil.*;

/** Due to the nature of the Vulkan interface, there is very little error information available to the developer and application. By enabling optional validation layers and using the {@code VK_EXT_debug_report} extension, developers can obtain much more detailed feedback on the application's use of Vulkan. This extension define a way for layers and the implementation to call back to the application for events of interest to the application. */
public class EXTDebugReport {

	/** The extension specification version. */
	public static final int VK_EXT_DEBUG_REPORT_SPEC_VERSION = 4;

	/** The extension name. */
	public static final String VK_EXT_DEBUG_REPORT_EXTENSION_NAME = "VK_EXT_debug_report";

	/** Extends {@code VkStructureType}. */
	public static final int VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000;

	/** Extends {@code VkResult}. */
	public static final int VK_ERROR_VALIDATION_FAILED_EXT = -1000011001;

	/**
	 * VkDebugReportObjectTypeEXT - Specify the type of an object handle
	 * 
	 * 
Description
* *

For more information, see:

* *
    *
  • The See Also section for other reference pages using this type.
  • *
  • The Vulkan Specification.
  • *
* *
See Also
* *

{@link VkDebugMarkerObjectNameInfoEXT}, {@link VkDebugMarkerObjectTagInfoEXT}, {@link #vkDebugReportMessageEXT DebugReportMessageEXT}

* *
Enum values:
* *
    *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT}
  • *
*/ public static final int VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0, VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3, VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4, VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6, VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10, VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11, VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14, VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17, VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19, VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20, VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21, VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22, VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23, VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25, VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26, VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27, VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = 28, VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29, VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30, VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT = 31, VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT = 32; /** * VkDebugReportErrorEXT - Unknown VK_EXT_debug_report enumeration type * *
Description
* *

For more information, see:

* *
    *
  • The See Also section for other reference pages using this type.
  • *
  • The Vulkan Specification.
  • *
* *
See Also
* *

No cross-references are available

* *
Enum values:
* *
    *
  • {@link #VK_DEBUG_REPORT_ERROR_NONE_EXT DEBUG_REPORT_ERROR_NONE_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_ERROR_CALLBACK_REF_EXT DEBUG_REPORT_ERROR_CALLBACK_REF_EXT}
  • *
*/ public static final int VK_DEBUG_REPORT_ERROR_NONE_EXT = 0, VK_DEBUG_REPORT_ERROR_CALLBACK_REF_EXT = 1; /** * VkDebugReportFlagBitsEXT - Bitmask specifying events which cause a debug report callback * *
Description
* *

For more information, see:

* *
    *
  • The reference page for {@link VkDebugReportCallbackCreateInfoEXT}, where this interface is defined.
  • *
  • The See Also section for other reference pages using this type.
  • *
  • The Vulkan Specification.
  • *
* *
See Also
* *

{@code VkDebugReportFlagsEXT}

* *
Enum values:
* *
    *
  • {@link #VK_DEBUG_REPORT_INFORMATION_BIT_EXT DEBUG_REPORT_INFORMATION_BIT_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_WARNING_BIT_EXT DEBUG_REPORT_WARNING_BIT_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_ERROR_BIT_EXT DEBUG_REPORT_ERROR_BIT_EXT}
  • *
  • {@link #VK_DEBUG_REPORT_DEBUG_BIT_EXT DEBUG_REPORT_DEBUG_BIT_EXT}
  • *
*/ public static final int VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x1, VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x2, VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x4, VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x8, VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x10; protected EXTDebugReport() { throw new UnsupportedOperationException(); } static boolean isAvailable(VKCapabilities caps) { return checkFunctions( caps.vkCreateDebugReportCallbackEXT, caps.vkDestroyDebugReportCallbackEXT, caps.vkDebugReportMessageEXT ); } // --- [ vkCreateDebugReportCallbackEXT ] --- /** Unsafe version of: {@link #vkCreateDebugReportCallbackEXT CreateDebugReportCallbackEXT} */ public static int nvkCreateDebugReportCallbackEXT(VkInstance instance, long pCreateInfo, long pAllocator, long pCallback) { long __functionAddress = instance.getCapabilities().vkCreateDebugReportCallbackEXT; if ( CHECKS ) { check(__functionAddress); VkDebugReportCallbackCreateInfoEXT.validate(pCreateInfo); if ( pAllocator != NULL ) VkAllocationCallbacks.validate(pAllocator); } return callPPPPI(__functionAddress, instance.address(), pCreateInfo, pAllocator, pCallback); } /** * Create a debug report callback object. * *
C Specification
* *

Debug report callbacks give more detailed feedback on the application's use of Vulkan when events of interest occur.

* *

To register a debug report callback, an application uses {@link #vkCreateDebugReportCallbackEXT CreateDebugReportCallbackEXT}.

* *
VkResult vkCreateDebugReportCallbackEXT(
    VkInstance                                  instance,
    const VkDebugReportCallbackCreateInfoEXT*   pCreateInfo,
    const VkAllocationCallbacks*                pAllocator,
    VkDebugReportCallbackEXT*                   pCallback);
* *
Valid Usage (Implicit)
* *
    *
  • {@code instance} must be a valid {@code VkInstance} handle
  • *
  • {@code pCreateInfo} must be a pointer to a valid {@link VkDebugReportCallbackCreateInfoEXT} structure
  • *
  • If {@code pAllocator} is not {@code NULL}, {@code pAllocator} must be a pointer to a valid {@link VkAllocationCallbacks} structure
  • *
  • {@code pCallback} must be a pointer to a {@code VkDebugReportCallbackEXT} handle
  • *
* *
Return Codes
* *
*
On success, this command returns
*
    *
  • {@link VK10#VK_SUCCESS SUCCESS}
  • *
*
On failure, this command returns
*
    *
  • {@link VK10#VK_ERROR_OUT_OF_HOST_MEMORY ERROR_OUT_OF_HOST_MEMORY}
  • *
*
* *
See Also
* *

{@link VkAllocationCallbacks}, {@link VkDebugReportCallbackCreateInfoEXT}

* * @param instance the instance the callback will be logged on. * @param pCreateInfo points to a {@link VkDebugReportCallbackCreateInfoEXT} structure which defines the conditions under which this callback will be called. * @param pAllocator * @param pCallback a pointer to record the {@code VkDebugReportCallbackEXT} object created. */ public static int vkCreateDebugReportCallbackEXT(VkInstance instance, VkDebugReportCallbackCreateInfoEXT pCreateInfo, VkAllocationCallbacks pAllocator, LongBuffer pCallback) { if ( CHECKS ) check(pCallback, 1); return nvkCreateDebugReportCallbackEXT(instance, pCreateInfo.address(), memAddressSafe(pAllocator), memAddress(pCallback)); } // --- [ vkDestroyDebugReportCallbackEXT ] --- /** Unsafe version of: {@link #vkDestroyDebugReportCallbackEXT DestroyDebugReportCallbackEXT} */ public static void nvkDestroyDebugReportCallbackEXT(VkInstance instance, long callback, long pAllocator) { long __functionAddress = instance.getCapabilities().vkDestroyDebugReportCallbackEXT; if ( CHECKS ) { check(__functionAddress); if ( pAllocator != NULL ) VkAllocationCallbacks.validate(pAllocator); } callPJPV(__functionAddress, instance.address(), callback, pAllocator); } /** * Destroy a debug report callback object. * *
C Specification
* *

To destroy a {@code VkDebugReportCallbackEXT} object, call:

* *
void vkDestroyDebugReportCallbackEXT(
    VkInstance                                  instance,
    VkDebugReportCallbackEXT                    callback,
    const VkAllocationCallbacks*                pAllocator);
* *
Valid Usage
* *
    *
  • If {@link VkAllocationCallbacks} were provided when {@code instance} was created, a compatible set of callbacks must be provided here
  • *
  • If no {@link VkAllocationCallbacks} were provided when {@code instance} was created, {@code pAllocator} must be {@code NULL}
  • *
* *
Valid Usage (Implicit)
* *
    *
  • {@code instance} must be a valid {@code VkInstance} handle
  • *
  • {@code callback} must be a valid {@code VkDebugReportCallbackEXT} handle
  • *
  • If {@code pAllocator} is not {@code NULL}, {@code pAllocator} must be a pointer to a valid {@link VkAllocationCallbacks} structure
  • *
  • {@code callback} must have been created, allocated, or retrieved from {@code instance}
  • *
* *
Host Synchronization
* *
    *
  • Host access to {@code callback} must be externally synchronized
  • *
* *
See Also
* *

{@link VkAllocationCallbacks}

* * @param instance the instance where the callback was created. * @param callback the {@code VkDebugReportCallbackEXT} object to destroy. * @param pAllocator */ public static void vkDestroyDebugReportCallbackEXT(VkInstance instance, long callback, VkAllocationCallbacks pAllocator) { nvkDestroyDebugReportCallbackEXT(instance, callback, memAddressSafe(pAllocator)); } // --- [ vkDebugReportMessageEXT ] --- /** Unsafe version of: {@link #vkDebugReportMessageEXT DebugReportMessageEXT} */ public static void nvkDebugReportMessageEXT(VkInstance instance, int flags, int objectType, long object, long location, int messageCode, long pLayerPrefix, long pMessage) { long __functionAddress = instance.getCapabilities().vkDebugReportMessageEXT; if ( CHECKS ) check(__functionAddress); callPJPPPV(__functionAddress, instance.address(), flags, objectType, object, location, messageCode, pLayerPrefix, pMessage); } /** * (no short description available). * *
C Specification
* *

To inject its own messages into the debug stream, call:

* *
void vkDebugReportMessageEXT(
    VkInstance                                  instance,
    VkDebugReportFlagsEXT                       flags,
    VkDebugReportObjectTypeEXT                  objectType,
    uint64_t                                    object,
    size_t                                      location,
    int32_t                                     messageCode,
    const char*                                 pLayerPrefix,
    const char*                                 pMessage);
* *
Description
* *

The call will propagate through the layers and cause a callback to the application. The parameters are passed on to the callback in addition to the {@code pUserData} value that was defined at the time the callback was registered.

* *
Valid Usage
* *
    *
  • {@code object} may be a Vulkan object
  • *
* *
Valid Usage (Implicit)
* *
    *
  • {@code instance} must be a valid {@code VkInstance} handle
  • *
  • {@code flags} must be a valid combination of {@code VkDebugReportFlagBitsEXT} values
  • *
  • {@code flags} must not be 0
  • *
  • {@code objectType} must be a valid {@code VkDebugReportObjectTypeEXT} value
  • *
  • {@code pLayerPrefix} must be a null-terminated string
  • *
  • {@code pMessage} must be a null-terminated string
  • *
* * @param instance the instance the callback will be logged on. * @param flags indicates the {@code VkDebugReportFlagBitsEXT} that triggered this callback. * @param objectType a {@code VkDebugReportObjectTypeEXT} specifying the type of object being used or created at the time the event was triggered. * @param object object where the issue was detected. {@code object} may be {@link VK10#VK_NULL_HANDLE NULL_HANDLE} if there is no object associated with the event. * @param location a component (layer, driver, loader) defined value that indicates the location of the trigger. This is an optional value. * @param messageCode a layer-defined value indicating what test triggered this callback. * @param pLayerPrefix the abbreviation of the component making the callback. * @param pMessage a null-terminated string detailing the trigger conditions. */ public static void vkDebugReportMessageEXT(VkInstance instance, int flags, int objectType, long object, long location, int messageCode, ByteBuffer pLayerPrefix, ByteBuffer pMessage) { if ( CHECKS ) { checkNT1(pLayerPrefix); checkNT1(pMessage); } nvkDebugReportMessageEXT(instance, flags, objectType, object, location, messageCode, memAddress(pLayerPrefix), memAddress(pMessage)); } /** * (no short description available). * *
C Specification
* *

To inject its own messages into the debug stream, call:

* *
void vkDebugReportMessageEXT(
    VkInstance                                  instance,
    VkDebugReportFlagsEXT                       flags,
    VkDebugReportObjectTypeEXT                  objectType,
    uint64_t                                    object,
    size_t                                      location,
    int32_t                                     messageCode,
    const char*                                 pLayerPrefix,
    const char*                                 pMessage);
* *
Description
* *

The call will propagate through the layers and cause a callback to the application. The parameters are passed on to the callback in addition to the {@code pUserData} value that was defined at the time the callback was registered.

* *
Valid Usage
* *
    *
  • {@code object} may be a Vulkan object
  • *
* *
Valid Usage (Implicit)
* *
    *
  • {@code instance} must be a valid {@code VkInstance} handle
  • *
  • {@code flags} must be a valid combination of {@code VkDebugReportFlagBitsEXT} values
  • *
  • {@code flags} must not be 0
  • *
  • {@code objectType} must be a valid {@code VkDebugReportObjectTypeEXT} value
  • *
  • {@code pLayerPrefix} must be a null-terminated string
  • *
  • {@code pMessage} must be a null-terminated string
  • *
* * @param instance the instance the callback will be logged on. * @param flags indicates the {@code VkDebugReportFlagBitsEXT} that triggered this callback. * @param objectType a {@code VkDebugReportObjectTypeEXT} specifying the type of object being used or created at the time the event was triggered. * @param object object where the issue was detected. {@code object} may be {@link VK10#VK_NULL_HANDLE NULL_HANDLE} if there is no object associated with the event. * @param location a component (layer, driver, loader) defined value that indicates the location of the trigger. This is an optional value. * @param messageCode a layer-defined value indicating what test triggered this callback. * @param pLayerPrefix the abbreviation of the component making the callback. * @param pMessage a null-terminated string detailing the trigger conditions. */ public static void vkDebugReportMessageEXT(VkInstance instance, int flags, int objectType, long object, long location, int messageCode, CharSequence pLayerPrefix, CharSequence pMessage) { MemoryStack stack = stackGet(); int stackPointer = stack.getPointer(); try { ByteBuffer pLayerPrefixEncoded = stack.UTF8(pLayerPrefix); ByteBuffer pMessageEncoded = stack.UTF8(pMessage); nvkDebugReportMessageEXT(instance, flags, objectType, object, location, messageCode, memAddress(pLayerPrefixEncoded), memAddress(pMessageEncoded)); } finally { stack.setPointer(stackPointer); } } /** Array version of: {@link #vkCreateDebugReportCallbackEXT CreateDebugReportCallbackEXT} */ public static int vkCreateDebugReportCallbackEXT(VkInstance instance, VkDebugReportCallbackCreateInfoEXT pCreateInfo, VkAllocationCallbacks pAllocator, long[] pCallback) { long __functionAddress = instance.getCapabilities().vkCreateDebugReportCallbackEXT; if ( CHECKS ) { check(__functionAddress); check(pCallback, 1); VkDebugReportCallbackCreateInfoEXT.validate(pCreateInfo.address()); if ( pAllocator != null ) VkAllocationCallbacks.validate(pAllocator.address()); } return callPPPPI(__functionAddress, instance.address(), pCreateInfo.address(), memAddressSafe(pAllocator), pCallback); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy