vulkan-2.0.0.1: Bindings to the Vulkan graphics API.

Safe HaskellNone
LanguageHaskell2010

Graphics.Vulkan.Extensions.VK_EXT_conservative_rasterization

Synopsis

Documentation

newtype VkConservativeRasterizationModeEXT Source #

VkConservativeRasterizationModeEXT - Specify the conservative rasterization mode

See Also

VkPipelineRasterizationConservativeStateCreateInfoEXT

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

pattern VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT :: VkConservativeRasterizationModeEXT Source #

VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT specifies that conservative rasterization is disabled and rasterization proceeds as normal.

pattern VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT :: VkConservativeRasterizationModeEXT Source #

VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT specifies that conservative rasterization is enabled in overestimation mode.

pattern VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT :: VkConservativeRasterizationModeEXT Source #

VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT specifies that conservative rasterization is enabled in underestimation mode.

newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT Source #

VkPipelineRasterizationConservativeStateCreateFlagsEXT - Reserved for future use

Description

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

See Also

VkPipelineRasterizationConservativeStateCreateInfoEXT

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

Methods

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

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

xor :: VkPipelineRasterizationConservativeStateCreateFlagsEXT -> VkPipelineRasterizationConservativeStateCreateFlagsEXT -> VkPipelineRasterizationConservativeStateCreateFlagsEXT #

complement :: VkPipelineRasterizationConservativeStateCreateFlagsEXT -> VkPipelineRasterizationConservativeStateCreateFlagsEXT #

shift :: VkPipelineRasterizationConservativeStateCreateFlagsEXT -> Int -> VkPipelineRasterizationConservativeStateCreateFlagsEXT #

rotate :: VkPipelineRasterizationConservativeStateCreateFlagsEXT -> Int -> VkPipelineRasterizationConservativeStateCreateFlagsEXT #

zeroBits :: VkPipelineRasterizationConservativeStateCreateFlagsEXT #

bit :: Int -> VkPipelineRasterizationConservativeStateCreateFlagsEXT #

setBit :: VkPipelineRasterizationConservativeStateCreateFlagsEXT -> Int -> VkPipelineRasterizationConservativeStateCreateFlagsEXT #

clearBit :: VkPipelineRasterizationConservativeStateCreateFlagsEXT -> Int -> VkPipelineRasterizationConservativeStateCreateFlagsEXT #

complementBit :: VkPipelineRasterizationConservativeStateCreateFlagsEXT -> Int -> VkPipelineRasterizationConservativeStateCreateFlagsEXT #

testBit :: VkPipelineRasterizationConservativeStateCreateFlagsEXT -> Int -> Bool #

bitSizeMaybe :: VkPipelineRasterizationConservativeStateCreateFlagsEXT -> Maybe Int #

bitSize :: VkPipelineRasterizationConservativeStateCreateFlagsEXT -> Int #

isSigned :: VkPipelineRasterizationConservativeStateCreateFlagsEXT -> Bool #

shiftL :: VkPipelineRasterizationConservativeStateCreateFlagsEXT -> Int -> VkPipelineRasterizationConservativeStateCreateFlagsEXT #

unsafeShiftL :: VkPipelineRasterizationConservativeStateCreateFlagsEXT -> Int -> VkPipelineRasterizationConservativeStateCreateFlagsEXT #

shiftR :: VkPipelineRasterizationConservativeStateCreateFlagsEXT -> Int -> VkPipelineRasterizationConservativeStateCreateFlagsEXT #

unsafeShiftR :: VkPipelineRasterizationConservativeStateCreateFlagsEXT -> Int -> VkPipelineRasterizationConservativeStateCreateFlagsEXT #

rotateL :: VkPipelineRasterizationConservativeStateCreateFlagsEXT -> Int -> VkPipelineRasterizationConservativeStateCreateFlagsEXT #

rotateR :: VkPipelineRasterizationConservativeStateCreateFlagsEXT -> Int -> VkPipelineRasterizationConservativeStateCreateFlagsEXT #

popCount :: VkPipelineRasterizationConservativeStateCreateFlagsEXT -> Int #

FiniteBits VkPipelineRasterizationConservativeStateCreateFlagsEXT Source # 
Instance details

data VkPhysicalDeviceConservativeRasterizationPropertiesEXT Source #

VkPhysicalDeviceConservativeRasterizationPropertiesEXT - Structure describing conservative raster properties that can be supported by an implementation

Members

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

Description

  • primitiveOverestimationSize is the size in pixels the generating primitive is increased at each of its edges during conservative rasterization overestimation mode. Even with a size of 0.0, conservative rasterization overestimation rules still apply and if any part of the pixel rectangle is covered by the generating primitive, fragments are generated for the entire pixel. However implementations may make the pixel coverage area even more conservative by increasing the size of the generating primitive.
  • maxExtraPrimitiveOverestimationSize is the maximum size in pixels of extra overestimation the implementation supports in the pipeline state. A value of 0.0 means the implementation does not support any additional overestimation of the generating primitive during conservative rasterization. A value above 0.0 allows the application to further increase the size of the generating primitive during conservative rasterization overestimation.
  • extraPrimitiveOverestimationSizeGranularity is the granularity of extra overestimation that can be specified in the pipeline state between 0.0 and maxExtraPrimitiveOverestimationSize inclusive. A value of 0.0 means the implementation can use the smallest representable non-zero value in the screen space pixel fixed-point grid.
  • primitiveUnderestimation is true if the implementation supports the VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT conservative rasterization mode in addition to VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT. Otherwise the implementation only supports VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT.
  • conservativePointAndLineRasterization is true if the implementation supports conservative rasterization of point and line primitives as well as triangle primitives. Otherwise the implementation only supports triangle primitives.
  • degenerateTrianglesRasterized is false if the implementation culls primitives generated from triangles that become zero area after they are quantized to the fixed-point rasterization pixel grid. degenerateTrianglesRasterized is true if these primitives are not culled and the provoking vertex attributes and depth value are used for the fragments. The primitive area calculation is done on the primitive generated from the clipped triangle if applicable. Zero area primitives are backfacing and the application can enable backface culling if desired.
  • degenerateLinesRasterized is false if the implementation culls lines that become zero length after they are quantized to the fixed-point rasterization pixel grid. degenerateLinesRasterized is true if zero length lines are not culled and the provoking vertex attributes and depth value are used for the fragments.
  • fullyCoveredFragmentShaderInputVariable is true if the implementation supports the SPIR-V builtin fragment shader input variable FullyCoveredEXT which specifies that conservative rasterization is enabled and the fragment pixel square is fully covered by the generating primitive.
  • conservativeRasterizationPostDepthCoverage is true if the implementation supports conservative rasterization with the @PostDepthCoverage@ execution mode enabled. When supported the SampleMask built-in input variable will reflect the coverage after the early per-fragment depth and stencil tests are applied even when conservative rasterization is enabled. Otherwise @PostDepthCoverage@ execution mode must not be used when conservative rasterization is enabled.

Valid Usage (Implicit)

  • sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT

If the VkPhysicalDeviceConservativeRasterizationPropertiesEXT structure is included in the pNext chain of VkPhysicalDeviceProperties2KHR, it is filled with the implementation-dependent limits and properties.

See Also

VkBool32, VkStructureType

Instances
Eq VkPhysicalDeviceConservativeRasterizationPropertiesEXT Source # 
Instance details
Show VkPhysicalDeviceConservativeRasterizationPropertiesEXT Source # 
Instance details
Storable VkPhysicalDeviceConservativeRasterizationPropertiesEXT Source # 
Instance details

data VkPipelineRasterizationConservativeStateCreateInfoEXT Source #

VkPipelineRasterizationConservativeStateCreateInfoEXT - Structure specifying conservative raster state

Valid Usage

  • extraPrimitiveOverestimationSize must be in the range of 0.0 to VkPhysicalDeviceConservativeRasterizationPropertiesEXT::maxExtraPrimitiveOverestimationSize inclusive

Valid Usage (Implicit)

  • sType must be VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT

See Also

VkConservativeRasterizationModeEXT, VkPipelineRasterizationConservativeStateCreateFlagsEXT, VkStructureType

Constructors

VkPipelineRasterizationConservativeStateCreateInfoEXT 

Fields

Instances
Eq VkPipelineRasterizationConservativeStateCreateInfoEXT Source # 
Instance details
Show VkPipelineRasterizationConservativeStateCreateInfoEXT Source # 
Instance details
Storable VkPipelineRasterizationConservativeStateCreateInfoEXT Source # 
Instance details