vulkan-3.1.0.0: Bindings to the Vulkan graphics API.

Safe HaskellNone
LanguageHaskell2010

Graphics.Vulkan.Extensions.VK_EXT_debug_utils

Synopsis

Documentation

setDebugUtilsObjectNameEXT :: forall io. MonadIO io => Device -> DebugUtilsObjectNameInfoEXT -> io () Source #

vkSetDebugUtilsObjectNameEXT - Give a user-friendly name to an object

Parameters

  • device is the device that created the object.

Valid Usage

Valid Usage (Implicit)

  • device must be a valid Device handle

Host Synchronization

  • Host access to pNameInfo.objectHandle must be externally synchronized

Return Codes

Success
Failure

See Also

DebugUtilsObjectNameInfoEXT, Device

setDebugUtilsObjectTagEXT :: forall io. MonadIO io => Device -> DebugUtilsObjectTagInfoEXT -> io () Source #

vkSetDebugUtilsObjectTagEXT - Attach arbitrary data to an object

Parameters

  • device is the device that created the object.

Valid Usage (Implicit)

  • device must be a valid Device handle

Host Synchronization

  • Host access to pTagInfo.objectHandle must be externally synchronized

Return Codes

Success
Failure

See Also

DebugUtilsObjectTagInfoEXT, Device

queueBeginDebugUtilsLabelEXT :: forall io. MonadIO io => Queue -> ("labelInfo" ::: DebugUtilsLabelEXT) -> io () Source #

vkQueueBeginDebugUtilsLabelEXT - Open a queue debug label region

Parameters

  • queue is the queue in which to start a debug label region.
  • pLabelInfo is a pointer to a DebugUtilsLabelEXT structure specifying parameters of the label region to open.

Command Properties

'

Command Buffer Levels Render Pass Scope Supported Queue Types Pipeline Type
- - Any -

See Also

DebugUtilsLabelEXT, Queue

queueEndDebugUtilsLabelEXT :: forall io. MonadIO io => Queue -> io () Source #

vkQueueEndDebugUtilsLabelEXT - Close a queue debug label region

Parameters

  • queue is the queue in which a debug label region should be closed.

Description

The calls to queueBeginDebugUtilsLabelEXT and queueEndDebugUtilsLabelEXT must be matched and balanced.

Valid Usage

Valid Usage (Implicit)

  • queue must be a valid Queue handle

Command Properties

'

Command Buffer Levels Render Pass Scope Supported Queue Types Pipeline Type
- - Any -

See Also

Queue

queueInsertDebugUtilsLabelEXT :: forall io. MonadIO io => Queue -> ("labelInfo" ::: DebugUtilsLabelEXT) -> io () Source #

vkQueueInsertDebugUtilsLabelEXT - Insert a label into a queue

Parameters

  • queue is the queue into which a debug label will be inserted.
  • pLabelInfo is a pointer to a DebugUtilsLabelEXT structure specifying parameters of the label to insert.

Command Properties

'

Command Buffer Levels Render Pass Scope Supported Queue Types Pipeline Type
- - Any -

See Also

DebugUtilsLabelEXT, Queue

cmdBeginDebugUtilsLabelEXT :: forall io. MonadIO io => CommandBuffer -> ("labelInfo" ::: DebugUtilsLabelEXT) -> io () Source #

vkCmdBeginDebugUtilsLabelEXT - Open a command buffer debug label region

Parameters

  • commandBuffer is the command buffer into which the command is recorded.
  • pLabelInfo is a pointer to a DebugUtilsLabelEXT structure specifying parameters of the label region to open.

Valid Usage (Implicit)

Host Synchronization

  • Host access to the CommandPool that commandBuffer was allocated from must be externally synchronized

Command Properties

'

Command Buffer Levels Render Pass Scope Supported Queue Types Pipeline Type
Primary Secondary Both Graphics Compute

See Also

CommandBuffer, DebugUtilsLabelEXT

cmdEndDebugUtilsLabelEXT :: forall io. MonadIO io => CommandBuffer -> io () Source #

vkCmdEndDebugUtilsLabelEXT - Close a command buffer label region

Parameters

  • commandBuffer is the command buffer into which the command is recorded.

Description

An application may open a debug label region in one command buffer and close it in another, or otherwise split debug label regions across multiple command buffers or multiple queue submissions. When viewed from the linear series of submissions to a single queue, the calls to cmdBeginDebugUtilsLabelEXT and cmdEndDebugUtilsLabelEXT must be matched and balanced.

Valid Usage

Valid Usage (Implicit)

  • commandBuffer must be in the recording state
  • The CommandPool that commandBuffer was allocated from must support graphics, or compute operations

Host Synchronization

  • Host access to the CommandPool that commandBuffer was allocated from must be externally synchronized

Command Properties

'

Command Buffer Levels Render Pass Scope Supported Queue Types Pipeline Type
Primary Secondary Both Graphics Compute

See Also

CommandBuffer

cmdInsertDebugUtilsLabelEXT :: forall io. MonadIO io => CommandBuffer -> ("labelInfo" ::: DebugUtilsLabelEXT) -> io () Source #

vkCmdInsertDebugUtilsLabelEXT - Insert a label into a command buffer

Parameters

  • commandBuffer is the command buffer into which the command is recorded.
  • pInfo is a pointer to a DebugUtilsLabelEXT structure specifying parameters of the label to insert.

Valid Usage (Implicit)

Host Synchronization

  • Host access to the CommandPool that commandBuffer was allocated from must be externally synchronized

Command Properties

'

Command Buffer Levels Render Pass Scope Supported Queue Types Pipeline Type
Primary Secondary Both Graphics Compute

See Also

CommandBuffer, DebugUtilsLabelEXT

createDebugUtilsMessengerEXT :: forall io. MonadIO io => Instance -> DebugUtilsMessengerCreateInfoEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io DebugUtilsMessengerEXT Source #

vkCreateDebugUtilsMessengerEXT - Create a debug messenger object

Parameters

  • instance the instance the messenger will be used with.
  • pCreateInfo is a pointer to a DebugUtilsMessengerCreateInfoEXT structure containing the callback pointer, as well as defining conditions under which this messenger will trigger the callback.
  • pAllocator controls host memory allocation as described in the Memory Allocation chapter.
  • pMessenger is a pointer to a DebugUtilsMessengerEXT handle in which the created object is returned.

Valid Usage (Implicit)

  • instance must be a valid Instance handle

Return Codes

Success
Failure

The application must ensure that createDebugUtilsMessengerEXT is not executed in parallel with any Vulkan command that is also called with instance or child of instance as the dispatchable argument.

See Also

AllocationCallbacks, DebugUtilsMessengerCreateInfoEXT, DebugUtilsMessengerEXT, Instance

withDebugUtilsMessengerEXT :: forall r. Instance -> DebugUtilsMessengerCreateInfoEXT -> Maybe AllocationCallbacks -> (DebugUtilsMessengerEXT -> IO r) -> IO r Source #

A safe wrapper for createDebugUtilsMessengerEXT and destroyDebugUtilsMessengerEXT using bracket

The allocated value must not be returned from the provided computation

destroyDebugUtilsMessengerEXT :: forall io. MonadIO io => Instance -> DebugUtilsMessengerEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io () Source #

vkDestroyDebugUtilsMessengerEXT - Destroy a debug messenger object

Parameters

  • instance the instance where the callback was created.

Valid Usage

  • If AllocationCallbacks were provided when messenger was created, a compatible set of callbacks must be provided here

Valid Usage (Implicit)

  • instance must be a valid Instance handle
  • messenger must be a valid DebugUtilsMessengerEXT handle
  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid AllocationCallbacks structure
  • messenger must have been created, allocated, or retrieved from instance

Host Synchronization

  • Host access to messenger must be externally synchronized

The application must ensure that destroyDebugUtilsMessengerEXT is not executed in parallel with any Vulkan command that is also called with instance or child of instance as the dispatchable argument.

See Also

AllocationCallbacks, DebugUtilsMessengerEXT, Instance

submitDebugUtilsMessageEXT :: forall io. MonadIO io => Instance -> DebugUtilsMessageSeverityFlagBitsEXT -> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> DebugUtilsMessengerCallbackDataEXT -> io () Source #

vkSubmitDebugUtilsMessageEXT - Inject a message into a debug stream

Parameters

  • instance is the debug stream’s Instance.

Description

The call will propagate through the layers and generate callback(s) as indicated by the message’s flags. The parameters are passed on to the callback in addition to the pUserData value that was defined at the time the messenger was registered.

Valid Usage

  • The objectType member of each element of pCallbackData->pObjects must not be OBJECT_TYPE_UNKNOWN

Valid Usage (Implicit)

  • instance must be a valid Instance handle

See Also

DebugUtilsMessageSeverityFlagBitsEXT, DebugUtilsMessageTypeFlagsEXT, DebugUtilsMessengerCallbackDataEXT, Instance

data DebugUtilsObjectNameInfoEXT Source #

VkDebugUtilsObjectNameInfoEXT - Specify parameters of a name to give to an object

Description

Applications may change the name associated with an object simply by calling setDebugUtilsObjectNameEXT again with a new string. If pObjectName is an empty string, then any previously set name is removed.

Valid Usage

Valid Usage (Implicit)

  • pNext must be NULL
  • objectType must be a valid ObjectType value
  • pObjectName must be a null-terminated UTF-8 string

See Also

DebugUtilsMessengerCallbackDataEXT, ObjectType, StructureType, setDebugUtilsObjectNameEXT

Constructors

DebugUtilsObjectNameInfoEXT 

Fields

data DebugUtilsObjectTagInfoEXT Source #

VkDebugUtilsObjectTagInfoEXT - Specify parameters of a tag to attach to an object

Description

The tagName parameter gives a name or identifier to the type of data being tagged. This can be used by debugging layers to easily filter for only data that can be used by that implementation.

Valid Usage (Implicit)

See Also

ObjectType, StructureType, setDebugUtilsObjectTagEXT

Constructors

DebugUtilsObjectTagInfoEXT 

Fields

Instances
Show DebugUtilsObjectTagInfoEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

Storable DebugUtilsObjectTagInfoEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

FromCStruct DebugUtilsObjectTagInfoEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

ToCStruct DebugUtilsObjectTagInfoEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

Zero DebugUtilsObjectTagInfoEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

data DebugUtilsLabelEXT Source #

Constructors

DebugUtilsLabelEXT 

Fields

  • labelName :: ByteString

    pLabelName must be a null-terminated UTF-8 string

  • color :: (Float, Float, Float, Float)

    color is an optional RGBA color value that can be associated with the label. A particular implementation may choose to ignore this color value. The values contain RGBA values in order, in the range 0.0 to 1.0. If all elements in color are set to 0.0 then it is ignored.

data DebugUtilsMessengerCreateInfoEXT Source #

VkDebugUtilsMessengerCreateInfoEXT - Structure specifying parameters of a newly created debug messenger

Description

For each DebugUtilsMessengerEXT that is created the DebugUtilsMessengerCreateInfoEXT::messageSeverity and DebugUtilsMessengerCreateInfoEXT::messageType determine when that DebugUtilsMessengerCreateInfoEXT::pfnUserCallback is called. The process to determine if the user’s pfnUserCallback is triggered when an event occurs is as follows:

  1. The implementation will perform a bitwise AND of the event’s DebugUtilsMessageSeverityFlagBitsEXT with the messageSeverity provided during creation of the DebugUtilsMessengerEXT object.

    1. If the value is 0, the message is skipped.
  2. The implementation will perform bitwise AND of the event’s DebugUtilsMessageTypeFlagBitsEXT with the messageType provided during the creation of the DebugUtilsMessengerEXT object.

    1. If the value is 0, the message is skipped.
  3. The callback will trigger a debug message for the current event

The callback will come directly from the component that detected the event, unless some other layer intercepts the calls for its own purposes (filter them in a different way, log to a system error log, etc.).

An application can receive multiple callbacks if multiple DebugUtilsMessengerEXT objects are created. A callback will always be executed in the same thread as the originating Vulkan call.

A callback can be called from multiple threads simultaneously (if the application is making Vulkan calls from multiple threads).

Valid Usage (Implicit)

See Also

PFN_vkDebugUtilsMessengerCallbackEXT, DebugUtilsMessageSeverityFlagsEXT, DebugUtilsMessageTypeFlagsEXT, DebugUtilsMessengerCreateFlagsEXT, StructureType, createDebugUtilsMessengerEXT

Constructors

DebugUtilsMessengerCreateInfoEXT 

Fields

Instances
Show DebugUtilsMessengerCreateInfoEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

Storable DebugUtilsMessengerCreateInfoEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

FromCStruct DebugUtilsMessengerCreateInfoEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

ToCStruct DebugUtilsMessengerCreateInfoEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

Zero DebugUtilsMessengerCreateInfoEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

data DebugUtilsMessengerCallbackDataEXT Source #

VkDebugUtilsMessengerCallbackDataEXT - Structure specifying parameters returned to the callback

Description

Note

This structure should only be considered valid during the lifetime of the triggered callback.

Since adding queue and command buffer labels behaves like pushing and popping onto a stack, the order of both pQueueLabels and pCmdBufLabels is based on the order the labels were defined. The result is that the first label in either pQueueLabels or pCmdBufLabels will be the first defined (and therefore the oldest) while the last label in each list will be the most recent.

Note

pQueueLabels will only be non-NULL if one of the objects in pObjects can be related directly to a defined Queue which has had one or more labels associated with it.

Likewise, pCmdBufLabels will only be non-NULL if one of the objects in pObjects can be related directly to a defined CommandBuffer which has had one or more labels associated with it. Additionally, while command buffer labels allow for beginning and ending across different command buffers, the debug messaging framework cannot guarantee that labels in pCmdBufLables will contain those defined outside of the associated command buffer. This is partially due to the fact that the association of one command buffer with another may not have been defined at the time the debug message is triggered.

Valid Usage (Implicit)

  • pNext must be NULL
  • flags must be 0
  • If pMessageIdName is not NULL, pMessageIdName must be a null-terminated UTF-8 string
  • pMessage must be a null-terminated UTF-8 string
  • If queueLabelCount is not 0, pQueueLabels must be a valid pointer to an array of queueLabelCount valid DebugUtilsLabelEXT structures
  • If cmdBufLabelCount is not 0, pCmdBufLabels must be a valid pointer to an array of cmdBufLabelCount valid DebugUtilsLabelEXT structures
  • If objectCount is not 0, pObjects must be a valid pointer to an array of objectCount valid DebugUtilsObjectNameInfoEXT structures

See Also

DebugUtilsLabelEXT, DebugUtilsMessengerCallbackDataFlagsEXT, DebugUtilsObjectNameInfoEXT, StructureType, submitDebugUtilsMessageEXT

Constructors

DebugUtilsMessengerCallbackDataEXT 

Fields

newtype DebugUtilsMessengerCreateFlagsEXT Source #

Instances
Eq DebugUtilsMessengerCreateFlagsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

Ord DebugUtilsMessengerCreateFlagsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

Read DebugUtilsMessengerCreateFlagsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

Show DebugUtilsMessengerCreateFlagsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

Storable DebugUtilsMessengerCreateFlagsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

Bits DebugUtilsMessengerCreateFlagsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

Methods

(.&.) :: DebugUtilsMessengerCreateFlagsEXT -> DebugUtilsMessengerCreateFlagsEXT -> DebugUtilsMessengerCreateFlagsEXT #

(.|.) :: DebugUtilsMessengerCreateFlagsEXT -> DebugUtilsMessengerCreateFlagsEXT -> DebugUtilsMessengerCreateFlagsEXT #

xor :: DebugUtilsMessengerCreateFlagsEXT -> DebugUtilsMessengerCreateFlagsEXT -> DebugUtilsMessengerCreateFlagsEXT #

complement :: DebugUtilsMessengerCreateFlagsEXT -> DebugUtilsMessengerCreateFlagsEXT #

shift :: DebugUtilsMessengerCreateFlagsEXT -> Int -> DebugUtilsMessengerCreateFlagsEXT #

rotate :: DebugUtilsMessengerCreateFlagsEXT -> Int -> DebugUtilsMessengerCreateFlagsEXT #

zeroBits :: DebugUtilsMessengerCreateFlagsEXT #

bit :: Int -> DebugUtilsMessengerCreateFlagsEXT #

setBit :: DebugUtilsMessengerCreateFlagsEXT -> Int -> DebugUtilsMessengerCreateFlagsEXT #

clearBit :: DebugUtilsMessengerCreateFlagsEXT -> Int -> DebugUtilsMessengerCreateFlagsEXT #

complementBit :: DebugUtilsMessengerCreateFlagsEXT -> Int -> DebugUtilsMessengerCreateFlagsEXT #

testBit :: DebugUtilsMessengerCreateFlagsEXT -> Int -> Bool #

bitSizeMaybe :: DebugUtilsMessengerCreateFlagsEXT -> Maybe Int #

bitSize :: DebugUtilsMessengerCreateFlagsEXT -> Int #

isSigned :: DebugUtilsMessengerCreateFlagsEXT -> Bool #

shiftL :: DebugUtilsMessengerCreateFlagsEXT -> Int -> DebugUtilsMessengerCreateFlagsEXT #

unsafeShiftL :: DebugUtilsMessengerCreateFlagsEXT -> Int -> DebugUtilsMessengerCreateFlagsEXT #

shiftR :: DebugUtilsMessengerCreateFlagsEXT -> Int -> DebugUtilsMessengerCreateFlagsEXT #

unsafeShiftR :: DebugUtilsMessengerCreateFlagsEXT -> Int -> DebugUtilsMessengerCreateFlagsEXT #

rotateL :: DebugUtilsMessengerCreateFlagsEXT -> Int -> DebugUtilsMessengerCreateFlagsEXT #

rotateR :: DebugUtilsMessengerCreateFlagsEXT -> Int -> DebugUtilsMessengerCreateFlagsEXT #

popCount :: DebugUtilsMessengerCreateFlagsEXT -> Int #

Zero DebugUtilsMessengerCreateFlagsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

newtype DebugUtilsMessengerCallbackDataFlagsEXT Source #

Instances
Eq DebugUtilsMessengerCallbackDataFlagsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

Ord DebugUtilsMessengerCallbackDataFlagsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

Read DebugUtilsMessengerCallbackDataFlagsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

Show DebugUtilsMessengerCallbackDataFlagsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

Storable DebugUtilsMessengerCallbackDataFlagsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

Bits DebugUtilsMessengerCallbackDataFlagsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

Methods

(.&.) :: DebugUtilsMessengerCallbackDataFlagsEXT -> DebugUtilsMessengerCallbackDataFlagsEXT -> DebugUtilsMessengerCallbackDataFlagsEXT #

(.|.) :: DebugUtilsMessengerCallbackDataFlagsEXT -> DebugUtilsMessengerCallbackDataFlagsEXT -> DebugUtilsMessengerCallbackDataFlagsEXT #

xor :: DebugUtilsMessengerCallbackDataFlagsEXT -> DebugUtilsMessengerCallbackDataFlagsEXT -> DebugUtilsMessengerCallbackDataFlagsEXT #

complement :: DebugUtilsMessengerCallbackDataFlagsEXT -> DebugUtilsMessengerCallbackDataFlagsEXT #

shift :: DebugUtilsMessengerCallbackDataFlagsEXT -> Int -> DebugUtilsMessengerCallbackDataFlagsEXT #

rotate :: DebugUtilsMessengerCallbackDataFlagsEXT -> Int -> DebugUtilsMessengerCallbackDataFlagsEXT #

zeroBits :: DebugUtilsMessengerCallbackDataFlagsEXT #

bit :: Int -> DebugUtilsMessengerCallbackDataFlagsEXT #

setBit :: DebugUtilsMessengerCallbackDataFlagsEXT -> Int -> DebugUtilsMessengerCallbackDataFlagsEXT #

clearBit :: DebugUtilsMessengerCallbackDataFlagsEXT -> Int -> DebugUtilsMessengerCallbackDataFlagsEXT #

complementBit :: DebugUtilsMessengerCallbackDataFlagsEXT -> Int -> DebugUtilsMessengerCallbackDataFlagsEXT #

testBit :: DebugUtilsMessengerCallbackDataFlagsEXT -> Int -> Bool #

bitSizeMaybe :: DebugUtilsMessengerCallbackDataFlagsEXT -> Maybe Int #

bitSize :: DebugUtilsMessengerCallbackDataFlagsEXT -> Int #

isSigned :: DebugUtilsMessengerCallbackDataFlagsEXT -> Bool #

shiftL :: DebugUtilsMessengerCallbackDataFlagsEXT -> Int -> DebugUtilsMessengerCallbackDataFlagsEXT #

unsafeShiftL :: DebugUtilsMessengerCallbackDataFlagsEXT -> Int -> DebugUtilsMessengerCallbackDataFlagsEXT #

shiftR :: DebugUtilsMessengerCallbackDataFlagsEXT -> Int -> DebugUtilsMessengerCallbackDataFlagsEXT #

unsafeShiftR :: DebugUtilsMessengerCallbackDataFlagsEXT -> Int -> DebugUtilsMessengerCallbackDataFlagsEXT #

rotateL :: DebugUtilsMessengerCallbackDataFlagsEXT -> Int -> DebugUtilsMessengerCallbackDataFlagsEXT #

rotateR :: DebugUtilsMessengerCallbackDataFlagsEXT -> Int -> DebugUtilsMessengerCallbackDataFlagsEXT #

popCount :: DebugUtilsMessengerCallbackDataFlagsEXT -> Int #

Zero DebugUtilsMessengerCallbackDataFlagsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

newtype DebugUtilsMessageSeverityFlagBitsEXT Source #

VkDebugUtilsMessageSeverityFlagBitsEXT - Bitmask specifying which severities of events cause a debug messenger callback

See Also

DebugUtilsMessageSeverityFlagsEXT, submitDebugUtilsMessageEXT

Bundled Patterns

pattern DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT :: DebugUtilsMessageSeverityFlagBitsEXT

DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT specifies the most verbose output indicating all diagnostic messages from the Vulkan loader, layers, and drivers should be captured.

pattern DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT :: DebugUtilsMessageSeverityFlagBitsEXT

DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT specifies an informational message such as resource details that may be handy when debugging an application.

pattern DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT :: DebugUtilsMessageSeverityFlagBitsEXT

DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT specifies use of Vulkan that may expose an app bug. Such cases may not be immediately harmful, such as a fragment shader outputting to a location with no attachment. Other cases may point to behavior that is almost certainly bad when unintended such as using an image whose memory has not been filled. In general if you see a warning but you know that the behavior is intended/desired, then simply ignore the warning.

pattern DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT :: DebugUtilsMessageSeverityFlagBitsEXT

DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT specifies that the application has violated a valid usage condition of the specification.

Instances
Eq DebugUtilsMessageSeverityFlagBitsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

Ord DebugUtilsMessageSeverityFlagBitsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

Read DebugUtilsMessageSeverityFlagBitsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

Show DebugUtilsMessageSeverityFlagBitsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

Storable DebugUtilsMessageSeverityFlagBitsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

Bits DebugUtilsMessageSeverityFlagBitsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

Methods

(.&.) :: DebugUtilsMessageSeverityFlagBitsEXT -> DebugUtilsMessageSeverityFlagBitsEXT -> DebugUtilsMessageSeverityFlagBitsEXT #

(.|.) :: DebugUtilsMessageSeverityFlagBitsEXT -> DebugUtilsMessageSeverityFlagBitsEXT -> DebugUtilsMessageSeverityFlagBitsEXT #

xor :: DebugUtilsMessageSeverityFlagBitsEXT -> DebugUtilsMessageSeverityFlagBitsEXT -> DebugUtilsMessageSeverityFlagBitsEXT #

complement :: DebugUtilsMessageSeverityFlagBitsEXT -> DebugUtilsMessageSeverityFlagBitsEXT #

shift :: DebugUtilsMessageSeverityFlagBitsEXT -> Int -> DebugUtilsMessageSeverityFlagBitsEXT #

rotate :: DebugUtilsMessageSeverityFlagBitsEXT -> Int -> DebugUtilsMessageSeverityFlagBitsEXT #

zeroBits :: DebugUtilsMessageSeverityFlagBitsEXT #

bit :: Int -> DebugUtilsMessageSeverityFlagBitsEXT #

setBit :: DebugUtilsMessageSeverityFlagBitsEXT -> Int -> DebugUtilsMessageSeverityFlagBitsEXT #

clearBit :: DebugUtilsMessageSeverityFlagBitsEXT -> Int -> DebugUtilsMessageSeverityFlagBitsEXT #

complementBit :: DebugUtilsMessageSeverityFlagBitsEXT -> Int -> DebugUtilsMessageSeverityFlagBitsEXT #

testBit :: DebugUtilsMessageSeverityFlagBitsEXT -> Int -> Bool #

bitSizeMaybe :: DebugUtilsMessageSeverityFlagBitsEXT -> Maybe Int #

bitSize :: DebugUtilsMessageSeverityFlagBitsEXT -> Int #

isSigned :: DebugUtilsMessageSeverityFlagBitsEXT -> Bool #

shiftL :: DebugUtilsMessageSeverityFlagBitsEXT -> Int -> DebugUtilsMessageSeverityFlagBitsEXT #

unsafeShiftL :: DebugUtilsMessageSeverityFlagBitsEXT -> Int -> DebugUtilsMessageSeverityFlagBitsEXT #

shiftR :: DebugUtilsMessageSeverityFlagBitsEXT -> Int -> DebugUtilsMessageSeverityFlagBitsEXT #

unsafeShiftR :: DebugUtilsMessageSeverityFlagBitsEXT -> Int -> DebugUtilsMessageSeverityFlagBitsEXT #

rotateL :: DebugUtilsMessageSeverityFlagBitsEXT -> Int -> DebugUtilsMessageSeverityFlagBitsEXT #

rotateR :: DebugUtilsMessageSeverityFlagBitsEXT -> Int -> DebugUtilsMessageSeverityFlagBitsEXT #

popCount :: DebugUtilsMessageSeverityFlagBitsEXT -> Int #

Zero DebugUtilsMessageSeverityFlagBitsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

newtype DebugUtilsMessageTypeFlagBitsEXT Source #

VkDebugUtilsMessageTypeFlagBitsEXT - Bitmask specifying which types of events cause a debug messenger callback

See Also

DebugUtilsMessageTypeFlagsEXT

Bundled Patterns

pattern DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT :: DebugUtilsMessageTypeFlagBitsEXT

DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT specifies that some general event has occurred. This is typically a non-specification, non-performance event.

pattern DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT :: DebugUtilsMessageTypeFlagBitsEXT

DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT specifies that something has occurred during validation against the Vulkan specification that may indicate invalid behavior.

pattern DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT :: DebugUtilsMessageTypeFlagBitsEXT

DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT specifies a potentially non-optimal use of Vulkan, e.g. using cmdClearColorImage when setting AttachmentDescription::loadOp to ATTACHMENT_LOAD_OP_CLEAR would have worked.

Instances
Eq DebugUtilsMessageTypeFlagBitsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

Ord DebugUtilsMessageTypeFlagBitsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

Read DebugUtilsMessageTypeFlagBitsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

Show DebugUtilsMessageTypeFlagBitsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

Storable DebugUtilsMessageTypeFlagBitsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

Bits DebugUtilsMessageTypeFlagBitsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

Methods

(.&.) :: DebugUtilsMessageTypeFlagBitsEXT -> DebugUtilsMessageTypeFlagBitsEXT -> DebugUtilsMessageTypeFlagBitsEXT #

(.|.) :: DebugUtilsMessageTypeFlagBitsEXT -> DebugUtilsMessageTypeFlagBitsEXT -> DebugUtilsMessageTypeFlagBitsEXT #

xor :: DebugUtilsMessageTypeFlagBitsEXT -> DebugUtilsMessageTypeFlagBitsEXT -> DebugUtilsMessageTypeFlagBitsEXT #

complement :: DebugUtilsMessageTypeFlagBitsEXT -> DebugUtilsMessageTypeFlagBitsEXT #

shift :: DebugUtilsMessageTypeFlagBitsEXT -> Int -> DebugUtilsMessageTypeFlagBitsEXT #

rotate :: DebugUtilsMessageTypeFlagBitsEXT -> Int -> DebugUtilsMessageTypeFlagBitsEXT #

zeroBits :: DebugUtilsMessageTypeFlagBitsEXT #

bit :: Int -> DebugUtilsMessageTypeFlagBitsEXT #

setBit :: DebugUtilsMessageTypeFlagBitsEXT -> Int -> DebugUtilsMessageTypeFlagBitsEXT #

clearBit :: DebugUtilsMessageTypeFlagBitsEXT -> Int -> DebugUtilsMessageTypeFlagBitsEXT #

complementBit :: DebugUtilsMessageTypeFlagBitsEXT -> Int -> DebugUtilsMessageTypeFlagBitsEXT #

testBit :: DebugUtilsMessageTypeFlagBitsEXT -> Int -> Bool #

bitSizeMaybe :: DebugUtilsMessageTypeFlagBitsEXT -> Maybe Int #

bitSize :: DebugUtilsMessageTypeFlagBitsEXT -> Int #

isSigned :: DebugUtilsMessageTypeFlagBitsEXT -> Bool #

shiftL :: DebugUtilsMessageTypeFlagBitsEXT -> Int -> DebugUtilsMessageTypeFlagBitsEXT #

unsafeShiftL :: DebugUtilsMessageTypeFlagBitsEXT -> Int -> DebugUtilsMessageTypeFlagBitsEXT #

shiftR :: DebugUtilsMessageTypeFlagBitsEXT -> Int -> DebugUtilsMessageTypeFlagBitsEXT #

unsafeShiftR :: DebugUtilsMessageTypeFlagBitsEXT -> Int -> DebugUtilsMessageTypeFlagBitsEXT #

rotateL :: DebugUtilsMessageTypeFlagBitsEXT -> Int -> DebugUtilsMessageTypeFlagBitsEXT #

rotateR :: DebugUtilsMessageTypeFlagBitsEXT -> Int -> DebugUtilsMessageTypeFlagBitsEXT #

popCount :: DebugUtilsMessageTypeFlagBitsEXT -> Int #

Zero DebugUtilsMessageTypeFlagBitsEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils

type PFN_vkDebugUtilsMessengerCallbackEXT = FunPtr FN_vkDebugUtilsMessengerCallbackEXT Source #

PFN_vkDebugUtilsMessengerCallbackEXT - Application-defined debug messenger callback function

Parameters

Description

The callback must not call destroyDebugUtilsMessengerEXT.

The callback returns a Bool32, which is interpreted in a layer-specified manner. The application should always return FALSE. The TRUE value is reserved for use in layer development.

See Also

DebugUtilsMessengerCreateInfoEXT

pattern EXT_DEBUG_UTILS_SPEC_VERSION :: forall a. Integral a => a Source #

type EXT_DEBUG_UTILS_EXTENSION_NAME = "VK_EXT_debug_utils" Source #

pattern EXT_DEBUG_UTILS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #

newtype DebugUtilsMessengerEXT Source #

VkDebugUtilsMessengerEXT - Opaque handle to a debug messenger object

Description

The debug messenger will provide detailed feedback on the application’s use of Vulkan when events of interest occur. When an event of interest does occur, the debug messenger will submit a debug message to the debug callback that was provided during its creation. Additionally, the debug messenger is responsible with filtering out debug messages that the callback is not interested in and will only provide desired debug messages.

See Also

createDebugUtilsMessengerEXT, destroyDebugUtilsMessengerEXT

Instances
Eq DebugUtilsMessengerEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.Handles

Ord DebugUtilsMessengerEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.Handles

Show DebugUtilsMessengerEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.Handles

Storable DebugUtilsMessengerEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.Handles

Zero DebugUtilsMessengerEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.Handles

IsHandle DebugUtilsMessengerEXT Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.Handles