Safe Haskell | None |
---|---|
Language | Haskell2010 |
Vulkan.Extensions.VK_NV_shading_rate_image
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 Source #
Arguments
:: forall io. MonadIO io | |
=> CommandBuffer |
|
-> ImageView |
|
-> ImageLayout |
|
-> io () |
vkCmdBindShadingRateImageNV - Bind a shading rate image on a command buffer
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
value -
commandBuffer
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 Source #
Arguments
:: forall io. MonadIO io | |
=> CommandBuffer |
|
-> ("firstViewport" ::: Word32) |
|
-> ("shadingRatePalettes" ::: Vector ShadingRatePaletteNV) |
|
-> io () |
vkCmdSetViewportShadingRatePaletteNV - Set shading rate image palettes on a command buffer
Valid Usage
- The shading rate image feature must be enabled
- 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
structures -
commandBuffer
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 Source #
Arguments
:: forall io. MonadIO io | |
=> CommandBuffer |
|
-> CoarseSampleOrderTypeNV |
|
-> ("customSampleOrders" ::: Vector CoarseSampleOrderCustomNV) |
|
-> io () |
vkCmdSetCoarseSampleOrderNV - Set sample order for coarse fragments on a command buffer
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
Constructors
ShadingRatePaletteNV | |
Fields
|
Instances
Show ShadingRatePaletteNV Source # | |
Defined in Vulkan.Extensions.VK_NV_shading_rate_image Methods showsPrec :: Int -> ShadingRatePaletteNV -> ShowS # show :: ShadingRatePaletteNV -> String # showList :: [ShadingRatePaletteNV] -> ShowS # | |
FromCStruct ShadingRatePaletteNV Source # | |
Defined in Vulkan.Extensions.VK_NV_shading_rate_image Methods peekCStruct :: Ptr ShadingRatePaletteNV -> IO ShadingRatePaletteNV Source # | |
ToCStruct ShadingRatePaletteNV Source # | |
Defined in Vulkan.Extensions.VK_NV_shading_rate_image Methods 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 # | |
Defined in Vulkan.Extensions.VK_NV_shading_rate_image Methods |
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 greater or equal to theviewportCount
member ofPipelineViewportStateCreateInfo
Valid Usage (Implicit)
See Also
Constructors
PipelineViewportShadingRateImageStateCreateInfoNV | |
Fields
|
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
Constructors
PhysicalDeviceShadingRateImageFeaturesNV | |
Fields |
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
Constructors
PhysicalDeviceShadingRateImagePropertiesNV | |
Fields
|
Instances
data CoarseSampleLocationNV Source #
VkCoarseSampleLocationNV - Structure specifying parameters controlling shading rate image usage
Valid Usage
See Also
Constructors
CoarseSampleLocationNV | |
Fields |
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
-
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
structures -
sampleLocationCount
must be greater than0
See Also
CoarseSampleLocationNV
,
PipelineViewportCoarseSampleOrderStateCreateInfoNV
,
ShadingRatePaletteEntryNV
, cmdSetCoarseSampleOrderNV
Constructors
CoarseSampleOrderCustomNV | |
Fields
|
Instances
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
Constructors
PipelineViewportCoarseSampleOrderStateCreateInfoNV | |
Fields
|
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
Constructors
ShadingRatePaletteEntryNV Int32 |
Bundled Patterns
Instances
newtype CoarseSampleOrderTypeNV Source #
VkCoarseSampleOrderTypeNV - Shading rate image sample ordering types
See Also
PipelineViewportCoarseSampleOrderStateCreateInfoNV
,
cmdSetCoarseSampleOrderNV
Constructors
CoarseSampleOrderTypeNV Int32 |
Bundled Patterns
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 #