vulkan-3.1.0.0: Bindings to the Vulkan graphics API.

Safe HaskellNone
LanguageHaskell2010

Graphics.Vulkan.Extensions.VK_NV_scissor_exclusive

Synopsis

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 of Rect2D 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

  • firstExclusiveScissor must be less than PhysicalDeviceLimits::maxViewports
  • The sum of firstExclusiveScissor and exclusiveScissorCount must be between 1 and PhysicalDeviceLimits::maxViewports, inclusive
  • If the multiple viewports feature is not enabled, firstExclusiveScissor must be 0
  • If the multiple viewports feature is not enabled, exclusiveScissorCount must be 1
  • The x and y members of offset in each member of pExclusiveScissors must be greater than or equal to 0
  • Evaluation of (offset.x + extent.width) for each member of pExclusiveScissors must not cause a signed integer addition overflow
  • Evaluation of (offset.y + extent.height) for each member of pExclusiveScissors must not cause a signed integer addition overflow

Valid Usage (Implicit)

  • pExclusiveScissors must be a valid pointer to an array of exclusiveScissorCount Rect2D structures
  • commandBuffer must be in the recording state
  • The CommandPool that commandBuffer was allocated from must support graphics operations
  • exclusiveScissorCount must be greater than 0

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, Rect2D

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

Bool32, StructureType

Constructors

PhysicalDeviceExclusiveScissorFeaturesNV 

Fields

  • exclusiveScissor :: Bool

    exclusiveScissor indicates that the implementation supports the exclusive scissor test.

Instances
Show PhysicalDeviceExclusiveScissorFeaturesNV Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_NV_scissor_exclusive

Storable PhysicalDeviceExclusiveScissorFeaturesNV Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_NV_scissor_exclusive

FromCStruct PhysicalDeviceExclusiveScissorFeaturesNV Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_NV_scissor_exclusive

ToCStruct PhysicalDeviceExclusiveScissorFeaturesNV Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_NV_scissor_exclusive

Zero PhysicalDeviceExclusiveScissorFeaturesNV Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_NV_scissor_exclusive

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

Valid Usage (Implicit)

  • If exclusiveScissorCount is not 0, and pExclusiveScissors is not NULL, pExclusiveScissors must be a valid pointer to an array of exclusiveScissorCount Rect2D structures

See Also

Rect2D, StructureType

Constructors

PipelineViewportExclusiveScissorStateCreateInfoNV 

Fields

Instances
Show PipelineViewportExclusiveScissorStateCreateInfoNV Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_NV_scissor_exclusive

FromCStruct PipelineViewportExclusiveScissorStateCreateInfoNV Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_NV_scissor_exclusive

ToCStruct PipelineViewportExclusiveScissorStateCreateInfoNV Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_NV_scissor_exclusive

Zero PipelineViewportExclusiveScissorStateCreateInfoNV Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_NV_scissor_exclusive

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 #