vulkan-3.2.0.0: Bindings to the Vulkan graphics API.

Safe HaskellNone
LanguageHaskell2010

Graphics.Vulkan.Core10.OtherTypes

Synopsis

Documentation

data MemoryBarrier Source #

VkMemoryBarrier - Structure specifying a global memory barrier

Description

The first access scope is limited to access types in the source access mask specified by srcAccessMask.

The second access scope is limited to access types in the destination access mask specified by dstAccessMask.

Valid Usage (Implicit)

See Also

AccessFlags, StructureType, cmdPipelineBarrier, cmdWaitEvents

Constructors

MemoryBarrier 

Fields

data BufferMemoryBarrier Source #

VkBufferMemoryBarrier - Structure specifying a buffer memory barrier

Description

The first access scope is limited to access to memory through the specified buffer range, via access types in the source access mask specified by srcAccessMask. If srcAccessMask includes ACCESS_HOST_WRITE_BIT, memory writes performed by that access type are also made visible, as that access type is not performed through a resource.

The second access scope is limited to access to memory through the specified buffer range, via access types in the destination access mask. specified by dstAccessMask. If dstAccessMask includes ACCESS_HOST_WRITE_BIT or ACCESS_HOST_READ_BIT, available memory writes are also made visible to accesses of those types, as those access types are not performed through a resource.

If srcQueueFamilyIndex is not equal to dstQueueFamilyIndex, and srcQueueFamilyIndex is equal to the current queue family, then the memory barrier defines a queue family release operation for the specified buffer range, and the second access scope includes no access, as if dstAccessMask was 0.

If dstQueueFamilyIndex is not equal to srcQueueFamilyIndex, and dstQueueFamilyIndex is equal to the current queue family, then the memory barrier defines a queue family acquire operation for the specified buffer range, and the first access scope includes no access, as if srcAccessMask was 0.

Valid Usage

  • offset must be less than the size of buffer

Valid Usage (Implicit)

  • pNext must be NULL
  • buffer must be a valid Buffer handle

See Also

AccessFlags, Buffer, DeviceSize, StructureType, cmdPipelineBarrier, cmdWaitEvents

Constructors

BufferMemoryBarrier 

Fields

Instances
Show BufferMemoryBarrier Source # 
Instance details

Defined in Graphics.Vulkan.Core10.OtherTypes

Storable BufferMemoryBarrier Source # 
Instance details

Defined in Graphics.Vulkan.Core10.OtherTypes

FromCStruct BufferMemoryBarrier Source # 
Instance details

Defined in Graphics.Vulkan.Core10.OtherTypes

ToCStruct BufferMemoryBarrier Source # 
Instance details

Defined in Graphics.Vulkan.Core10.OtherTypes

Zero BufferMemoryBarrier Source # 
Instance details

Defined in Graphics.Vulkan.Core10.OtherTypes

data ImageMemoryBarrier (es :: [Type]) Source #

VkImageMemoryBarrier - Structure specifying the parameters of an image memory barrier

Description

The first access scope is limited to access to memory through the specified image subresource range, via access types in the source access mask specified by srcAccessMask. If srcAccessMask includes ACCESS_HOST_WRITE_BIT, memory writes performed by that access type are also made visible, as that access type is not performed through a resource.

The second access scope is limited to access to memory through the specified image subresource range, via access types in the destination access mask specified by dstAccessMask. If dstAccessMask includes ACCESS_HOST_WRITE_BIT or ACCESS_HOST_READ_BIT, available memory writes are also made visible to accesses of those types, as those access types are not performed through a resource.

If srcQueueFamilyIndex is not equal to dstQueueFamilyIndex, and srcQueueFamilyIndex is equal to the current queue family, then the memory barrier defines a queue family release operation for the specified image subresource range, and the second access scope includes no access, as if dstAccessMask was 0.

If dstQueueFamilyIndex is not equal to srcQueueFamilyIndex, and dstQueueFamilyIndex is equal to the current queue family, then the memory barrier defines a queue family acquire operation for the specified image subresource range, and the first access scope includes no access, as if srcAccessMask was 0.

If oldLayout is not equal to newLayout, then the memory barrier defines an image layout transition for the specified image subresource range.

Layout transitions that are performed via image memory barriers execute in their entirety in submission order, relative to other image layout transitions submitted to the same queue, including those performed by render passes. In effect there is an implicit execution dependency from each such layout transition to all layout transitions previously submitted to the same queue.

The image layout of each image subresource of a depth/stencil image created with IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT is dependent on the last sample locations used to render to the image subresource as a depth/stencil attachment, thus when the image member of a ImageMemoryBarrier is an image created with this flag the application can include a SampleLocationsInfoEXT structure in the pNext chain of ImageMemoryBarrier to specify the sample locations to use during the image layout transition.

If the SampleLocationsInfoEXT structure included in the pNext chain of ImageMemoryBarrier does not match the sample location state last used to render to the image subresource range specified by subresourceRange or if no SampleLocationsInfoEXT structure is included in the pNext chain of ImageMemoryBarrier, then the contents of the given image subresource range becomes undefined as if oldLayout would equal IMAGE_LAYOUT_UNDEFINED.

If image has a multi-planar format and the image is disjoint, then including IMAGE_ASPECT_COLOR_BIT in the aspectMask member of subresourceRange is equivalent to including IMAGE_ASPECT_PLANE_0_BIT, IMAGE_ASPECT_PLANE_1_BIT, and (for three-plane formats only) IMAGE_ASPECT_PLANE_2_BIT.

Valid Usage

  • oldLayout must be IMAGE_LAYOUT_UNDEFINED or the current layout of the image subresources affected by the barrier

Valid Usage (Implicit)

See Also

AccessFlags, Image, ImageLayout, ImageSubresourceRange, StructureType, cmdPipelineBarrier, cmdWaitEvents

Constructors

ImageMemoryBarrier 

Fields

Instances
Extensible ImageMemoryBarrier Source # 
Instance details

Defined in Graphics.Vulkan.Core10.OtherTypes

Show (Chain es) => Show (ImageMemoryBarrier es) Source # 
Instance details

Defined in Graphics.Vulkan.Core10.OtherTypes

PeekChain es => FromCStruct (ImageMemoryBarrier es) Source # 
Instance details

Defined in Graphics.Vulkan.Core10.OtherTypes

PokeChain es => ToCStruct (ImageMemoryBarrier es) Source # 
Instance details

Defined in Graphics.Vulkan.Core10.OtherTypes

es ~ ([] :: [Type]) => Zero (ImageMemoryBarrier es) Source # 
Instance details

Defined in Graphics.Vulkan.Core10.OtherTypes

data DrawIndirectCommand Source #

VkDrawIndirectCommand - Structure specifying a draw indirect command

Description

The members of DrawIndirectCommand have the same meaning as the similarly named parameters of cmdDraw.

Valid Usage

See Also

cmdDrawIndirect

Constructors

DrawIndirectCommand 

Fields

Instances
Show DrawIndirectCommand Source # 
Instance details

Defined in Graphics.Vulkan.Core10.OtherTypes

Storable DrawIndirectCommand Source # 
Instance details

Defined in Graphics.Vulkan.Core10.OtherTypes

FromCStruct DrawIndirectCommand Source # 
Instance details

Defined in Graphics.Vulkan.Core10.OtherTypes

ToCStruct DrawIndirectCommand Source # 
Instance details

Defined in Graphics.Vulkan.Core10.OtherTypes

Zero DrawIndirectCommand Source # 
Instance details

Defined in Graphics.Vulkan.Core10.OtherTypes

data DrawIndexedIndirectCommand Source #

VkDrawIndexedIndirectCommand - Structure specifying a draw indexed indirect command

Description

The members of DrawIndexedIndirectCommand have the same meaning as the similarly named parameters of cmdDrawIndexed.

Valid Usage

  • (indexSize * (firstIndex + indexCount) + offset) must be less than or equal to the size of the bound index buffer, with indexSize being based on the type specified by indexType, where the index buffer, indexType, and offset are specified via cmdBindIndexBuffer
  • If the drawIndirectFirstInstance feature is not enabled, firstInstance must be 0

See Also

cmdDrawIndexedIndirect

Constructors

DrawIndexedIndirectCommand 

Fields

Instances
Show DrawIndexedIndirectCommand Source # 
Instance details

Defined in Graphics.Vulkan.Core10.OtherTypes

Storable DrawIndexedIndirectCommand Source # 
Instance details

Defined in Graphics.Vulkan.Core10.OtherTypes

FromCStruct DrawIndexedIndirectCommand Source # 
Instance details

Defined in Graphics.Vulkan.Core10.OtherTypes

ToCStruct DrawIndexedIndirectCommand Source # 
Instance details

Defined in Graphics.Vulkan.Core10.OtherTypes

Zero DrawIndexedIndirectCommand Source # 
Instance details

Defined in Graphics.Vulkan.Core10.OtherTypes

data DispatchIndirectCommand Source #

VkDispatchIndirectCommand - Structure specifying a dispatch indirect command

Description

The members of DispatchIndirectCommand have the same meaning as the corresponding parameters of cmdDispatch.

Valid Usage

See Also

cmdDispatchIndirect

Constructors

DispatchIndirectCommand 

Fields

Instances
Show DispatchIndirectCommand Source # 
Instance details

Defined in Graphics.Vulkan.Core10.OtherTypes

Storable DispatchIndirectCommand Source # 
Instance details

Defined in Graphics.Vulkan.Core10.OtherTypes

FromCStruct DispatchIndirectCommand Source # 
Instance details

Defined in Graphics.Vulkan.Core10.OtherTypes

ToCStruct DispatchIndirectCommand Source # 
Instance details

Defined in Graphics.Vulkan.Core10.OtherTypes

Zero DispatchIndirectCommand Source # 
Instance details

Defined in Graphics.Vulkan.Core10.OtherTypes

data BaseOutStructure Source #

VkBaseOutStructure - Base structure for a read-only pointer chain

Description

BaseOutStructure can be used to facilitate iterating through a structure pointer chain that returns data back to the application.

See Also

BaseOutStructure, StructureType

Constructors

BaseOutStructure 

Fields

Instances
Show BaseOutStructure Source # 
Instance details

Defined in Graphics.Vulkan.CStruct.Extends

Storable BaseOutStructure Source # 
Instance details

Defined in Graphics.Vulkan.CStruct.Extends

FromCStruct BaseOutStructure Source # 
Instance details

Defined in Graphics.Vulkan.CStruct.Extends

ToCStruct BaseOutStructure Source # 
Instance details

Defined in Graphics.Vulkan.CStruct.Extends

Zero BaseOutStructure Source # 
Instance details

Defined in Graphics.Vulkan.CStruct.Extends

data BaseInStructure Source #

VkBaseInStructure - Base structure for a read-only pointer chain

Description

BaseInStructure can be used to facilitate iterating through a read-only structure pointer chain.

See Also

BaseInStructure, StructureType

Constructors

BaseInStructure 

Fields

Instances
Show BaseInStructure Source # 
Instance details

Defined in Graphics.Vulkan.CStruct.Extends

Storable BaseInStructure Source # 
Instance details

Defined in Graphics.Vulkan.CStruct.Extends

FromCStruct BaseInStructure Source # 
Instance details

Defined in Graphics.Vulkan.CStruct.Extends

ToCStruct BaseInStructure Source # 
Instance details

Defined in Graphics.Vulkan.CStruct.Extends

Zero BaseInStructure Source # 
Instance details

Defined in Graphics.Vulkan.CStruct.Extends

newtype ObjectType Source #

VkObjectType - Specify an enumeration to track object handle types

Description

'

ObjectType Vulkan Handle Type
OBJECT_TYPE_UNKNOWN Unknown/Undefined Handle
OBJECT_TYPE_INSTANCE Instance
OBJECT_TYPE_PHYSICAL_DEVICE PhysicalDevice
OBJECT_TYPE_DEVICE Device
OBJECT_TYPE_QUEUE Queue
OBJECT_TYPE_SEMAPHORE Semaphore
OBJECT_TYPE_COMMAND_BUFFER CommandBuffer
OBJECT_TYPE_FENCE Fence
OBJECT_TYPE_DEVICE_MEMORY DeviceMemory
OBJECT_TYPE_BUFFER Buffer
OBJECT_TYPE_IMAGE Image
OBJECT_TYPE_EVENT Event
OBJECT_TYPE_QUERY_POOL QueryPool
OBJECT_TYPE_BUFFER_VIEW BufferView
OBJECT_TYPE_IMAGE_VIEW ImageView
OBJECT_TYPE_SHADER_MODULE ShaderModule
OBJECT_TYPE_PIPELINE_CACHE PipelineCache
OBJECT_TYPE_PIPELINE_LAYOUT PipelineLayout
OBJECT_TYPE_RENDER_PASS RenderPass
OBJECT_TYPE_PIPELINE Pipeline
OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT DescriptorSetLayout
OBJECT_TYPE_SAMPLER Sampler
OBJECT_TYPE_DESCRIPTOR_POOL DescriptorPool
OBJECT_TYPE_DESCRIPTOR_SET DescriptorSet
OBJECT_TYPE_FRAMEBUFFER Framebuffer
OBJECT_TYPE_COMMAND_POOL CommandPool
OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION SamplerYcbcrConversion
OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE DescriptorUpdateTemplate
OBJECT_TYPE_SURFACE_KHR SurfaceKHR
OBJECT_TYPE_SWAPCHAIN_KHR SwapchainKHR
OBJECT_TYPE_DISPLAY_KHR DisplayKHR
OBJECT_TYPE_DISPLAY_MODE_KHR DisplayModeKHR
OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT DebugReportCallbackEXT
OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV IndirectCommandsLayoutNV
OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT DebugUtilsMessengerEXT
OBJECT_TYPE_VALIDATION_CACHE_EXT ValidationCacheEXT
OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR AccelerationStructureKHR
OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL PerformanceConfigurationINTEL

VkObjectType and Vulkan Handle Relationship

See Also

DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT

Constructors

ObjectType Int32 

Bundled Patterns

pattern OBJECT_TYPE_UNKNOWN :: ObjectType 
pattern OBJECT_TYPE_INSTANCE :: ObjectType 
pattern OBJECT_TYPE_PHYSICAL_DEVICE :: ObjectType 
pattern OBJECT_TYPE_DEVICE :: ObjectType 
pattern OBJECT_TYPE_QUEUE :: ObjectType 
pattern OBJECT_TYPE_SEMAPHORE :: ObjectType 
pattern OBJECT_TYPE_COMMAND_BUFFER :: ObjectType 
pattern OBJECT_TYPE_FENCE :: ObjectType 
pattern OBJECT_TYPE_DEVICE_MEMORY :: ObjectType 
pattern OBJECT_TYPE_BUFFER :: ObjectType 
pattern OBJECT_TYPE_IMAGE :: ObjectType 
pattern OBJECT_TYPE_EVENT :: ObjectType 
pattern OBJECT_TYPE_QUERY_POOL :: ObjectType 
pattern OBJECT_TYPE_BUFFER_VIEW :: ObjectType 
pattern OBJECT_TYPE_IMAGE_VIEW :: ObjectType 
pattern OBJECT_TYPE_SHADER_MODULE :: ObjectType 
pattern OBJECT_TYPE_PIPELINE_CACHE :: ObjectType 
pattern OBJECT_TYPE_PIPELINE_LAYOUT :: ObjectType 
pattern OBJECT_TYPE_RENDER_PASS :: ObjectType 
pattern OBJECT_TYPE_PIPELINE :: ObjectType 
pattern OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT :: ObjectType 
pattern OBJECT_TYPE_SAMPLER :: ObjectType 
pattern OBJECT_TYPE_DESCRIPTOR_POOL :: ObjectType 
pattern OBJECT_TYPE_DESCRIPTOR_SET :: ObjectType 
pattern OBJECT_TYPE_FRAMEBUFFER :: ObjectType 
pattern OBJECT_TYPE_COMMAND_POOL :: ObjectType 
pattern OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV :: ObjectType 
pattern OBJECT_TYPE_DEFERRED_OPERATION_KHR :: ObjectType 
pattern OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL :: ObjectType 
pattern OBJECT_TYPE_VALIDATION_CACHE_EXT :: ObjectType 
pattern OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR :: ObjectType 
pattern OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT :: ObjectType 
pattern OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT :: ObjectType 
pattern OBJECT_TYPE_DISPLAY_MODE_KHR :: ObjectType 
pattern OBJECT_TYPE_DISPLAY_KHR :: ObjectType 
pattern OBJECT_TYPE_SWAPCHAIN_KHR :: ObjectType 
pattern OBJECT_TYPE_SURFACE_KHR :: ObjectType 
pattern OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE :: ObjectType 
pattern OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION :: ObjectType 
Instances
Eq ObjectType Source # 
Instance details

Defined in Graphics.Vulkan.Core10.Enums.ObjectType

Ord ObjectType Source # 
Instance details

Defined in Graphics.Vulkan.Core10.Enums.ObjectType

Read ObjectType Source # 
Instance details

Defined in Graphics.Vulkan.Core10.Enums.ObjectType

Show ObjectType Source # 
Instance details

Defined in Graphics.Vulkan.Core10.Enums.ObjectType

Storable ObjectType Source # 
Instance details

Defined in Graphics.Vulkan.Core10.Enums.ObjectType

Zero ObjectType Source # 
Instance details

Defined in Graphics.Vulkan.Core10.Enums.ObjectType

newtype VendorId Source #

VkVendorId - Khronos vendor IDs

Description

Note

Khronos vendor IDs may be allocated by vendors at any time. Only the latest canonical versions of this Specification, of the corresponding vk.xml API Registry, and of the corresponding vulkan_core.h header file must contain all reserved Khronos vendor IDs.

Only Khronos vendor IDs are given symbolic names at present. PCI vendor IDs returned by the implementation can be looked up in the PCI-SIG database.

See Also

No cross-references are available

Constructors

VendorId Int32 

Bundled Patterns

pattern VENDOR_ID_VIV :: VendorId 
pattern VENDOR_ID_VSI :: VendorId 
pattern VENDOR_ID_KAZAN :: VendorId 
pattern VENDOR_ID_CODEPLAY :: VendorId 
Instances
Eq VendorId Source # 
Instance details

Defined in Graphics.Vulkan.Core10.Enums.VendorId

Ord VendorId Source # 
Instance details

Defined in Graphics.Vulkan.Core10.Enums.VendorId

Read VendorId Source # 
Instance details

Defined in Graphics.Vulkan.Core10.Enums.VendorId

Show VendorId Source # 
Instance details

Defined in Graphics.Vulkan.Core10.Enums.VendorId

Storable VendorId Source # 
Instance details

Defined in Graphics.Vulkan.Core10.Enums.VendorId

Zero VendorId Source # 
Instance details

Defined in Graphics.Vulkan.Core10.Enums.VendorId

Methods

zero :: VendorId Source #