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

Vulkan.Core10.SharedTypes

Synopsis

Documentation

data Offset2D Source #

VkOffset2D - Structure specifying a two-dimensional offset

See Also

DisplayPlaneCapabilitiesKHR, Rect2D, RectLayerKHR

Constructors

Offset2D 

Fields

data Offset3D Source #

VkOffset3D - Structure specifying a three-dimensional offset

See Also

BufferImageCopy, ImageBlit, ImageCopy, ImageResolve, SparseImageMemoryBind

Constructors

Offset3D 

Fields

data Extent2D Source #

Constructors

Extent2D 

Fields

data Extent3D Source #

Constructors

Extent3D 

Fields

data ImageSubresourceLayers Source #

VkImageSubresourceLayers - Structure specifying an image subresource layers

Valid Usage

  • aspectMask must not contain IMAGE_ASPECT_METADATA_BIT
  • aspectMask must not include VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT for any index i
  • layerCount must be greater than 0

Valid Usage (Implicit)

  • aspectMask must not be 0

See Also

BufferImageCopy, ImageAspectFlags, ImageBlit, ImageCopy, ImageResolve

Constructors

ImageSubresourceLayers 

Fields

Instances

Instances details
Show ImageSubresourceLayers Source # 
Instance details

Defined in Vulkan.Core10.SharedTypes

Storable ImageSubresourceLayers Source # 
Instance details

Defined in Vulkan.Core10.SharedTypes

FromCStruct ImageSubresourceLayers Source # 
Instance details

Defined in Vulkan.Core10.SharedTypes

ToCStruct ImageSubresourceLayers Source # 
Instance details

Defined in Vulkan.Core10.SharedTypes

Zero ImageSubresourceLayers Source # 
Instance details

Defined in Vulkan.Core10.SharedTypes

data ImageSubresourceRange Source #

VkImageSubresourceRange - Structure specifying an image subresource range

Description

The number of mipmap levels and array layers must be a subset of the image subresources in the image. If an application wants to use all mip levels or layers in an image after the baseMipLevel or baseArrayLayer, it can set levelCount and layerCount to the special values REMAINING_MIP_LEVELS and REMAINING_ARRAY_LAYERS without knowing the exact number of mip levels or layers.

For cube and cube array image views, the layers of the image view starting at baseArrayLayer correspond to faces in the order +X, -X, +Y, -Y, +Z, -Z. For cube arrays, each set of six sequential layers is a single cube, so the number of cube maps in a cube map array view is layerCount / 6, and image array layer (baseArrayLayer + i) is face index (i mod 6) of cube i / 6. If the number of layers in the view, whether set explicitly in layerCount or implied by REMAINING_ARRAY_LAYERS, is not a multiple of 6, the last cube map in the array must not be accessed.

aspectMask must be only IMAGE_ASPECT_COLOR_BIT, IMAGE_ASPECT_DEPTH_BIT or IMAGE_ASPECT_STENCIL_BIT if format is a color, depth-only or stencil-only format, respectively, except if format is a multi-planar format. If using a depth/stencil format with both depth and stencil components, aspectMask must include at least one of IMAGE_ASPECT_DEPTH_BIT and IMAGE_ASPECT_STENCIL_BIT, and can include both.

When the ImageSubresourceRange structure is used to select a subset of the slices of a 3D image’s mip level in order to create a 2D or 2D array image view of a 3D image created with IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT, baseArrayLayer and layerCount specify the first slice index and the number of slices to include in the created image view. Such an image view can be used as a framebuffer attachment that refers only to the specified range of slices of the selected mip level. However, any layout transitions performed on such an attachment view during a render pass instance still apply to the entire subresource referenced which includes all the slices of the selected mip level.

When using an image view of a depth/stencil image to populate a descriptor set (e.g. for sampling in the shader, or for use as an input attachment), the aspectMask must only include one bit and selects whether the image view is used for depth reads (i.e. using a floating-point sampler or input attachment in the shader) or stencil reads (i.e. using an unsigned integer sampler or input attachment in the shader). When an image view of a depth/stencil image is used as a depth/stencil framebuffer attachment, the aspectMask is ignored and both depth and stencil image subresources are used.

The ComponentMapping components member describes a remapping from components of the image to components of the vector returned by shader image instructions. This remapping must be identity for storage image descriptors, input attachment descriptors, framebuffer attachments, and any ImageView used with a combined image sampler that enables sampler Y′CBCR conversion.

When creating a ImageView, if sampler Y′CBCR conversion is enabled in the sampler, the aspectMask of a subresourceRange used by the ImageView must be IMAGE_ASPECT_COLOR_BIT.

When creating a ImageView, if sampler Y′CBCR conversion is not enabled in the sampler and the image format is multi-planar, the image must have been created with IMAGE_CREATE_MUTABLE_FORMAT_BIT, and the aspectMask of the ImageView’s subresourceRange must be IMAGE_ASPECT_PLANE_0_BIT, IMAGE_ASPECT_PLANE_1_BIT or IMAGE_ASPECT_PLANE_2_BIT.

Valid Usage

Valid Usage (Implicit)

  • aspectMask must not be 0

See Also

ImageAspectFlags, ImageMemoryBarrier, ImageViewCreateInfo, cmdClearColorImage, cmdClearDepthStencilImage

Constructors

ImageSubresourceRange 

Fields

Instances

Instances details
Show ImageSubresourceRange Source # 
Instance details

Defined in Vulkan.Core10.SharedTypes

Storable ImageSubresourceRange Source # 
Instance details

Defined in Vulkan.Core10.SharedTypes

FromCStruct ImageSubresourceRange Source # 
Instance details

Defined in Vulkan.Core10.SharedTypes

ToCStruct ImageSubresourceRange Source # 
Instance details

Defined in Vulkan.Core10.SharedTypes

Zero ImageSubresourceRange Source # 
Instance details

Defined in Vulkan.Core10.SharedTypes

data ClearDepthStencilValue Source #

VkClearDepthStencilValue - Structure specifying a clear depth stencil value

Valid Usage

  • Unless the VK_EXT_depth_range_unrestricted extension is enabled depth must be between 0.0 and 1.0, inclusive

See Also

ClearValue, cmdClearDepthStencilImage

Constructors

ClearDepthStencilValue 

Fields

  • depth :: Float

    depth is the clear value for the depth aspect of the depth/stencil attachment. It is a floating-point value which is automatically converted to the attachment’s format.

  • stencil :: Word32

    stencil is the clear value for the stencil aspect of the depth/stencil attachment. It is a 32-bit integer value which is converted to the attachment’s format by taking the appropriate number of LSBs.

Instances

Instances details
Show ClearDepthStencilValue Source # 
Instance details

Defined in Vulkan.Core10.SharedTypes

Storable ClearDepthStencilValue Source # 
Instance details

Defined in Vulkan.Core10.SharedTypes

FromCStruct ClearDepthStencilValue Source # 
Instance details

Defined in Vulkan.Core10.SharedTypes

ToCStruct ClearDepthStencilValue Source # 
Instance details

Defined in Vulkan.Core10.SharedTypes

Zero ClearDepthStencilValue Source # 
Instance details

Defined in Vulkan.Core10.SharedTypes