vulkan
Safe HaskellNone
LanguageHaskell2010

Vulkan.Core10.Pass

Synopsis

Documentation

createFramebuffer Source #

Arguments

:: forall (a :: [Type]) io. (Extendss FramebufferCreateInfo a, PokeChain a, MonadIO io) 
=> Device

device is the logical device that creates the framebuffer.

-> FramebufferCreateInfo a

pCreateInfo is a pointer to a FramebufferCreateInfo structure describing additional information about framebuffer creation.

-> ("allocator" ::: Maybe AllocationCallbacks)

pAllocator controls host memory allocation as described in the Memory Allocation chapter.

-> io Framebuffer 

vkCreateFramebuffer - Create a new framebuffer object

Valid Usage

  • If pCreateInfo->flags does not include FRAMEBUFFER_CREATE_IMAGELESS_BIT, and attachmentCount is not 0, each element of pCreateInfo->pAttachments must have been created on device

Valid Usage (Implicit)

  • device must be a valid Device handle
  • pCreateInfo must be a valid pointer to a valid FramebufferCreateInfo structure
  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid AllocationCallbacks structure
  • pFramebuffer must be a valid pointer to a Framebuffer handle
  • The device must have been created with at least 1 queue

Return Codes

Success
Failure

See Also

VK_VERSION_1_0, AllocationCallbacks, Device, Framebuffer, FramebufferCreateInfo

withFramebuffer :: forall (a :: [Type]) io r. (Extendss FramebufferCreateInfo a, PokeChain a, MonadIO io) => Device -> FramebufferCreateInfo a -> Maybe AllocationCallbacks -> (io Framebuffer -> (Framebuffer -> io ()) -> r) -> r Source #

A convenience wrapper to make a compatible pair of calls to createFramebuffer and destroyFramebuffer

To ensure that destroyFramebuffer is always called: pass bracket (or the allocate function from your favourite resource management library) as the last argument. To just extract the pair pass (,) as the last argument.

destroyFramebuffer Source #

Arguments

:: MonadIO io 
=> Device

device is the logical device that destroys the framebuffer.

-> Framebuffer

framebuffer is the handle of the framebuffer to destroy.

-> ("allocator" ::: Maybe AllocationCallbacks)

pAllocator controls host memory allocation as described in the Memory Allocation chapter.

-> io () 

vkDestroyFramebuffer - Destroy a framebuffer object

Valid Usage

  • All submitted commands that refer to framebuffer must have completed execution
  • If AllocationCallbacks were provided when framebuffer was created, a compatible set of callbacks must be provided here
  • If no AllocationCallbacks were provided when framebuffer was created, pAllocator must be NULL

Valid Usage (Implicit)

  • device must be a valid Device handle
  • If framebuffer is not NULL_HANDLE, framebuffer must be a valid Framebuffer handle
  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid AllocationCallbacks structure
  • If framebuffer is a valid handle, it must have been created, allocated, or retrieved from device

Host Synchronization

  • Host access to framebuffer must be externally synchronized

See Also

VK_VERSION_1_0, AllocationCallbacks, Device, Framebuffer

createRenderPass Source #

Arguments

:: forall (a :: [Type]) io. (Extendss RenderPassCreateInfo a, PokeChain a, MonadIO io) 
=> Device

device is the logical device that creates the render pass.

-> RenderPassCreateInfo a

pCreateInfo is a pointer to a RenderPassCreateInfo structure describing the parameters of the render pass.

-> ("allocator" ::: Maybe AllocationCallbacks)

pAllocator controls host memory allocation as described in the Memory Allocation chapter.

-> io RenderPass 

vkCreateRenderPass - Create a new render pass object

Valid Usage

Valid Usage (Implicit)

  • device must be a valid Device handle

Return Codes

Success
Failure

See Also

VK_VERSION_1_0, AllocationCallbacks, Device, RenderPass, RenderPassCreateInfo

withRenderPass :: forall (a :: [Type]) io r. (Extendss RenderPassCreateInfo a, PokeChain a, MonadIO io) => Device -> RenderPassCreateInfo a -> Maybe AllocationCallbacks -> (io RenderPass -> (RenderPass -> io ()) -> r) -> r Source #

A convenience wrapper to make a compatible pair of calls to createRenderPass and destroyRenderPass

To ensure that destroyRenderPass is always called: pass bracket (or the allocate function from your favourite resource management library) as the last argument. To just extract the pair pass (,) as the last argument.

destroyRenderPass Source #

Arguments

:: MonadIO io 
=> Device

device is the logical device that destroys the render pass.

-> RenderPass

renderPass is the handle of the render pass to destroy.

-> ("allocator" ::: Maybe AllocationCallbacks)

pAllocator controls host memory allocation as described in the Memory Allocation chapter.

-> io () 

vkDestroyRenderPass - Destroy a render pass object

Valid Usage

  • All submitted commands that refer to renderPass must have completed execution
  • If AllocationCallbacks were provided when renderPass was created, a compatible set of callbacks must be provided here
  • If no AllocationCallbacks were provided when renderPass was created, pAllocator must be NULL

Valid Usage (Implicit)

  • device must be a valid Device handle
  • If renderPass is not NULL_HANDLE, renderPass must be a valid RenderPass handle
  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid AllocationCallbacks structure
  • If renderPass is a valid handle, it must have been created, allocated, or retrieved from device

Host Synchronization

  • Host access to renderPass must be externally synchronized

See Also

VK_VERSION_1_0, AllocationCallbacks, Device, RenderPass

getRenderAreaGranularity Source #

Arguments

:: MonadIO io 
=> Device

device is the logical device that owns the render pass.

-> RenderPass

renderPass is a handle to a render pass.

-> io ("granularity" ::: Extent2D) 

vkGetRenderAreaGranularity - Returns the granularity for optimal render area

Description

The conditions leading to an optimal renderArea are:

  • the offset.x member in renderArea is a multiple of the width member of the returned Extent2D (the horizontal granularity).
  • the offset.y member in renderArea is a multiple of the height member of the returned Extent2D (the vertical granularity).
  • either the extent.width member in renderArea is a multiple of the horizontal granularity or offset.x+extent.width is equal to the width of the framebuffer in the RenderPassBeginInfo.
  • either the extent.height member in renderArea is a multiple of the vertical granularity or offset.y+extent.height is equal to the height of the framebuffer in the RenderPassBeginInfo.

Subpass dependencies are not affected by the render area, and apply to the entire image subresources attached to the framebuffer as specified in the description of automatic layout transitions. Similarly, pipeline barriers are valid even if their effect extends outside the render area.

Valid Usage (Implicit)

  • device must be a valid Device handle
  • renderPass must be a valid RenderPass handle
  • pGranularity must be a valid pointer to a Extent2D structure
  • renderPass must have been created, allocated, or retrieved from device

See Also

VK_VERSION_1_0, Device, Extent2D, RenderPass

data AttachmentDescription Source #

VkAttachmentDescription - Structure specifying an attachment description

Description

If the attachment uses a color format, then loadOp and storeOp are used, and stencilLoadOp and stencilStoreOp are ignored. If the format has depth and/or stencil components, loadOp and storeOp apply only to the depth data, while stencilLoadOp and stencilStoreOp define how the stencil data is handled. loadOp and stencilLoadOp define the load operations for the attachment. storeOp and stencilStoreOp define the store operations for the attachment. If an attachment is not used by any subpass, loadOp, storeOp, stencilStoreOp, and stencilLoadOp will be ignored for that attachment, and no load or store ops will be performed. However, any transition specified by initialLayout and finalLayout will still be executed.

If flags includes ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT, then the attachment is treated as if it shares physical memory with another attachment in the same render pass. This information limits the ability of the implementation to reorder certain operations (like layout transitions and the loadOp) such that it is not improperly reordered against other uses of the same physical memory via a different attachment. This is described in more detail below.

If a render pass uses multiple attachments that alias the same device memory, those attachments must each include the ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT bit in their attachment description flags. Attachments aliasing the same memory occurs in multiple ways:

  • Multiple attachments being assigned the same image view as part of framebuffer creation.
  • Attachments using distinct image views that correspond to the same image subresource of an image.
  • Attachments using views of distinct image subresources which are bound to overlapping memory ranges.

Render passes must include subpass dependencies (either directly or via a subpass dependency chain) between any two subpasses that operate on the same attachment or aliasing attachments and those subpass dependencies must include execution and memory dependencies separating uses of the aliases, if at least one of those subpasses writes to one of the aliases. These dependencies must not include the DEPENDENCY_BY_REGION_BIT if the aliases are views of distinct image subresources which overlap in memory.

Multiple attachments that alias the same memory must not be used in a single subpass. A given attachment index must not be used multiple times in a single subpass, with one exception: two subpass attachments can use the same attachment index if at least one use is as an input attachment and neither use is as a resolve or preserve attachment. In other words, the same view can be used simultaneously as an input and color or depth/stencil attachment, but must not be used as multiple color or depth/stencil attachments nor as resolve or preserve attachments.

If a set of attachments alias each other, then all except the first to be used in the render pass must use an initialLayout of IMAGE_LAYOUT_UNDEFINED, since the earlier uses of the other aliases make their contents undefined. Once an alias has been used and a different alias has been used after it, the first alias must not be used in any later subpasses. However, an application can assign the same image view to multiple aliasing attachment indices, which allows that image view to be used multiple times even if other aliases are used in between.

Once an attachment needs the ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT bit, there should be no additional cost of introducing additional aliases, and using these additional aliases may allow more efficient clearing of the attachments on multiple uses via ATTACHMENT_LOAD_OP_CLEAR.

Valid Usage

Valid Usage (Implicit)

See Also

VK_VERSION_1_0, AttachmentDescriptionFlags, AttachmentLoadOp, AttachmentStoreOp, Format, ImageLayout, RenderPassCreateInfo, SampleCountFlagBits

Constructors

AttachmentDescription 

Fields

Instances

Instances details
Eq AttachmentDescription Source # 
Instance details

Defined in Vulkan.Core10.Pass

Storable AttachmentDescription Source # 
Instance details

Defined in Vulkan.Core10.Pass

Show AttachmentDescription Source # 
Instance details

Defined in Vulkan.Core10.Pass

FromCStruct AttachmentDescription Source # 
Instance details

Defined in Vulkan.Core10.Pass

ToCStruct AttachmentDescription Source # 
Instance details

Defined in Vulkan.Core10.Pass

Zero AttachmentDescription Source # 
Instance details

Defined in Vulkan.Core10.Pass

data AttachmentReference Source #

VkAttachmentReference - Structure specifying an attachment reference

Valid Usage

Valid Usage (Implicit)

See Also

VK_VERSION_1_0, ImageLayout, RenderPassFragmentDensityMapCreateInfoEXT, SubpassDescription

Constructors

AttachmentReference 

Fields

Instances

Instances details
Eq AttachmentReference Source # 
Instance details

Defined in Vulkan.Core10.Pass

Storable AttachmentReference Source # 
Instance details

Defined in Vulkan.Core10.Pass

Show AttachmentReference Source # 
Instance details

Defined in Vulkan.Core10.Pass

FromCStruct AttachmentReference Source # 
Instance details

Defined in Vulkan.Core10.Pass

ToCStruct AttachmentReference Source # 
Instance details

Defined in Vulkan.Core10.Pass

Zero AttachmentReference Source # 
Instance details

Defined in Vulkan.Core10.Pass

data SubpassDescription Source #

VkSubpassDescription - Structure specifying a subpass description

Description

Each element of the pInputAttachments array corresponds to an input attachment index in a fragment shader, i.e. if a shader declares an image variable decorated with a InputAttachmentIndex value of X, then it uses the attachment provided in pInputAttachments[X]. Input attachments must also be bound to the pipeline in a descriptor set. If the attachment member of any element of pInputAttachments is ATTACHMENT_UNUSED, the application must not read from the corresponding input attachment index. Fragment shaders can use subpass input variables to access the contents of an input attachment at the fragment’s (xf,yf) framebuffer coordinates and layer. Input attachments must not be used by any subpasses within a render pass that enables render pass transform.

Each element of the pColorAttachments array corresponds to an output location in the shader, i.e. if the shader declares an output variable decorated with a Location value of X, then it uses the attachment provided in pColorAttachments[X]. If the attachment member of any element of pColorAttachments is ATTACHMENT_UNUSED, or if Color Write Enable has been disabled for the corresponding attachment index, then writes to the corresponding location by a fragment shader are discarded.

If flags does not include SUBPASS_DESCRIPTION_CUSTOM_RESOLVE_BIT_EXT, and if pResolveAttachments is not NULL, each of its elements corresponds to a color attachment (the element in pColorAttachments at the same index), and a multisample resolve operation is defined for each attachment unless the resolve attachment index is ATTACHMENT_UNUSED.

Similarly, if flags does not include SUBPASS_DESCRIPTION_CUSTOM_RESOLVE_BIT_EXT, and SubpassDescriptionDepthStencilResolve::pDepthStencilResolveAttachment is not NULL and does not have the value ATTACHMENT_UNUSED, it corresponds to the depth/stencil attachment in pDepthStencilAttachment, and multisample resolve operation for depth and stencil are defined by SubpassDescriptionDepthStencilResolve::depthResolveMode and SubpassDescriptionDepthStencilResolve::stencilResolveMode, respectively. If SubpassDescriptionDepthStencilResolve::depthResolveMode is RESOLVE_MODE_NONE or the pDepthStencilResolveAttachment does not have a depth aspect, no resolve operation is performed for the depth attachment. If SubpassDescriptionDepthStencilResolve::stencilResolveMode is RESOLVE_MODE_NONE or the pDepthStencilResolveAttachment does not have a stencil aspect, no resolve operation is performed for the stencil attachment.

If the image subresource range referenced by the depth/stencil attachment is created with IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT, then the multisample resolve operation uses the sample locations state specified in the sampleLocationsInfo member of the element of the RenderPassSampleLocationsBeginInfoEXT::pPostSubpassSampleLocations for the subpass.

If pDepthStencilAttachment is NULL, or if its attachment index is ATTACHMENT_UNUSED, it indicates that no depth/stencil attachment will be used in the subpass.

Following this call, if the customResolve feature is enabled the fragment area may be reduced to (1,1) if a fragment density map is attached to the render pass. If this occurs, reads of input attachments may return the value for the original larger fragment containing the smaller fragment or use the new fragment area.

The contents of an attachment within the render area become undefined at the start of a subpass S if all of the following conditions are true:

  • The attachment is used as a color, depth/stencil, or resolve attachment in any subpass in the render pass.
  • There is a subpass S1 that uses or preserves the attachment, and a subpass dependency from S1 to S.
  • The attachment is not used or preserved in subpass S.

In addition, the contents of an attachment within the render area become undefined at the start of a subpass S if all of the following conditions are true:

For color attachments, this operation will be performed in the PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT pipeline stage, with any image accesses performed via ACCESS_INPUT_ATTACHMENT_READ_BIT, ACCESS_COLOR_ATTACHMENT_READ_BIT, and ACCESS_COLOR_ATTACHMENT_WRITE_BIT. For depth/stencil attachments, this operation may be performed in either the PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT or PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT pipeline stage, with any image accesses performed via ACCESS_INPUT_ATTACHMENT_READ_BIT, ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT, and ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT.

Once the contents of an attachment become undefined in subpass S, they remain undefined for subpasses in subpass dependency chains starting with subpass S until they are written again. However, they remain valid for subpasses in other subpass dependency chains starting with subpass S1 if all subpasses in each chain use or preserve the attachment.

If a subpass has multiple dependency chains where some of the chains preserve the attachment, and others do not, the contents of the attachment are undefined for that subpass.

Valid Usage

Valid Usage (Implicit)

  • pipelineBindPoint must be a valid PipelineBindPoint value
  • If inputAttachmentCount is not 0, pInputAttachments must be a valid pointer to an array of inputAttachmentCount valid AttachmentReference structures
  • If colorAttachmentCount is not 0, pColorAttachments must be a valid pointer to an array of colorAttachmentCount valid AttachmentReference structures
  • If colorAttachmentCount is not 0, and pResolveAttachments is not NULL, pResolveAttachments must be a valid pointer to an array of colorAttachmentCount valid AttachmentReference structures
  • If pDepthStencilAttachment is not NULL, pDepthStencilAttachment must be a valid pointer to a valid AttachmentReference structure
  • If preserveAttachmentCount is not 0, pPreserveAttachments must be a valid pointer to an array of preserveAttachmentCount uint32_t values

See Also

VK_VERSION_1_0, AttachmentReference, PipelineBindPoint, RenderPassCreateInfo, SubpassDescriptionFlags

Constructors

SubpassDescription 

Fields

data SubpassDependency Source #

VkSubpassDependency - Structure specifying a subpass dependency

Description

If srcSubpass is equal to dstSubpass then the SubpassDependency does not directly define a dependency. Instead, it enables pipeline barriers to be used in a render pass instance within the identified subpass, where the scopes of one pipeline barrier must be a subset of those described by one subpass dependency. Subpass dependencies specified in this way that include framebuffer-space stages in the srcStageMask must only include framebuffer-space stages in dstStageMask, and must include DEPENDENCY_BY_REGION_BIT. When a subpass dependency is specified in this way for a subpass that has more than one view in its view mask, its dependencyFlags must include DEPENDENCY_VIEW_LOCAL_BIT.

If srcSubpass and dstSubpass are not equal, when a render pass instance which includes a subpass dependency is submitted to a queue, it defines a dependency between the subpasses identified by srcSubpass and dstSubpass.

If srcSubpass is equal to SUBPASS_EXTERNAL, the first synchronization scope includes commands that occur earlier in submission order than the cmdBeginRenderPass used to begin the render pass instance. Otherwise, the first set of commands includes all commands submitted as part of the subpass instance identified by srcSubpass and any load, store, or multisample resolve operations on attachments used in srcSubpass. In either case, the first synchronization scope is limited to operations on the pipeline stages determined by the source stage mask specified by srcStageMask.

If dstSubpass is equal to SUBPASS_EXTERNAL, the second synchronization scope includes commands that occur later in submission order than the cmdEndRenderPass used to end the render pass instance. Otherwise, the second set of commands includes all commands submitted as part of the subpass instance identified by dstSubpass and any load, store, and multisample resolve operations on attachments used in dstSubpass. In either case, the second synchronization scope is limited to operations on the pipeline stages determined by the destination stage mask specified by dstStageMask.

The first access scope is limited to accesses in the pipeline stages determined by the source stage mask specified by srcStageMask. It is also limited to access types in the source access mask specified by srcAccessMask.

The second access scope is limited to accesses in the pipeline stages determined by the destination stage mask specified by dstStageMask. It is also limited to access types in the destination access mask specified by dstAccessMask.

The availability and visibility operations defined by a subpass dependency affect the execution of image layout transitions within the render pass.

For non-attachment resources, the memory dependency expressed by subpass dependency is nearly identical to that of a MemoryBarrier (with matching srcAccessMask and dstAccessMask parameters) submitted as a part of a cmdPipelineBarrier (with matching srcStageMask and dstStageMask parameters). The only difference being that its scopes are limited to the identified subpasses rather than potentially affecting everything before and after.

For attachments however, subpass dependencies work more like a ImageMemoryBarrier defined similarly to the MemoryBarrier above, the queue family indices set to QUEUE_FAMILY_IGNORED, and layouts as follows:

  • The equivalent to oldLayout is the attachment’s layout according to the subpass description for srcSubpass.
  • The equivalent to newLayout is the attachment’s layout according to the subpass description for dstSubpass.

Valid Usage

Valid Usage (Implicit)

See Also

VK_VERSION_1_0, AccessFlags, DependencyFlags, PipelineStageFlags, RenderPassCreateInfo

Constructors

SubpassDependency 

Fields

Instances

Instances details
Eq SubpassDependency Source # 
Instance details

Defined in Vulkan.Core10.Pass

Storable SubpassDependency Source # 
Instance details

Defined in Vulkan.Core10.Pass

Show SubpassDependency Source # 
Instance details

Defined in Vulkan.Core10.Pass

FromCStruct SubpassDependency Source # 
Instance details

Defined in Vulkan.Core10.Pass

ToCStruct SubpassDependency Source # 
Instance details

Defined in Vulkan.Core10.Pass

Zero SubpassDependency Source # 
Instance details

Defined in Vulkan.Core10.Pass

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

VkRenderPassCreateInfo - Structure specifying parameters of a newly created render pass

Description

Care should be taken to avoid a data race here; if any subpasses access attachments with overlapping memory locations, and one of those accesses is a write, a subpass dependency needs to be included between them.

Valid Usage

  • If the attachment member of any element of pInputAttachments, pColorAttachments, pResolveAttachments or pDepthStencilAttachment, or any element of pPreserveAttachments in any element of pSubpasses is not ATTACHMENT_UNUSED, then it must be less than attachmentCount

Valid Usage (Implicit)

See Also

VK_VERSION_1_0, AttachmentDescription, RenderPassCreateFlags, StructureType, SubpassDependency, SubpassDescription, createRenderPass

Constructors

RenderPassCreateInfo 

Fields

Instances

Instances details
Extensible RenderPassCreateInfo Source # 
Instance details

Defined in Vulkan.Core10.Pass

Methods

extensibleTypeName :: String Source #

getNext :: forall (es :: [Type]). RenderPassCreateInfo es -> Chain es Source #

setNext :: forall (ds :: [Type]) (es :: [Type]). RenderPassCreateInfo ds -> Chain es -> RenderPassCreateInfo es Source #

extends :: forall e b proxy. Typeable e => proxy e -> (Extends RenderPassCreateInfo e => b) -> Maybe b Source #

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

Defined in Vulkan.Core10.Pass

(Extendss RenderPassCreateInfo es, PeekChain es) => FromCStruct (RenderPassCreateInfo es) Source # 
Instance details

Defined in Vulkan.Core10.Pass

(Extendss RenderPassCreateInfo es, PokeChain es) => ToCStruct (RenderPassCreateInfo es) Source # 
Instance details

Defined in Vulkan.Core10.Pass

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

Defined in Vulkan.Core10.Pass

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

VkFramebufferCreateInfo - Structure specifying parameters of a newly created framebuffer

Description

For any depth/stencil attachments used by this framebuffer in pAttachments, or set later through RenderPassAttachmentBeginInfoKHR::pAttachments, the aspectMask is ignored.

It is legal for a subpass to use no color or depth/stencil attachments, either because it has no attachment references or because all of them are ATTACHMENT_UNUSED. This kind of subpass can use shader side effects such as image stores and atomics to produce an output. In this case, the subpass continues to use the width, height, and layers of the framebuffer to define the dimensions of the rendering area, and the rasterizationSamples from each pipeline’s PipelineMultisampleStateCreateInfo to define the number of samples used in rasterization; however, if PhysicalDeviceFeatures::variableMultisampleRate is FALSE, then all pipelines to be bound with the subpass must have the same value for PipelineMultisampleStateCreateInfo::rasterizationSamples. In all such cases, rasterizationSamples must be a valid SampleCountFlagBits value that is set in PhysicalDeviceLimits::framebufferNoAttachmentsSampleCounts.

Valid Usage

  • attachmentCount must be equal to the attachment count specified in renderPass

Valid Usage (Implicit)

  • pNext must be NULL or a pointer to a valid instance of FramebufferAttachmentsCreateInfo
  • The sType value of each structure in the pNext chain must be unique
  • flags must be a valid combination of FramebufferCreateFlagBits values
  • renderPass must be a valid RenderPass handle
  • Both of renderPass, and the elements of pAttachments that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same Device

See Also

VK_VERSION_1_0, FramebufferCreateFlags, ImageView, RenderPass, StructureType, createFramebuffer

Constructors

FramebufferCreateInfo 

Fields

Instances

Instances details
Extensible FramebufferCreateInfo Source # 
Instance details

Defined in Vulkan.Core10.Pass

Methods

extensibleTypeName :: String Source #

getNext :: forall (es :: [Type]). FramebufferCreateInfo es -> Chain es Source #

setNext :: forall (ds :: [Type]) (es :: [Type]). FramebufferCreateInfo ds -> Chain es -> FramebufferCreateInfo es Source #

extends :: forall e b proxy. Typeable e => proxy e -> (Extends FramebufferCreateInfo e => b) -> Maybe b Source #

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

Defined in Vulkan.Core10.Pass

(Extendss FramebufferCreateInfo es, PeekChain es) => FromCStruct (FramebufferCreateInfo es) Source # 
Instance details

Defined in Vulkan.Core10.Pass

(Extendss FramebufferCreateInfo es, PokeChain es) => ToCStruct (FramebufferCreateInfo es) Source # 
Instance details

Defined in Vulkan.Core10.Pass

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

Defined in Vulkan.Core10.Pass

newtype Framebuffer Source #

Constructors

Framebuffer Word64 

Instances

Instances details
Eq Framebuffer Source # 
Instance details

Defined in Vulkan.Core10.Handles

Ord Framebuffer Source # 
Instance details

Defined in Vulkan.Core10.Handles

Storable Framebuffer Source # 
Instance details

Defined in Vulkan.Core10.Handles

Show Framebuffer Source # 
Instance details

Defined in Vulkan.Core10.Handles

HasObjectType Framebuffer Source # 
Instance details

Defined in Vulkan.Core10.Handles

IsHandle Framebuffer Source # 
Instance details

Defined in Vulkan.Core10.Handles

Zero Framebuffer Source # 
Instance details

Defined in Vulkan.Core10.Handles

newtype RenderPass Source #

Constructors

RenderPass Word64 

Instances

Instances details
Eq RenderPass Source # 
Instance details

Defined in Vulkan.Core10.Handles

Ord RenderPass Source # 
Instance details

Defined in Vulkan.Core10.Handles

Storable RenderPass Source # 
Instance details

Defined in Vulkan.Core10.Handles

Show RenderPass Source # 
Instance details

Defined in Vulkan.Core10.Handles

HasObjectType RenderPass Source # 
Instance details

Defined in Vulkan.Core10.Handles

IsHandle RenderPass Source # 
Instance details

Defined in Vulkan.Core10.Handles

Zero RenderPass Source # 
Instance details

Defined in Vulkan.Core10.Handles

newtype AttachmentLoadOp Source #

VkAttachmentLoadOp - Specify how contents of an attachment are treated at the beginning of the subpass where it is first used

Description

See Also

VK_VERSION_1_0, AttachmentDescription, AttachmentDescription2, RenderingAttachmentInfo

Constructors

AttachmentLoadOp Int32 

Instances

Instances details
Eq AttachmentLoadOp Source # 
Instance details

Defined in Vulkan.Core10.Enums.AttachmentLoadOp

Ord AttachmentLoadOp Source # 
Instance details

Defined in Vulkan.Core10.Enums.AttachmentLoadOp

Storable AttachmentLoadOp Source # 
Instance details

Defined in Vulkan.Core10.Enums.AttachmentLoadOp

Read AttachmentLoadOp Source # 
Instance details

Defined in Vulkan.Core10.Enums.AttachmentLoadOp

Show AttachmentLoadOp Source # 
Instance details

Defined in Vulkan.Core10.Enums.AttachmentLoadOp

Zero AttachmentLoadOp Source # 
Instance details

Defined in Vulkan.Core10.Enums.AttachmentLoadOp

newtype AttachmentStoreOp Source #

VkAttachmentStoreOp - Specify how contents of an attachment are treated at the end of the subpass where it is last used

Description

ATTACHMENT_STORE_OP_DONT_CARE can cause contents generated during previous render passes to be discarded before reaching memory, even if no write to the attachment occurs during the current render pass.

See Also

VK_VERSION_1_0, AttachmentDescription, AttachmentDescription2, RenderingAttachmentInfo

Constructors

AttachmentStoreOp Int32 

Instances

Instances details
Eq AttachmentStoreOp Source # 
Instance details

Defined in Vulkan.Core10.Enums.AttachmentStoreOp

Ord AttachmentStoreOp Source # 
Instance details

Defined in Vulkan.Core10.Enums.AttachmentStoreOp

Storable AttachmentStoreOp Source # 
Instance details

Defined in Vulkan.Core10.Enums.AttachmentStoreOp

Read AttachmentStoreOp Source # 
Instance details

Defined in Vulkan.Core10.Enums.AttachmentStoreOp

Show AttachmentStoreOp Source # 
Instance details

Defined in Vulkan.Core10.Enums.AttachmentStoreOp

Zero AttachmentStoreOp Source # 
Instance details

Defined in Vulkan.Core10.Enums.AttachmentStoreOp

newtype PipelineBindPoint Source #

Constructors

PipelineBindPoint Int32 

Instances

Instances details
Eq PipelineBindPoint Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineBindPoint

Ord PipelineBindPoint Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineBindPoint

Storable PipelineBindPoint Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineBindPoint

Read PipelineBindPoint Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineBindPoint

Show PipelineBindPoint Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineBindPoint

Zero PipelineBindPoint Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineBindPoint

newtype RenderPassCreateFlagBits Source #

VkRenderPassCreateFlagBits - Bitmask specifying additional properties of a render pass

Description

See Also

VK_VERSION_1_0, RenderPassCreateFlags

Instances

Instances details
Bits RenderPassCreateFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.RenderPassCreateFlagBits

FiniteBits RenderPassCreateFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.RenderPassCreateFlagBits

Eq RenderPassCreateFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.RenderPassCreateFlagBits

Ord RenderPassCreateFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.RenderPassCreateFlagBits

Storable RenderPassCreateFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.RenderPassCreateFlagBits

Read RenderPassCreateFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.RenderPassCreateFlagBits

Show RenderPassCreateFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.RenderPassCreateFlagBits

Zero RenderPassCreateFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.RenderPassCreateFlagBits

newtype AccessFlagBits Source #

VkAccessFlagBits - Bitmask specifying memory access types that will participate in a memory dependency

Description

These values all have the same meaning as the equivalently named values for AccessFlags2.

Certain access types are only performed by a subset of pipeline stages. Any synchronization command that takes both stage masks and access masks uses both to define the access scopes - only the specified access types performed by the specified stages are included in the access scope. An application must not specify an access flag in a synchronization command if it does not include a pipeline stage in the corresponding stage mask that is able to perform accesses of that type. The following table lists, for each access flag, which pipeline stages can perform that type of access.

Access flagSupported pipeline stages
ACCESS_2_NONEAny
ACCESS_2_INDIRECT_COMMAND_READ_BIT PIPELINE_STAGE_2_DRAW_INDIRECT_BIT, PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, PIPELINE_STAGE_2_COPY_INDIRECT_BIT_KHR
ACCESS_2_INDEX_READ_BIT PIPELINE_STAGE_2_VERTEX_INPUT_BIT, PIPELINE_STAGE_2_INDEX_INPUT_BIT
ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT PIPELINE_STAGE_2_VERTEX_INPUT_BIT, PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT
ACCESS_2_UNIFORM_READ_BIT PIPELINE_STAGE_2_VERTEX_SHADER_BIT, PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT, PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT, PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT, PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT, PIPELINE_STAGE_2_COMPUTE_SHADER_BIT, PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR, PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT, PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT, PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI, PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI
ACCESS_2_INPUT_ATTACHMENT_READ_BIT PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT, PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI
ACCESS_2_SHADER_READ_BIT PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT, PIPELINE_STAGE_2_VERTEX_SHADER_BIT, PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT, PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT, PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT, PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT, PIPELINE_STAGE_2_COMPUTE_SHADER_BIT, PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR, PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT, PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT, PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI, PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI
ACCESS_2_SHADER_WRITE_BIT PIPELINE_STAGE_2_VERTEX_SHADER_BIT, PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT, PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT, PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT, PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT, PIPELINE_STAGE_2_COMPUTE_SHADER_BIT, PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR, PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT, PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT, PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI, PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI
ACCESS_2_COLOR_ATTACHMENT_READ_BIT PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT, PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT
ACCESS_2_COLOR_ATTACHMENT_WRITE_BITPIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT
ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT, PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT, PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT
ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT, PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT
ACCESS_2_TRANSFER_READ_BIT PIPELINE_STAGE_2_ALL_TRANSFER_BIT, PIPELINE_STAGE_2_COPY_BIT, PIPELINE_STAGE_2_RESOLVE_BIT, PIPELINE_STAGE_2_BLIT_BIT, PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR, PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT, PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV
ACCESS_2_TRANSFER_WRITE_BIT PIPELINE_STAGE_2_ALL_TRANSFER_BIT, PIPELINE_STAGE_2_COPY_BIT, PIPELINE_STAGE_2_RESOLVE_BIT, PIPELINE_STAGE_2_BLIT_BIT, PIPELINE_STAGE_2_CLEAR_BIT, PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR, PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT, PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV
ACCESS_2_HOST_READ_BITPIPELINE_STAGE_2_HOST_BIT
ACCESS_2_HOST_WRITE_BITPIPELINE_STAGE_2_HOST_BIT
ACCESS_2_MEMORY_READ_BITAny
ACCESS_2_MEMORY_WRITE_BITAny
ACCESS_2_SHADER_SAMPLED_READ_BIT PIPELINE_STAGE_2_VERTEX_SHADER_BIT, PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT, PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT, PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT, PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT, PIPELINE_STAGE_2_COMPUTE_SHADER_BIT, PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR, PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT, PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT, PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI, PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI
ACCESS_2_SHADER_STORAGE_READ_BIT PIPELINE_STAGE_2_VERTEX_SHADER_BIT, PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT, PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT, PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT, PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT, PIPELINE_STAGE_2_COMPUTE_SHADER_BIT, PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR, PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT, PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT, PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI, PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI
ACCESS_2_SHADER_STORAGE_WRITE_BIT PIPELINE_STAGE_2_VERTEX_SHADER_BIT, PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT, PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT, PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT, PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT, PIPELINE_STAGE_2_COMPUTE_SHADER_BIT, PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR, PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT, PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT, PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI, PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI
VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHRVK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR
VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHRVK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR
VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHRVK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR
VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHRVK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR
ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXTPIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT
ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT PIPELINE_STAGE_2_DRAW_INDIRECT_BIT, PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT
ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXTPIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT
ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXTPIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT
ACCESS_2_COMMAND_PREPROCESS_READ_BIT_EXTPIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_EXT
ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_EXTPIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_EXT
ACCESS_2_MEMORY_DECOMPRESSION_READ_BIT_EXTPIPELINE_STAGE_2_MEMORY_DECOMPRESSION_BIT_EXT
ACCESS_2_MEMORY_DECOMPRESSION_WRITE_BIT_EXTPIPELINE_STAGE_2_MEMORY_DECOMPRESSION_BIT_EXT
ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHRPIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR PIPELINE_STAGE_2_VERTEX_SHADER_BIT, PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT, PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT, PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT, PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT, PIPELINE_STAGE_2_COMPUTE_SHADER_BIT, PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR, PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT, PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT, PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI, PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR, PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI
ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR
ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXTPIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT
ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXTPIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT
ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT PIPELINE_STAGE_2_VERTEX_SHADER_BIT, PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT, PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT, PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT, PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT, PIPELINE_STAGE_2_COMPUTE_SHADER_BIT, PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR, PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT, PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT, PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI, PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI
ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEIPIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI
ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR PIPELINE_STAGE_2_VERTEX_SHADER_BIT, PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT, PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT, PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT, PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT, PIPELINE_STAGE_2_COMPUTE_SHADER_BIT, PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR, PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT, PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT, PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI, PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI
ACCESS_2_MICROMAP_READ_BIT_EXT PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT, PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR
ACCESS_2_MICROMAP_WRITE_BIT_EXTPIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT
ACCESS_2_OPTICAL_FLOW_READ_BIT_NVPIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV
ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NVPIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV
ACCESS_2_SHADER_TILE_ATTACHMENT_READ_BIT_QCOM PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT, PIPELINE_STAGE_2_COMPUTE_SHADER_BIT
ACCESS_2_SHADER_TILE_ATTACHMENT_WRITE_BIT_QCOM PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT, PIPELINE_STAGE_2_COMPUTE_SHADER_BIT
ACCESS_2_DATA_GRAPH_READ_BIT_ARMPIPELINE_STAGE_2_DATA_GRAPH_BIT_ARM
ACCESS_2_DATA_GRAPH_WRITE_BIT_ARMPIPELINE_STAGE_2_DATA_GRAPH_BIT_ARM
ACCESS_2_SAMPLER_HEAP_READ_BIT_EXT PIPELINE_STAGE_2_VERTEX_SHADER_BIT, PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT, PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT, PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT, PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT, PIPELINE_STAGE_2_COMPUTE_SHADER_BIT, PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR, PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT, PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT, PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI, PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI
ACCESS_2_RESOURCE_HEAP_READ_BIT_EXT PIPELINE_STAGE_2_VERTEX_SHADER_BIT, PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT, PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT, PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT, PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT, PIPELINE_STAGE_2_COMPUTE_SHADER_BIT, PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR, PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT, PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT, PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI, PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI

Supported Access Types

See Also

VK_VERSION_1_0, AccessFlags

Constructors

AccessFlagBits Flags 

Bundled Patterns

pattern ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR :: AccessFlagBits 
pattern ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR :: AccessFlagBits 
pattern ACCESS_COLOR_ATTACHMENT_READ_BIT :: AccessFlagBits 
pattern ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT :: AccessFlagBits 
pattern ACCESS_COLOR_ATTACHMENT_WRITE_BIT :: AccessFlagBits 
pattern ACCESS_COMMAND_PREPROCESS_READ_BIT_EXT :: AccessFlagBits 
pattern ACCESS_COMMAND_PREPROCESS_WRITE_BIT_EXT :: AccessFlagBits 
pattern ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT :: AccessFlagBits 
pattern ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT :: AccessFlagBits 
pattern ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT :: AccessFlagBits 
pattern ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT :: AccessFlagBits 
pattern ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR :: AccessFlagBits 
pattern ACCESS_HOST_READ_BIT :: AccessFlagBits 
pattern ACCESS_HOST_WRITE_BIT :: AccessFlagBits 
pattern ACCESS_INDEX_READ_BIT :: AccessFlagBits 
pattern ACCESS_INDIRECT_COMMAND_READ_BIT :: AccessFlagBits 
pattern ACCESS_INPUT_ATTACHMENT_READ_BIT :: AccessFlagBits 
pattern ACCESS_MEMORY_READ_BIT :: AccessFlagBits 
pattern ACCESS_MEMORY_WRITE_BIT :: AccessFlagBits 
pattern ACCESS_NONE :: AccessFlagBits 
pattern ACCESS_SHADER_READ_BIT :: AccessFlagBits 
pattern ACCESS_SHADER_WRITE_BIT :: AccessFlagBits 
pattern ACCESS_TRANSFER_READ_BIT :: AccessFlagBits 
pattern ACCESS_TRANSFER_WRITE_BIT :: AccessFlagBits 
pattern ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT :: AccessFlagBits 
pattern ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT :: AccessFlagBits 
pattern ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT :: AccessFlagBits 
pattern ACCESS_UNIFORM_READ_BIT :: AccessFlagBits 
pattern ACCESS_VERTEX_ATTRIBUTE_READ_BIT :: AccessFlagBits 

Instances

Instances details
Bits AccessFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.AccessFlagBits

FiniteBits AccessFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.AccessFlagBits

Eq AccessFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.AccessFlagBits

Ord AccessFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.AccessFlagBits

Storable AccessFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.AccessFlagBits

Read AccessFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.AccessFlagBits

Show AccessFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.AccessFlagBits

Zero AccessFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.AccessFlagBits

newtype AttachmentDescriptionFlagBits Source #

VkAttachmentDescriptionFlagBits - Bitmask specifying additional properties of an attachment

Description

See Also

VK_VERSION_1_0, AttachmentDescriptionFlags

Instances

Instances details
Bits AttachmentDescriptionFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.AttachmentDescriptionFlagBits

Methods

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

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

xor :: AttachmentDescriptionFlagBits -> AttachmentDescriptionFlagBits -> AttachmentDescriptionFlagBits #

complement :: AttachmentDescriptionFlagBits -> AttachmentDescriptionFlagBits #

shift :: AttachmentDescriptionFlagBits -> Int -> AttachmentDescriptionFlagBits #

rotate :: AttachmentDescriptionFlagBits -> Int -> AttachmentDescriptionFlagBits #

zeroBits :: AttachmentDescriptionFlagBits #

bit :: Int -> AttachmentDescriptionFlagBits #

setBit :: AttachmentDescriptionFlagBits -> Int -> AttachmentDescriptionFlagBits #

clearBit :: AttachmentDescriptionFlagBits -> Int -> AttachmentDescriptionFlagBits #

complementBit :: AttachmentDescriptionFlagBits -> Int -> AttachmentDescriptionFlagBits #

testBit :: AttachmentDescriptionFlagBits -> Int -> Bool #

bitSizeMaybe :: AttachmentDescriptionFlagBits -> Maybe Int #

bitSize :: AttachmentDescriptionFlagBits -> Int #

isSigned :: AttachmentDescriptionFlagBits -> Bool #

shiftL :: AttachmentDescriptionFlagBits -> Int -> AttachmentDescriptionFlagBits #

unsafeShiftL :: AttachmentDescriptionFlagBits -> Int -> AttachmentDescriptionFlagBits #

shiftR :: AttachmentDescriptionFlagBits -> Int -> AttachmentDescriptionFlagBits #

unsafeShiftR :: AttachmentDescriptionFlagBits -> Int -> AttachmentDescriptionFlagBits #

rotateL :: AttachmentDescriptionFlagBits -> Int -> AttachmentDescriptionFlagBits #

rotateR :: AttachmentDescriptionFlagBits -> Int -> AttachmentDescriptionFlagBits #

popCount :: AttachmentDescriptionFlagBits -> Int #

FiniteBits AttachmentDescriptionFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.AttachmentDescriptionFlagBits

Eq AttachmentDescriptionFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.AttachmentDescriptionFlagBits

Ord AttachmentDescriptionFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.AttachmentDescriptionFlagBits

Storable AttachmentDescriptionFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.AttachmentDescriptionFlagBits

Read AttachmentDescriptionFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.AttachmentDescriptionFlagBits

Show AttachmentDescriptionFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.AttachmentDescriptionFlagBits

Zero AttachmentDescriptionFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.AttachmentDescriptionFlagBits

newtype DependencyFlagBits Source #

VkDependencyFlagBits - Bitmask specifying how execution and memory dependencies are formed

Description

See Also

VK_VERSION_1_0, DependencyFlags

Instances

Instances details
Bits DependencyFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.DependencyFlagBits

FiniteBits DependencyFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.DependencyFlagBits

Eq DependencyFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.DependencyFlagBits

Ord DependencyFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.DependencyFlagBits

Storable DependencyFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.DependencyFlagBits

Read DependencyFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.DependencyFlagBits

Show DependencyFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.DependencyFlagBits

Zero DependencyFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.DependencyFlagBits

newtype SubpassDescriptionFlagBits Source #

VkSubpassDescriptionFlagBits - Bitmask specifying usage of a subpass

Description

Shader resolve operations allow for custom resolve operations, but overdrawing pixels may have a performance and/or power cost. Furthermore, since the content of any depth stencil attachment or color attachment is undefined at the beginning of a shader resolve subpass, any depth testing, stencil testing, or blending operation which sources these undefined values also has undefined result value.

See Also

VK_VERSION_1_0, SubpassDescriptionFlags

Instances

Instances details
Bits SubpassDescriptionFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.SubpassDescriptionFlagBits

Methods

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

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

xor :: SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits #

complement :: SubpassDescriptionFlagBits -> SubpassDescriptionFlagBits #

shift :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits #

rotate :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits #

zeroBits :: SubpassDescriptionFlagBits #

bit :: Int -> SubpassDescriptionFlagBits #

setBit :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits #

clearBit :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits #

complementBit :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits #

testBit :: SubpassDescriptionFlagBits -> Int -> Bool #

bitSizeMaybe :: SubpassDescriptionFlagBits -> Maybe Int #

bitSize :: SubpassDescriptionFlagBits -> Int #

isSigned :: SubpassDescriptionFlagBits -> Bool #

shiftL :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits #

unsafeShiftL :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits #

shiftR :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits #

unsafeShiftR :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits #

rotateL :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits #

rotateR :: SubpassDescriptionFlagBits -> Int -> SubpassDescriptionFlagBits #

popCount :: SubpassDescriptionFlagBits -> Int #

FiniteBits SubpassDescriptionFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.SubpassDescriptionFlagBits

Eq SubpassDescriptionFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.SubpassDescriptionFlagBits

Ord SubpassDescriptionFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.SubpassDescriptionFlagBits

Storable SubpassDescriptionFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.SubpassDescriptionFlagBits

Read SubpassDescriptionFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.SubpassDescriptionFlagBits

Show SubpassDescriptionFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.SubpassDescriptionFlagBits

Zero SubpassDescriptionFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.SubpassDescriptionFlagBits

newtype FramebufferCreateFlagBits Source #

VkFramebufferCreateFlagBits - Bitmask specifying framebuffer properties

Description

See Also

VK_VERSION_1_0, FramebufferCreateFlags

Instances

Instances details
Bits FramebufferCreateFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.FramebufferCreateFlagBits

Methods

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

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

xor :: FramebufferCreateFlagBits -> FramebufferCreateFlagBits -> FramebufferCreateFlagBits #

complement :: FramebufferCreateFlagBits -> FramebufferCreateFlagBits #

shift :: FramebufferCreateFlagBits -> Int -> FramebufferCreateFlagBits #

rotate :: FramebufferCreateFlagBits -> Int -> FramebufferCreateFlagBits #

zeroBits :: FramebufferCreateFlagBits #

bit :: Int -> FramebufferCreateFlagBits #

setBit :: FramebufferCreateFlagBits -> Int -> FramebufferCreateFlagBits #

clearBit :: FramebufferCreateFlagBits -> Int -> FramebufferCreateFlagBits #

complementBit :: FramebufferCreateFlagBits -> Int -> FramebufferCreateFlagBits #

testBit :: FramebufferCreateFlagBits -> Int -> Bool #

bitSizeMaybe :: FramebufferCreateFlagBits -> Maybe Int #

bitSize :: FramebufferCreateFlagBits -> Int #

isSigned :: FramebufferCreateFlagBits -> Bool #

shiftL :: FramebufferCreateFlagBits -> Int -> FramebufferCreateFlagBits #

unsafeShiftL :: FramebufferCreateFlagBits -> Int -> FramebufferCreateFlagBits #

shiftR :: FramebufferCreateFlagBits -> Int -> FramebufferCreateFlagBits #

unsafeShiftR :: FramebufferCreateFlagBits -> Int -> FramebufferCreateFlagBits #

rotateL :: FramebufferCreateFlagBits -> Int -> FramebufferCreateFlagBits #

rotateR :: FramebufferCreateFlagBits -> Int -> FramebufferCreateFlagBits #

popCount :: FramebufferCreateFlagBits -> Int #

FiniteBits FramebufferCreateFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.FramebufferCreateFlagBits

Eq FramebufferCreateFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.FramebufferCreateFlagBits

Ord FramebufferCreateFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.FramebufferCreateFlagBits

Storable FramebufferCreateFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.FramebufferCreateFlagBits

Read FramebufferCreateFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.FramebufferCreateFlagBits

Show FramebufferCreateFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.FramebufferCreateFlagBits

Zero FramebufferCreateFlagBits Source # 
Instance details

Defined in Vulkan.Core10.Enums.FramebufferCreateFlagBits