vulkan-2.0.0.1: Bindings to the Vulkan graphics API.

Safe HaskellNone
LanguageHaskell2010

Graphics.Vulkan.Extensions.VK_EXT_discard_rectangles

Synopsis

Documentation

newtype VkDiscardRectangleModeEXT Source #

VkDiscardRectangleModeEXT - Specify the discard rectangle mode

See Also

VkPipelineDiscardRectangleStateCreateInfoEXT

Instances
Eq VkDiscardRectangleModeEXT Source # 
Instance details
Ord VkDiscardRectangleModeEXT Source # 
Instance details
Read VkDiscardRectangleModeEXT Source # 
Instance details
Show VkDiscardRectangleModeEXT Source # 
Instance details
Storable VkDiscardRectangleModeEXT Source # 
Instance details

pattern VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT :: VkDiscardRectangleModeEXT Source #

VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT specifies that a fragment within any discard rectangle satisfies the test.

pattern VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT :: VkDiscardRectangleModeEXT Source #

VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT specifies that a fragment not within any of the discard rectangles satisfies the test.

newtype VkPipelineDiscardRectangleStateCreateFlagsEXT Source #

VkPipelineDiscardRectangleStateCreateFlagsEXT - Reserved for future use

Description

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

See Also

VkPipelineDiscardRectangleStateCreateInfoEXT

Instances
Eq VkPipelineDiscardRectangleStateCreateFlagsEXT Source # 
Instance details
Ord VkPipelineDiscardRectangleStateCreateFlagsEXT Source # 
Instance details
Read VkPipelineDiscardRectangleStateCreateFlagsEXT Source # 
Instance details
Show VkPipelineDiscardRectangleStateCreateFlagsEXT Source # 
Instance details
Storable VkPipelineDiscardRectangleStateCreateFlagsEXT Source # 
Instance details
Bits VkPipelineDiscardRectangleStateCreateFlagsEXT Source # 
Instance details

Methods

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

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

xor :: VkPipelineDiscardRectangleStateCreateFlagsEXT -> VkPipelineDiscardRectangleStateCreateFlagsEXT -> VkPipelineDiscardRectangleStateCreateFlagsEXT #

complement :: VkPipelineDiscardRectangleStateCreateFlagsEXT -> VkPipelineDiscardRectangleStateCreateFlagsEXT #

shift :: VkPipelineDiscardRectangleStateCreateFlagsEXT -> Int -> VkPipelineDiscardRectangleStateCreateFlagsEXT #

rotate :: VkPipelineDiscardRectangleStateCreateFlagsEXT -> Int -> VkPipelineDiscardRectangleStateCreateFlagsEXT #

zeroBits :: VkPipelineDiscardRectangleStateCreateFlagsEXT #

bit :: Int -> VkPipelineDiscardRectangleStateCreateFlagsEXT #

setBit :: VkPipelineDiscardRectangleStateCreateFlagsEXT -> Int -> VkPipelineDiscardRectangleStateCreateFlagsEXT #

clearBit :: VkPipelineDiscardRectangleStateCreateFlagsEXT -> Int -> VkPipelineDiscardRectangleStateCreateFlagsEXT #

complementBit :: VkPipelineDiscardRectangleStateCreateFlagsEXT -> Int -> VkPipelineDiscardRectangleStateCreateFlagsEXT #

testBit :: VkPipelineDiscardRectangleStateCreateFlagsEXT -> Int -> Bool #

bitSizeMaybe :: VkPipelineDiscardRectangleStateCreateFlagsEXT -> Maybe Int #

bitSize :: VkPipelineDiscardRectangleStateCreateFlagsEXT -> Int #

isSigned :: VkPipelineDiscardRectangleStateCreateFlagsEXT -> Bool #

shiftL :: VkPipelineDiscardRectangleStateCreateFlagsEXT -> Int -> VkPipelineDiscardRectangleStateCreateFlagsEXT #

unsafeShiftL :: VkPipelineDiscardRectangleStateCreateFlagsEXT -> Int -> VkPipelineDiscardRectangleStateCreateFlagsEXT #

shiftR :: VkPipelineDiscardRectangleStateCreateFlagsEXT -> Int -> VkPipelineDiscardRectangleStateCreateFlagsEXT #

unsafeShiftR :: VkPipelineDiscardRectangleStateCreateFlagsEXT -> Int -> VkPipelineDiscardRectangleStateCreateFlagsEXT #

rotateL :: VkPipelineDiscardRectangleStateCreateFlagsEXT -> Int -> VkPipelineDiscardRectangleStateCreateFlagsEXT #

rotateR :: VkPipelineDiscardRectangleStateCreateFlagsEXT -> Int -> VkPipelineDiscardRectangleStateCreateFlagsEXT #

popCount :: VkPipelineDiscardRectangleStateCreateFlagsEXT -> Int #

FiniteBits VkPipelineDiscardRectangleStateCreateFlagsEXT Source # 
Instance details

vkCmdSetDiscardRectangleEXT :: ("commandBuffer" ::: VkCommandBuffer) -> ("firstDiscardRectangle" ::: Word32) -> ("discardRectangleCount" ::: Word32) -> ("pDiscardRectangles" ::: Ptr VkRect2D) -> 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 VkRect2D structures specifying discard rectangles.

Description

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

Valid Usage

  • The bound graphics pipeline must have been created with the VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT dynamic state enabled
  • The sum of firstDiscardRectangle and discardRectangleCount must be less than or equal to VkPhysicalDeviceDiscardRectanglePropertiesEXT::maxDiscardRectangles
  • The x and y member of offset in each VkRect2D element of pDiscardRectangles must be greater than or equal to 0
  • Evaluation of (offset.x + extent.width) in each VkRect2D element of pDiscardRectangles must not cause a signed integer addition overflow
  • Evaluation of (offset.y + extent.height) in each VkRect2D element of pDiscardRectangles must not cause a signed integer addition overflow

Valid Usage (Implicit)

  • commandBuffer must be a valid VkCommandBuffer handle
  • pDiscardRectangles must be a valid pointer to an array of discardRectangleCount VkRect2D structures
  • commandBuffer must be in the recording state
  • The VkCommandPool 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 VkCommandPool 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

VkCommandBuffer, VkRect2D

data VkPhysicalDeviceDiscardRectanglePropertiesEXT Source #

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

Members

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

Description

  • maxDiscardRectangles is the maximum number of discard rectangles that can be specified.

Valid Usage (Implicit)

  • sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT

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

See Also

VkStructureType

data VkPipelineDiscardRectangleStateCreateInfoEXT Source #

VkPipelineDiscardRectangleStateCreateInfoEXT - Structure specifying discard rectangle

Valid Usage

  • discardRectangleCount must be between 0 and VkPhysicalDeviceDiscardRectanglePropertiesEXT::maxDiscardRectangles, inclusive

Valid Usage (Implicit)

  • sType must be VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT

See Also

VkDiscardRectangleModeEXT, VkPipelineDiscardRectangleStateCreateFlagsEXT, VkRect2D, VkStructureType

Constructors

VkPipelineDiscardRectangleStateCreateInfoEXT 

Fields