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

Vulkan.Extensions.VK_EXT_sample_locations

Synopsis

Documentation

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

vkCmdSetSampleLocationsEXT - Set the dynamic sample locations state

Parameters

  • commandBuffer is the command buffer into which the command will be recorded.
  • pSampleLocationsInfo is the sample locations state to set.

Valid Usage

  • The sampleLocationsPerPixel member of pSampleLocationsInfo must equal the rasterizationSamples member of the PipelineMultisampleStateCreateInfo structure the bound graphics pipeline has been created with
  • If PhysicalDeviceSampleLocationsPropertiesEXT::variableSampleLocations is FALSE then the current render pass must have been begun by specifying a RenderPassSampleLocationsBeginInfoEXT structure whose pPostSubpassSampleLocations member contains an element with a subpassIndex matching the current subpass index and the sampleLocationsInfo member of that element must match the sample locations state pointed to by pSampleLocationsInfo

Valid Usage (Implicit)

Host Synchronization

  • Host access to commandBuffer must be externally synchronized
  • 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

See Also

CommandBuffer, SampleLocationsInfoEXT

getPhysicalDeviceMultisamplePropertiesEXT :: forall io. MonadIO io => PhysicalDevice -> ("samples" ::: SampleCountFlagBits) -> io MultisamplePropertiesEXT Source #

vkGetPhysicalDeviceMultisamplePropertiesEXT - Report sample count specific multisampling capabilities of a physical device

Parameters

  • physicalDevice is the physical device from which to query the additional multisampling capabilities.
  • samples is the sample count to query the capabilities for.
  • pMultisampleProperties is a pointer to a MultisamplePropertiesEXT structure in which information about the additional multisampling capabilities specific to the sample count is returned.

Valid Usage (Implicit)

See Also

MultisamplePropertiesEXT, PhysicalDevice, SampleCountFlagBits

data SampleLocationEXT Source #

VkSampleLocationEXT - Structure specifying the coordinates of a sample location

Description

The domain space of the sample location coordinates has an upper-left origin within the pixel in framebuffer space.

The values specified in a SampleLocationEXT structure are always clamped to the implementation-dependent sample location coordinate range [sampleLocationCoordinateRange[0],sampleLocationCoordinateRange[1]] that can be queried by adding a PhysicalDeviceSampleLocationsPropertiesEXT structure to the pNext chain of PhysicalDeviceProperties2.

See Also

SampleLocationsInfoEXT

Constructors

SampleLocationEXT 

Fields

  • x :: Float

    x is the horizontal coordinate of the sample’s location.

  • y :: Float

    y is the vertical coordinate of the sample’s location.

Instances

Instances details
Show SampleLocationEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_sample_locations

Storable SampleLocationEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_sample_locations

FromCStruct SampleLocationEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_sample_locations

ToCStruct SampleLocationEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_sample_locations

Zero SampleLocationEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_sample_locations

data SampleLocationsInfoEXT Source #

VkSampleLocationsInfoEXT - Structure specifying a set of sample locations

Description

This structure can be used either to specify the sample locations to be used for rendering or to specify the set of sample locations an image subresource has been last rendered with for the purposes of layout transitions of depth/stencil images created with IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT.

The sample locations in pSampleLocations specify sampleLocationsPerPixel number of sample locations for each pixel in the grid of the size specified in sampleLocationGridSize. The sample location for sample i at the pixel grid location (x,y) is taken from pSampleLocations[(x + y * sampleLocationGridSize.width) * sampleLocationsPerPixel + i].

If the render pass has a fragment density map, the implementation will choose the sample locations for the fragment and the contents of pSampleLocations may be ignored.

Valid Usage

  • sampleLocationsCount must equal sampleLocationsPerPixel × sampleLocationGridSize.width × sampleLocationGridSize.height

Valid Usage (Implicit)

  • If sampleLocationsPerPixel is not 0, sampleLocationsPerPixel must be a valid SampleCountFlagBits value
  • If sampleLocationsCount is not 0, pSampleLocations must be a valid pointer to an array of sampleLocationsCount SampleLocationEXT structures

See Also

AttachmentSampleLocationsEXT, Extent2D, PipelineSampleLocationsStateCreateInfoEXT, SampleCountFlagBits, SampleLocationEXT, StructureType, SubpassSampleLocationsEXT, cmdSetSampleLocationsEXT

Constructors

SampleLocationsInfoEXT 

Fields

data AttachmentSampleLocationsEXT Source #

VkAttachmentSampleLocationsEXT - Structure specifying the sample locations state to use in the initial layout transition of attachments

Description

If the image referenced by the framebuffer attachment at index attachmentIndex was not created with IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT then the values specified in sampleLocationsInfo are ignored.

Valid Usage (Implicit)

See Also

RenderPassSampleLocationsBeginInfoEXT, SampleLocationsInfoEXT

Constructors

AttachmentSampleLocationsEXT 

Fields

data SubpassSampleLocationsEXT Source #

VkSubpassSampleLocationsEXT - Structure specifying the sample locations state to use for layout transitions of attachments performed after a given subpass

Description

If the image referenced by the depth/stencil attachment used in the subpass identified by subpassIndex was not created with IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT or if the subpass does not use a depth/stencil attachment, and PhysicalDeviceSampleLocationsPropertiesEXT::variableSampleLocations is TRUE then the values specified in sampleLocationsInfo are ignored.

Valid Usage (Implicit)

See Also

RenderPassSampleLocationsBeginInfoEXT, SampleLocationsInfoEXT

Constructors

SubpassSampleLocationsEXT 

Fields

data RenderPassSampleLocationsBeginInfoEXT Source #

VkRenderPassSampleLocationsBeginInfoEXT - Structure specifying sample locations to use for the layout transition of custom sample locations compatible depth/stencil attachments

Valid Usage (Implicit)

  • If attachmentInitialSampleLocationsCount is not 0, pAttachmentInitialSampleLocations must be a valid pointer to an array of attachmentInitialSampleLocationsCount valid AttachmentSampleLocationsEXT structures
  • If postSubpassSampleLocationsCount is not 0, pPostSubpassSampleLocations must be a valid pointer to an array of postSubpassSampleLocationsCount valid SubpassSampleLocationsEXT structures

See Also

AttachmentSampleLocationsEXT, StructureType, SubpassSampleLocationsEXT

Constructors

RenderPassSampleLocationsBeginInfoEXT 

Fields

  • attachmentInitialSampleLocations :: Vector AttachmentSampleLocationsEXT

    pAttachmentInitialSampleLocations is a pointer to an array of attachmentInitialSampleLocationsCount AttachmentSampleLocationsEXT structures specifying the attachment indices and their corresponding sample location state. Each element of pAttachmentInitialSampleLocations can specify the sample location state to use in the automatic layout transition performed to transition a depth/stencil attachment from the initial layout of the attachment to the image layout specified for the attachment in the first subpass using it.

  • postSubpassSampleLocations :: Vector SubpassSampleLocationsEXT

    pPostSubpassSampleLocations is a pointer to an array of postSubpassSampleLocationsCount SubpassSampleLocationsEXT structures specifying the subpass indices and their corresponding sample location state. Each element of pPostSubpassSampleLocations can specify the sample location state to use in the automatic layout transition performed to transition the depth/stencil attachment used by the specified subpass to the image layout specified in a dependent subpass or to the final layout of the attachment in case the specified subpass is the last subpass using that attachment. In addition, if PhysicalDeviceSampleLocationsPropertiesEXT::variableSampleLocations is FALSE, each element of pPostSubpassSampleLocations must specify the sample location state that matches the sample locations used by all pipelines that will be bound to a command buffer during the specified subpass. If variableSampleLocations is TRUE, the sample locations used for rasterization do not depend on pPostSubpassSampleLocations.

data PipelineSampleLocationsStateCreateInfoEXT Source #

VkPipelineSampleLocationsStateCreateInfoEXT - Structure specifying sample locations for a pipeline

Valid Usage (Implicit)

See Also

Bool32, SampleLocationsInfoEXT, StructureType

Constructors

PipelineSampleLocationsStateCreateInfoEXT 

Fields

data PhysicalDeviceSampleLocationsPropertiesEXT Source #

VkPhysicalDeviceSampleLocationsPropertiesEXT - Structure describing sample location limits that can be supported by an implementation

Members

The members of the PhysicalDeviceSampleLocationsPropertiesEXT structure describe the following implementation-dependent limits:

Description

If the PhysicalDeviceSampleLocationsPropertiesEXT structure is included in the pNext chain of PhysicalDeviceProperties2, it is filled with the implementation-dependent limits.

Valid Usage (Implicit)

See Also

Bool32, Extent2D, SampleCountFlags, StructureType

Constructors

PhysicalDeviceSampleLocationsPropertiesEXT 

Fields

data MultisamplePropertiesEXT Source #

VkMultisamplePropertiesEXT - Structure returning information about sample count specific additional multisampling capabilities

Valid Usage (Implicit)

See Also

Extent2D, StructureType, getPhysicalDeviceMultisamplePropertiesEXT

Constructors

MultisamplePropertiesEXT 

Fields

type EXT_SAMPLE_LOCATIONS_EXTENSION_NAME = "VK_EXT_sample_locations" Source #

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