Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- cmdSetExclusiveScissorNV :: forall io. MonadIO io => CommandBuffer -> ("firstExclusiveScissor" ::: Word32) -> ("exclusiveScissors" ::: Vector Rect2D) -> io ()
- data PhysicalDeviceExclusiveScissorFeaturesNV = PhysicalDeviceExclusiveScissorFeaturesNV {}
- data PipelineViewportExclusiveScissorStateCreateInfoNV = PipelineViewportExclusiveScissorStateCreateInfoNV {}
- type NV_SCISSOR_EXCLUSIVE_SPEC_VERSION = 1
- pattern NV_SCISSOR_EXCLUSIVE_SPEC_VERSION :: forall a. Integral a => a
- type NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME = "VK_NV_scissor_exclusive"
- pattern NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
Documentation
cmdSetExclusiveScissorNV :: forall io. MonadIO io => CommandBuffer -> ("firstExclusiveScissor" ::: Word32) -> ("exclusiveScissors" ::: Vector Rect2D) -> io () Source #
vkCmdSetExclusiveScissorNV - Set the dynamic exclusive scissor rectangles on a command buffer
Parameters
commandBuffer
is the command buffer into which the command will be recorded.
firstExclusiveScissor
is the index of the first exclusive scissor rectangle whose state is updated by the command.exclusiveScissorCount
is the number of exclusive scissor rectangles updated by the command.pExclusiveScissors
is a pointer to an array ofRect2D
structures defining exclusive scissor rectangles.
Description
The scissor rectangles taken from element i of pExclusiveScissors
replace the current state for the scissor index firstExclusiveScissor
+ i, for i in [0, exclusiveScissorCount
).
Each scissor rectangle is described by a
Rect2D
structure, with
the offset.x
and offset.y
values determining the upper left corner
of the scissor rectangle, and the extent.width
and extent.height
values determining the size in pixels.
Valid Usage
- The exclusive scissor feature must be enabled.
firstExclusiveScissor
must be less thanPhysicalDeviceLimits
::maxViewports
- The sum of
firstExclusiveScissor
andexclusiveScissorCount
must be between1
andPhysicalDeviceLimits
::maxViewports
, inclusive - If the
multiple viewports
feature is not enabled,
firstExclusiveScissor
must be0
- If the
multiple viewports
feature is not enabled,
exclusiveScissorCount
must be1
- The
x
andy
members ofoffset
in each member ofpExclusiveScissors
must be greater than or equal to0
- Evaluation of (
offset.x
+extent.width
) for each member ofpExclusiveScissors
must not cause a signed integer addition overflow - Evaluation of (
offset.y
+extent.height
) for each member ofpExclusiveScissors
must not cause a signed integer addition overflow
Valid Usage (Implicit)
commandBuffer
must be a validCommandBuffer
handle
pExclusiveScissors
must be a valid pointer to an array ofexclusiveScissorCount
Rect2D
structurescommandBuffer
must be in the recording state- The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations exclusiveScissorCount
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
data PhysicalDeviceExclusiveScissorFeaturesNV Source #
VkPhysicalDeviceExclusiveScissorFeaturesNV - Structure describing exclusive scissor features that can be supported by an implementation
Members
The members of the PhysicalDeviceExclusiveScissorFeaturesNV
structure
describe the following features:
Description
See Exclusive Scissor Test for more information.
If the PhysicalDeviceExclusiveScissorFeaturesNV
structure is included
in the pNext
chain of
PhysicalDeviceFeatures2
,
it is filled with values indicating whether the feature is supported.
PhysicalDeviceExclusiveScissorFeaturesNV
can also be included in the
pNext
chain of DeviceCreateInfo
to
enable the feature.
Valid Usage (Implicit)
See Also
PhysicalDeviceExclusiveScissorFeaturesNV | |
|
Instances
data PipelineViewportExclusiveScissorStateCreateInfoNV Source #
VkPipelineViewportExclusiveScissorStateCreateInfoNV - Structure specifying parameters controlling exclusive scissor testing
Description
If this structure is not present, exclusiveScissorCount
is considered
to be 0
and the exclusive scissor test is disabled.
Valid Usage
- If the
multiple viewports
feature is not enabled,
exclusiveScissorCount
must be0
or1
exclusiveScissorCount
must be less than or equal toPhysicalDeviceLimits
::maxViewports
exclusiveScissorCount
must be0
or identical to theviewportCount
member ofPipelineViewportStateCreateInfo
- If no element of the
pDynamicStates
member ofpDynamicState
isDYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV
andexclusiveScissorCount
is not0
,pExclusiveScissors
must be a valid pointer to an array ofexclusiveScissorCount
Rect2D
structures
Valid Usage (Implicit)
- If
exclusiveScissorCount
is not0
, andpExclusiveScissors
is notNULL
,pExclusiveScissors
must be a valid pointer to an array ofexclusiveScissorCount
Rect2D
structures
See Also
Instances
type NV_SCISSOR_EXCLUSIVE_SPEC_VERSION = 1 Source #
pattern NV_SCISSOR_EXCLUSIVE_SPEC_VERSION :: forall a. Integral a => a Source #
type NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME = "VK_NV_scissor_exclusive" Source #
pattern NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #