vulkan-3.6.11.1: Bindings to the Vulkan graphics API.
Safe HaskellNone
LanguageHaskell2010

Vulkan.Extensions.VK_EXT_device_memory_report

Synopsis

Documentation

data PhysicalDeviceDeviceMemoryReportFeaturesEXT Source #

VkPhysicalDeviceDeviceMemoryReportFeaturesEXT - Structure describing whether device memory report callback can be supported by an implementation

Members

The members of the PhysicalDeviceDeviceMemoryReportFeaturesEXT structure describe the following features:

Description

If the PhysicalDeviceDeviceMemoryReportFeaturesEXT structure is included in the pNext chain of PhysicalDeviceFeatures2, it is filled with a value indicating whether the feature is supported. PhysicalDeviceDeviceMemoryReportFeaturesEXT can also be used in the pNext chain of DeviceCreateInfo to enable the feature.

Valid Usage (Implicit)

See Also

Bool32, StructureType

Constructors

PhysicalDeviceDeviceMemoryReportFeaturesEXT 

Fields

  • deviceMemoryReport :: Bool

    deviceMemoryReport indicates whether the implementation supports the ability to register device memory report callbacks.

Instances

Instances details
Eq PhysicalDeviceDeviceMemoryReportFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_memory_report

Show PhysicalDeviceDeviceMemoryReportFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_memory_report

Storable PhysicalDeviceDeviceMemoryReportFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_memory_report

FromCStruct PhysicalDeviceDeviceMemoryReportFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_memory_report

ToCStruct PhysicalDeviceDeviceMemoryReportFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_memory_report

Zero PhysicalDeviceDeviceMemoryReportFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_memory_report

data DeviceDeviceMemoryReportCreateInfoEXT Source #

VkDeviceDeviceMemoryReportCreateInfoEXT - Register device memory report callbacks for a Vulkan device

Description

The callback may be called from multiple threads simultaneously.

The callback must be called only once by the implementation when a DeviceMemoryReportEventTypeEXT event occurs.

Note

The callback could be called from a background thread other than the thread calling the Vulkan commands.

Valid Usage (Implicit)

See Also

PFN_vkDeviceMemoryReportCallbackEXT, DeviceMemoryReportFlagsEXT, StructureType

Constructors

DeviceDeviceMemoryReportCreateInfoEXT 

Fields

Instances

Instances details
Show DeviceDeviceMemoryReportCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_memory_report

Storable DeviceDeviceMemoryReportCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_memory_report

FromCStruct DeviceDeviceMemoryReportCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_memory_report

ToCStruct DeviceDeviceMemoryReportCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_memory_report

Zero DeviceDeviceMemoryReportCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_memory_report

data DeviceMemoryReportCallbackDataEXT Source #

VkDeviceMemoryReportCallbackDataEXT - Structure specifying parameters returned to the callback

Description

memoryObjectId is used to avoid double-counting on the same memory object.

If an internally-allocated device memory object or a DeviceMemory cannot be exported, memoryObjectId must be unique in the Device.

If an internally-allocated device memory object or a DeviceMemory supports being exported, memoryObjectId must be unique system wide.

If an internal device memory object or a DeviceMemory is backed by an imported external memory object, memoryObjectId must be unique system wide.

Note

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

For DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT and DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT events, objectHandle usually will not yet exist when the application or tool receives the callback. objectHandle will only exist when the create or allocate call that triggered the event returns, and if the allocation or import ends up failing objectHandle won’t ever exist.

Valid Usage (Implicit)

See Also

DeviceMemoryReportEventTypeEXT, DeviceMemoryReportFlagsEXT, DeviceSize, ObjectType, StructureType

Constructors

DeviceMemoryReportCallbackDataEXT 

Fields

Instances

Instances details
Eq DeviceMemoryReportCallbackDataEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_memory_report

Show DeviceMemoryReportCallbackDataEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_memory_report

Storable DeviceMemoryReportCallbackDataEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_memory_report

FromCStruct DeviceMemoryReportCallbackDataEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_memory_report

ToCStruct DeviceMemoryReportCallbackDataEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_memory_report

Zero DeviceMemoryReportCallbackDataEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_memory_report

newtype DeviceMemoryReportFlagsEXT Source #

Instances

Instances details
Eq DeviceMemoryReportFlagsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_memory_report

Ord DeviceMemoryReportFlagsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_memory_report

Read DeviceMemoryReportFlagsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_memory_report

Show DeviceMemoryReportFlagsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_memory_report

Storable DeviceMemoryReportFlagsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_memory_report

Bits DeviceMemoryReportFlagsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_memory_report

Methods

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

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

xor :: DeviceMemoryReportFlagsEXT -> DeviceMemoryReportFlagsEXT -> DeviceMemoryReportFlagsEXT #

complement :: DeviceMemoryReportFlagsEXT -> DeviceMemoryReportFlagsEXT #

shift :: DeviceMemoryReportFlagsEXT -> Int -> DeviceMemoryReportFlagsEXT #

rotate :: DeviceMemoryReportFlagsEXT -> Int -> DeviceMemoryReportFlagsEXT #

zeroBits :: DeviceMemoryReportFlagsEXT #

bit :: Int -> DeviceMemoryReportFlagsEXT #

setBit :: DeviceMemoryReportFlagsEXT -> Int -> DeviceMemoryReportFlagsEXT #

clearBit :: DeviceMemoryReportFlagsEXT -> Int -> DeviceMemoryReportFlagsEXT #

complementBit :: DeviceMemoryReportFlagsEXT -> Int -> DeviceMemoryReportFlagsEXT #

testBit :: DeviceMemoryReportFlagsEXT -> Int -> Bool #

bitSizeMaybe :: DeviceMemoryReportFlagsEXT -> Maybe Int #

bitSize :: DeviceMemoryReportFlagsEXT -> Int #

isSigned :: DeviceMemoryReportFlagsEXT -> Bool #

shiftL :: DeviceMemoryReportFlagsEXT -> Int -> DeviceMemoryReportFlagsEXT #

unsafeShiftL :: DeviceMemoryReportFlagsEXT -> Int -> DeviceMemoryReportFlagsEXT #

shiftR :: DeviceMemoryReportFlagsEXT -> Int -> DeviceMemoryReportFlagsEXT #

unsafeShiftR :: DeviceMemoryReportFlagsEXT -> Int -> DeviceMemoryReportFlagsEXT #

rotateL :: DeviceMemoryReportFlagsEXT -> Int -> DeviceMemoryReportFlagsEXT #

rotateR :: DeviceMemoryReportFlagsEXT -> Int -> DeviceMemoryReportFlagsEXT #

popCount :: DeviceMemoryReportFlagsEXT -> Int #

Zero DeviceMemoryReportFlagsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_memory_report

newtype DeviceMemoryReportEventTypeEXT Source #

VkDeviceMemoryReportEventTypeEXT - Events that can occur on a device memory object

See Also

DeviceMemoryReportCallbackDataEXT

Bundled Patterns

pattern DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT :: DeviceMemoryReportEventTypeEXT

DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT specifies this event corresponds to the allocation of an internal device memory object or a DeviceMemory.

pattern DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT :: DeviceMemoryReportEventTypeEXT

DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT specifies this event corresponds to the deallocation of an internally-allocated device memory object or a DeviceMemory.

pattern DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT :: DeviceMemoryReportEventTypeEXT

DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT specifies this event corresponds to the import of an external memory object.

pattern DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT :: DeviceMemoryReportEventTypeEXT

DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT specifies this event is the release of an imported external memory object.

pattern DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT :: DeviceMemoryReportEventTypeEXT

DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT specifies this event corresponds to the failed allocation of an internal device memory object or a DeviceMemory.

Instances

Instances details
Eq DeviceMemoryReportEventTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_memory_report

Ord DeviceMemoryReportEventTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_memory_report

Read DeviceMemoryReportEventTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_memory_report

Show DeviceMemoryReportEventTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_memory_report

Storable DeviceMemoryReportEventTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_memory_report

Zero DeviceMemoryReportEventTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_memory_report

type PFN_vkDeviceMemoryReportCallbackEXT = FunPtr FN_vkDeviceMemoryReportCallbackEXT Source #

PFN_vkDeviceMemoryReportCallbackEXT - Application-defined device memory report callback function

Description

The callback must not make calls to any Vulkan commands.

See Also

DeviceDeviceMemoryReportCreateInfoEXT

type FN_vkDeviceMemoryReportCallbackEXT = ("pCallbackData" ::: Ptr DeviceMemoryReportCallbackDataEXT) -> ("pUserData" ::: Ptr ()) -> IO () Source #

type EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME = "VK_EXT_device_memory_report" Source #