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

Vulkan.Extensions.VK_EXT_discard_rectangles

Synopsis

Documentation

cmdSetDiscardRectangleEXT :: forall io. MonadIO io => CommandBuffer -> ("firstDiscardRectangle" ::: Word32) -> ("discardRectangles" ::: Vector Rect2D) -> io () Source #

vkCmdSetDiscardRectangleEXT - Set discard rectangles dynamically

Parameters

  • commandBuffer is the command buffer into which the command will be recorded.
  • firstDiscardRectangle is the index of the first discard rectangle whose state is updated by the command.
  • discardRectangleCount is the number of discard rectangles whose state are updated by the command.
  • pDiscardRectangles is a pointer to an array of Rect2D structures specifying discard rectangles.

Description

The discard rectangle taken from element i of pDiscardRectangles replace the current state for the discard rectangle at index firstDiscardRectangle + i, for i in [0, discardRectangleCount).

This command sets the state for a given draw when the graphics pipeline is created with DYNAMIC_STATE_DISCARD_RECTANGLE_EXT set in PipelineDynamicStateCreateInfo::pDynamicStates.

Valid Usage

  • The x and y member of offset in each Rect2D element of pDiscardRectangles must be greater than or equal to 0
  • Evaluation of (offset.x + extent.width) in each Rect2D element of pDiscardRectangles must not cause a signed integer addition overflow
  • Evaluation of (offset.y + extent.height) in each Rect2D element of pDiscardRectangles must not cause a signed integer addition overflow

Valid Usage (Implicit)

  • pDiscardRectangles must be a valid pointer to an array of discardRectangleCount Rect2D structures
  • commandBuffer must be in the recording state
  • The CommandPool that commandBuffer was allocated from must support graphics operations
  • discardRectangleCount 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 PhysicalDeviceDiscardRectanglePropertiesEXT Source #

VkPhysicalDeviceDiscardRectanglePropertiesEXT - Structure describing discard rectangle limits that can be supported by an implementation

Members

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

Description

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

Valid Usage (Implicit)

See Also

StructureType

Constructors

PhysicalDeviceDiscardRectanglePropertiesEXT 

Fields

Instances

Instances details
Show PhysicalDeviceDiscardRectanglePropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_discard_rectangles

Storable PhysicalDeviceDiscardRectanglePropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_discard_rectangles

FromCStruct PhysicalDeviceDiscardRectanglePropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_discard_rectangles

ToCStruct PhysicalDeviceDiscardRectanglePropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_discard_rectangles

Zero PhysicalDeviceDiscardRectanglePropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_discard_rectangles

data PipelineDiscardRectangleStateCreateInfoEXT Source #

VkPipelineDiscardRectangleStateCreateInfoEXT - Structure specifying discard rectangle

Description

If the DYNAMIC_STATE_DISCARD_RECTANGLE_EXT dynamic state is enabled for a pipeline, the pDiscardRectangles member is ignored.

When this structure is included in the pNext chain of GraphicsPipelineCreateInfo, it defines parameters of the discard rectangle test. If this structure is not included in the pNext chain, it is equivalent to specifying this structure with a discardRectangleCount of 0.

Valid Usage (Implicit)

See Also

DiscardRectangleModeEXT, PipelineDiscardRectangleStateCreateFlagsEXT, Rect2D, StructureType

Constructors

PipelineDiscardRectangleStateCreateInfoEXT 

Fields

newtype PipelineDiscardRectangleStateCreateFlagsEXT Source #

VkPipelineDiscardRectangleStateCreateFlagsEXT - Reserved for future use

Description

PipelineDiscardRectangleStateCreateFlagsEXT is a bitmask type for setting a mask, but is currently reserved for future use.

See Also

PipelineDiscardRectangleStateCreateInfoEXT

Instances

Instances details
Eq PipelineDiscardRectangleStateCreateFlagsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_discard_rectangles

Ord PipelineDiscardRectangleStateCreateFlagsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_discard_rectangles

Read PipelineDiscardRectangleStateCreateFlagsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_discard_rectangles

Show PipelineDiscardRectangleStateCreateFlagsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_discard_rectangles

Storable PipelineDiscardRectangleStateCreateFlagsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_discard_rectangles

Bits PipelineDiscardRectangleStateCreateFlagsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_discard_rectangles

Methods

(.&.) :: PipelineDiscardRectangleStateCreateFlagsEXT -> PipelineDiscardRectangleStateCreateFlagsEXT -> PipelineDiscardRectangleStateCreateFlagsEXT #

(.|.) :: PipelineDiscardRectangleStateCreateFlagsEXT -> PipelineDiscardRectangleStateCreateFlagsEXT -> PipelineDiscardRectangleStateCreateFlagsEXT #

xor :: PipelineDiscardRectangleStateCreateFlagsEXT -> PipelineDiscardRectangleStateCreateFlagsEXT -> PipelineDiscardRectangleStateCreateFlagsEXT #

complement :: PipelineDiscardRectangleStateCreateFlagsEXT -> PipelineDiscardRectangleStateCreateFlagsEXT #

shift :: PipelineDiscardRectangleStateCreateFlagsEXT -> Int -> PipelineDiscardRectangleStateCreateFlagsEXT #

rotate :: PipelineDiscardRectangleStateCreateFlagsEXT -> Int -> PipelineDiscardRectangleStateCreateFlagsEXT #

zeroBits :: PipelineDiscardRectangleStateCreateFlagsEXT #

bit :: Int -> PipelineDiscardRectangleStateCreateFlagsEXT #

setBit :: PipelineDiscardRectangleStateCreateFlagsEXT -> Int -> PipelineDiscardRectangleStateCreateFlagsEXT #

clearBit :: PipelineDiscardRectangleStateCreateFlagsEXT -> Int -> PipelineDiscardRectangleStateCreateFlagsEXT #

complementBit :: PipelineDiscardRectangleStateCreateFlagsEXT -> Int -> PipelineDiscardRectangleStateCreateFlagsEXT #

testBit :: PipelineDiscardRectangleStateCreateFlagsEXT -> Int -> Bool #

bitSizeMaybe :: PipelineDiscardRectangleStateCreateFlagsEXT -> Maybe Int #

bitSize :: PipelineDiscardRectangleStateCreateFlagsEXT -> Int #

isSigned :: PipelineDiscardRectangleStateCreateFlagsEXT -> Bool #

shiftL :: PipelineDiscardRectangleStateCreateFlagsEXT -> Int -> PipelineDiscardRectangleStateCreateFlagsEXT #

unsafeShiftL :: PipelineDiscardRectangleStateCreateFlagsEXT -> Int -> PipelineDiscardRectangleStateCreateFlagsEXT #

shiftR :: PipelineDiscardRectangleStateCreateFlagsEXT -> Int -> PipelineDiscardRectangleStateCreateFlagsEXT #

unsafeShiftR :: PipelineDiscardRectangleStateCreateFlagsEXT -> Int -> PipelineDiscardRectangleStateCreateFlagsEXT #

rotateL :: PipelineDiscardRectangleStateCreateFlagsEXT -> Int -> PipelineDiscardRectangleStateCreateFlagsEXT #

rotateR :: PipelineDiscardRectangleStateCreateFlagsEXT -> Int -> PipelineDiscardRectangleStateCreateFlagsEXT #

popCount :: PipelineDiscardRectangleStateCreateFlagsEXT -> Int #

Zero PipelineDiscardRectangleStateCreateFlagsEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_discard_rectangles

newtype DiscardRectangleModeEXT Source #

VkDiscardRectangleModeEXT - Specify the discard rectangle mode

See Also

PipelineDiscardRectangleStateCreateInfoEXT

Bundled Patterns

pattern DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT :: DiscardRectangleModeEXT

DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT specifies that the discard rectangle test is inclusive.

pattern DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT :: DiscardRectangleModeEXT

DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT specifies that the discard rectangle test is exclusive.

Instances

Instances details
Eq DiscardRectangleModeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_discard_rectangles

Ord DiscardRectangleModeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_discard_rectangles

Read DiscardRectangleModeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_discard_rectangles

Show DiscardRectangleModeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_discard_rectangles

Storable DiscardRectangleModeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_discard_rectangles

Zero DiscardRectangleModeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_discard_rectangles

type EXT_DISCARD_RECTANGLES_EXTENSION_NAME = "VK_EXT_discard_rectangles" Source #

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