Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- cmdBindShadingRateImageNV :: forall io. MonadIO io => CommandBuffer -> ImageView -> ImageLayout -> io ()
- cmdSetViewportShadingRatePaletteNV :: forall io. MonadIO io => CommandBuffer -> ("firstViewport" ::: Word32) -> ("shadingRatePalettes" ::: Vector ShadingRatePaletteNV) -> io ()
- cmdSetCoarseSampleOrderNV :: forall io. MonadIO io => CommandBuffer -> CoarseSampleOrderTypeNV -> ("customSampleOrders" ::: Vector CoarseSampleOrderCustomNV) -> io ()
- data ShadingRatePaletteNV = ShadingRatePaletteNV {}
- data PipelineViewportShadingRateImageStateCreateInfoNV = PipelineViewportShadingRateImageStateCreateInfoNV {}
- data PhysicalDeviceShadingRateImageFeaturesNV = PhysicalDeviceShadingRateImageFeaturesNV {}
- data PhysicalDeviceShadingRateImagePropertiesNV = PhysicalDeviceShadingRateImagePropertiesNV {}
- data CoarseSampleLocationNV = CoarseSampleLocationNV {}
- data CoarseSampleOrderCustomNV = CoarseSampleOrderCustomNV {}
- data PipelineViewportCoarseSampleOrderStateCreateInfoNV = PipelineViewportCoarseSampleOrderStateCreateInfoNV {}
- newtype ShadingRatePaletteEntryNV where
- ShadingRatePaletteEntryNV Int32
- pattern SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV :: ShadingRatePaletteEntryNV
- pattern SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV :: ShadingRatePaletteEntryNV
- pattern SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV :: ShadingRatePaletteEntryNV
- pattern SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV :: ShadingRatePaletteEntryNV
- pattern SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV :: ShadingRatePaletteEntryNV
- pattern SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV :: ShadingRatePaletteEntryNV
- pattern SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV :: ShadingRatePaletteEntryNV
- pattern SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV :: ShadingRatePaletteEntryNV
- pattern SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV :: ShadingRatePaletteEntryNV
- pattern SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV :: ShadingRatePaletteEntryNV
- pattern SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV :: ShadingRatePaletteEntryNV
- pattern SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV :: ShadingRatePaletteEntryNV
- newtype CoarseSampleOrderTypeNV where
- CoarseSampleOrderTypeNV Int32
- pattern COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV :: CoarseSampleOrderTypeNV
- pattern COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV :: CoarseSampleOrderTypeNV
- pattern COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV :: CoarseSampleOrderTypeNV
- pattern COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV :: CoarseSampleOrderTypeNV
- type NV_SHADING_RATE_IMAGE_SPEC_VERSION = 3
- pattern NV_SHADING_RATE_IMAGE_SPEC_VERSION :: forall a. Integral a => a
- type NV_SHADING_RATE_IMAGE_EXTENSION_NAME = "VK_NV_shading_rate_image"
- pattern NV_SHADING_RATE_IMAGE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
Documentation
cmdBindShadingRateImageNV :: forall io. MonadIO io => CommandBuffer -> ImageView -> ImageLayout -> io () Source #
vkCmdBindShadingRateImageNV - Bind a shading rate image on a command buffer
Parameters
commandBuffer
is the command buffer into which the command will be recorded.
imageView
is an image view handle specifying the shading rate image.imageView
may be set toNULL_HANDLE
, which is equivalent to specifying a view of an image filled with zero values.imageLayout
is the layout that the image subresources accessible fromimageView
will be in when the shading rate image is accessed.
Valid Usage
- The shading rate image feature must be enabled
- If
imageView
is notNULL_HANDLE
, it must be a validImageView
handle of typeIMAGE_VIEW_TYPE_2D
orIMAGE_VIEW_TYPE_2D_ARRAY
- If
imageView
is notNULL_HANDLE
, it must have a format ofFORMAT_R8_UINT
- If
imageView
is notNULL_HANDLE
, it must have been created with ausage
value includingIMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV
- If
imageView
is notNULL_HANDLE
,imageLayout
must match the actualImageLayout
of each subresource accessible fromimageView
at the time the subresource is accessed - If
imageView
is notNULL_HANDLE
,imageLayout
must beIMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV
orIMAGE_LAYOUT_GENERAL
Valid Usage (Implicit)
commandBuffer
must be a validCommandBuffer
handle
- If
imageView
is notNULL_HANDLE
,imageView
must be a validImageView
handle imageLayout
must be a validImageLayout
valuecommandBuffer
must be in the recording state- The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - Both of
commandBuffer
, andimageView
that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the sameDevice
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
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
cmdSetViewportShadingRatePaletteNV :: forall io. MonadIO io => CommandBuffer -> ("firstViewport" ::: Word32) -> ("shadingRatePalettes" ::: Vector ShadingRatePaletteNV) -> io () Source #
vkCmdSetViewportShadingRatePaletteNV - Set shading rate image palettes on a command buffer
Parameters
commandBuffer
is the command buffer into which the command will be recorded.
firstViewport
is the index of the first viewport whose shading rate palette is updated by the command.viewportCount
is the number of viewports whose shading rate palettes are updated by the command.pShadingRatePalettes
is a pointer to an array ofShadingRatePaletteNV
structures defining the palette for each viewport.
Valid Usage
- The shading rate image feature must be enabled
firstViewport
must be less thanPhysicalDeviceLimits
::maxViewports
- The sum of
firstViewport
andviewportCount
must be between1
andPhysicalDeviceLimits
::maxViewports
, inclusive - If the
multiple viewports
feature is not enabled,
firstViewport
must be0
- If the
multiple viewports
feature is not enabled,
viewportCount
must be1
Valid Usage (Implicit)
commandBuffer
must be a validCommandBuffer
handle
pShadingRatePalettes
must be a valid pointer to an array ofviewportCount
validShadingRatePaletteNV
structurescommandBuffer
must be in the recording state- The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations viewportCount
must be greater than0
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
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
cmdSetCoarseSampleOrderNV :: forall io. MonadIO io => CommandBuffer -> CoarseSampleOrderTypeNV -> ("customSampleOrders" ::: Vector CoarseSampleOrderCustomNV) -> io () Source #
vkCmdSetCoarseSampleOrderNV - Set sample order for coarse fragments on a command buffer
Parameters
commandBuffer
is the command buffer into which the command will be recorded.
sampleOrderType
specifies the mechanism used to order coverage samples in fragments larger than one pixel.customSampleOrderCount
specifies the number of custom sample orderings to use when ordering coverage samples.pCustomSampleOrders
is a pointer to an array ofCoarseSampleOrderCustomNV
structures, each of which specifies the coverage sample order for a single combination of fragment area and coverage sample count.
Description
If sampleOrderType
is COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV
, the
coverage sample order used for any combination of fragment area and
coverage sample count not enumerated in pCustomSampleOrders
will be
identical to that used for COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV
.
Valid Usage
- If
sampleOrderType
is notCOARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV
,customSamplerOrderCount
must be0
- The array
pCustomSampleOrders
must not contain two structures with matching values for both theshadingRate
andsampleCount
members
Valid Usage (Implicit)
commandBuffer
must be a validCommandBuffer
handle
sampleOrderType
must be a validCoarseSampleOrderTypeNV
value- If
customSampleOrderCount
is not0
,pCustomSampleOrders
must be a valid pointer to an array ofcustomSampleOrderCount
validCoarseSampleOrderCustomNV
structures commandBuffer
must be in the recording state- The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
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
CoarseSampleOrderCustomNV
, CoarseSampleOrderTypeNV
,
CommandBuffer
data ShadingRatePaletteNV Source #
VkShadingRatePaletteNV - Structure specifying a single shading rate palette
Valid Usage (Implicit)
See Also
PipelineViewportShadingRateImageStateCreateInfoNV
,
ShadingRatePaletteEntryNV
, cmdSetViewportShadingRatePaletteNV
ShadingRatePaletteNV | |
|
Instances
Show ShadingRatePaletteNV Source # | |
Defined in Vulkan.Extensions.VK_NV_shading_rate_image showsPrec :: Int -> ShadingRatePaletteNV -> ShowS # show :: ShadingRatePaletteNV -> String # showList :: [ShadingRatePaletteNV] -> ShowS # | |
FromCStruct ShadingRatePaletteNV Source # | |
ToCStruct ShadingRatePaletteNV Source # | |
Defined in Vulkan.Extensions.VK_NV_shading_rate_image withCStruct :: ShadingRatePaletteNV -> (Ptr ShadingRatePaletteNV -> IO b) -> IO b Source # pokeCStruct :: Ptr ShadingRatePaletteNV -> ShadingRatePaletteNV -> IO b -> IO b Source # withZeroCStruct :: (Ptr ShadingRatePaletteNV -> IO b) -> IO b Source # pokeZeroCStruct :: Ptr ShadingRatePaletteNV -> IO b -> IO b Source # cStructSize :: Int Source # | |
Zero ShadingRatePaletteNV Source # | |
data PipelineViewportShadingRateImageStateCreateInfoNV Source #
VkPipelineViewportShadingRateImageStateCreateInfoNV - Structure specifying parameters controlling shading rate image usage
Description
If this structure is not present, shadingRateImageEnable
is considered
to be FALSE
, and the shading rate image and
palettes are not used.
Valid Usage
- If the
multiple viewports
feature is not enabled,
viewportCount
must be0
or1
viewportCount
must be less than or equal toPhysicalDeviceLimits
::maxViewports
- If
shadingRateImageEnable
isTRUE
,viewportCount
must be equal to theviewportCount
member ofPipelineViewportStateCreateInfo
- If no element of the
pDynamicStates
member ofpDynamicState
isDYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV
,pShadingRatePalettes
must be a valid pointer to an array ofviewportCount
ShadingRatePaletteNV
structures
Valid Usage (Implicit)
- If
viewportCount
is not0
, andpShadingRatePalettes
is notNULL
,pShadingRatePalettes
must be a valid pointer to an array ofviewportCount
validShadingRatePaletteNV
structures
See Also
PipelineViewportShadingRateImageStateCreateInfoNV | |
|
Instances
data PhysicalDeviceShadingRateImageFeaturesNV Source #
VkPhysicalDeviceShadingRateImageFeaturesNV - Structure describing shading rate image features that can be supported by an implementation
Members
The members of the PhysicalDeviceShadingRateImageFeaturesNV
structure
describe the following features:
Description
See Shading Rate Image for more information.
If the PhysicalDeviceShadingRateImageFeaturesNV
structure is included
in the pNext
chain of
PhysicalDeviceFeatures2
,
it is filled with values indicating whether the feature is supported.
PhysicalDeviceShadingRateImageFeaturesNV
can also be included in the
pNext
chain of DeviceCreateInfo
to enable
features.
Valid Usage (Implicit)
See Also
PhysicalDeviceShadingRateImageFeaturesNV | |
|
Instances
data PhysicalDeviceShadingRateImagePropertiesNV Source #
VkPhysicalDeviceShadingRateImagePropertiesNV - Structure describing shading rate image limits that can be supported by an implementation
Members
The members of the PhysicalDeviceShadingRateImagePropertiesNV
structure describe the following implementation-dependent properties
related to the
shading rate image
feature:
Description
If the PhysicalDeviceShadingRateImagePropertiesNV
structure is
included in the pNext
chain of
PhysicalDeviceProperties2
,
it is filled with the implementation-dependent limits.
Valid Usage (Implicit)
See Also
PhysicalDeviceShadingRateImagePropertiesNV | |
|
Instances
data CoarseSampleLocationNV Source #
VkCoarseSampleLocationNV - Structure specifying parameters controlling shading rate image usage
Valid Usage
See Also
Instances
data CoarseSampleOrderCustomNV Source #
VkCoarseSampleOrderCustomNV - Structure specifying parameters controlling shading rate image usage
Description
When using a custom sample ordering, element j in pSampleLocations
specifies a specific pixel location and
sample index
that corresponds to
coverage index
j in the multi-pixel fragment.
Valid Usage
shadingRate
must be a shading rate that generates fragments with more than one pixel
sampleCount
must correspond to a sample count enumerated inSampleCountFlags
whose corresponding bit is set inPhysicalDeviceLimits
::framebufferNoAttachmentsSampleCounts
sampleLocationCount
must be equal to the product ofsampleCount
, the fragment width forshadingRate
, and the fragment height forshadingRate
sampleLocationCount
must be less than or equal to the value ofPhysicalDeviceShadingRateImagePropertiesNV
::shadingRateMaxCoarseSamples
- The array
pSampleLocations
must contain exactly one entry for every combination of valid values forpixelX
,pixelY
, andsample
in the structureCoarseSampleOrderCustomNV
Valid Usage (Implicit)
shadingRate
must be a validShadingRatePaletteEntryNV
value
pSampleLocations
must be a valid pointer to an array ofsampleLocationCount
CoarseSampleLocationNV
structuressampleLocationCount
must be greater than0
See Also
CoarseSampleLocationNV
,
PipelineViewportCoarseSampleOrderStateCreateInfoNV
,
ShadingRatePaletteEntryNV
, cmdSetCoarseSampleOrderNV
CoarseSampleOrderCustomNV | |
|
Instances
Show CoarseSampleOrderCustomNV Source # | |
Defined in Vulkan.Extensions.VK_NV_shading_rate_image showsPrec :: Int -> CoarseSampleOrderCustomNV -> ShowS # show :: CoarseSampleOrderCustomNV -> String # showList :: [CoarseSampleOrderCustomNV] -> ShowS # | |
FromCStruct CoarseSampleOrderCustomNV Source # | |
ToCStruct CoarseSampleOrderCustomNV Source # | |
Defined in Vulkan.Extensions.VK_NV_shading_rate_image withCStruct :: CoarseSampleOrderCustomNV -> (Ptr CoarseSampleOrderCustomNV -> IO b) -> IO b Source # pokeCStruct :: Ptr CoarseSampleOrderCustomNV -> CoarseSampleOrderCustomNV -> IO b -> IO b Source # withZeroCStruct :: (Ptr CoarseSampleOrderCustomNV -> IO b) -> IO b Source # pokeZeroCStruct :: Ptr CoarseSampleOrderCustomNV -> IO b -> IO b Source # cStructSize :: Int Source # | |
Zero CoarseSampleOrderCustomNV Source # | |
data PipelineViewportCoarseSampleOrderStateCreateInfoNV Source #
VkPipelineViewportCoarseSampleOrderStateCreateInfoNV - Structure specifying parameters controlling sample order in coarse fragments
Description
If this structure is not present, sampleOrderType
is considered to be
COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV
.
If sampleOrderType
is COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV
, the
coverage sample order used for any combination of fragment area and
coverage sample count not enumerated in pCustomSampleOrders
will be
identical to that used for COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV
.
If the pipeline was created with
DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV
,
the contents of this structure (if present) are ignored, and the
coverage sample order is instead specified by
cmdSetCoarseSampleOrderNV
.
Valid Usage
- If
sampleOrderType
is notCOARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV
,customSamplerOrderCount
must be0
- The array
pCustomSampleOrders
must not contain two structures with matching values for both theshadingRate
andsampleCount
members
Valid Usage (Implicit)
sampleOrderType
must be a validCoarseSampleOrderTypeNV
value- If
customSampleOrderCount
is not0
,pCustomSampleOrders
must be a valid pointer to an array ofcustomSampleOrderCount
validCoarseSampleOrderCustomNV
structures
See Also
CoarseSampleOrderCustomNV
, CoarseSampleOrderTypeNV
,
StructureType
PipelineViewportCoarseSampleOrderStateCreateInfoNV | |
|
Instances
newtype ShadingRatePaletteEntryNV Source #
VkShadingRatePaletteEntryNV - Shading rate image palette entry types
Description
The following table indicates the width and height (in pixels) of each
fragment generated using the indicated shading rate, as well as the
maximum number of fragment shader invocations launched for each
fragment. When processing regions of a primitive that have a shading
rate of SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV
, no fragments
will be generated in that region.
See Also
Instances
newtype CoarseSampleOrderTypeNV Source #
VkCoarseSampleOrderTypeNV - Shading rate image sample ordering types
See Also
PipelineViewportCoarseSampleOrderStateCreateInfoNV
,
cmdSetCoarseSampleOrderNV
pattern COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV :: CoarseSampleOrderTypeNV |
|
pattern COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV :: CoarseSampleOrderTypeNV |
|
pattern COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV :: CoarseSampleOrderTypeNV |
|
pattern COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV :: CoarseSampleOrderTypeNV |
|
Instances
type NV_SHADING_RATE_IMAGE_SPEC_VERSION = 3 Source #
pattern NV_SHADING_RATE_IMAGE_SPEC_VERSION :: forall a. Integral a => a Source #
type NV_SHADING_RATE_IMAGE_EXTENSION_NAME = "VK_NV_shading_rate_image" Source #
pattern NV_SHADING_RATE_IMAGE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #