| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Graphics.Vulkan.Extensions.VK_EXT_conservative_rasterization
- newtype VkConservativeRasterizationModeEXT = VkConservativeRasterizationModeEXT Int32
- pattern VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT :: VkConservativeRasterizationModeEXT
- pattern VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT :: VkConservativeRasterizationModeEXT
- pattern VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT :: VkConservativeRasterizationModeEXT
- newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT = VkPipelineRasterizationConservativeStateCreateFlagsEXT VkFlags
- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: VkStructureType
- pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: VkStructureType
- pattern VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION :: Integral a => a
- pattern VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME :: (Eq a, IsString a) => a
- data VkPhysicalDeviceConservativeRasterizationPropertiesEXT = VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
- vkSType :: VkStructureType
- vkPNext :: Ptr ()
- vkPrimitiveOverestimationSize :: CFloat
- vkMaxExtraPrimitiveOverestimationSize :: CFloat
- vkExtraPrimitiveOverestimationSizeGranularity :: CFloat
- vkPrimitiveUnderestimation :: VkBool32
- vkConservativePointAndLineRasterization :: VkBool32
- vkDegenerateTrianglesRasterized :: VkBool32
- vkDegenerateLinesRasterized :: VkBool32
- vkFullyCoveredFragmentShaderInputVariable :: VkBool32
- vkConservativeRasterizationPostDepthCoverage :: VkBool32
- data VkPipelineRasterizationConservativeStateCreateInfoEXT = VkPipelineRasterizationConservativeStateCreateInfoEXT {}
Documentation
newtype VkConservativeRasterizationModeEXT Source #
VkConservativeRasterizationModeEXT - Specify the conservative rasterization mode
See Also
Constructors
| VkConservativeRasterizationModeEXT Int32 |
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
Instances
pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: VkStructureType Source #
pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: VkStructureType Source #
pattern VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION :: Integral a => a Source #
pattern VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME :: (Eq a, IsString a) => a Source #
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
primitiveOverestimationSizeis 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.
maxExtraPrimitiveOverestimationSizeis 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.extraPrimitiveOverestimationSizeGranularityis the granularity of extra overestimation that can be specified in the pipeline state between 0.0 andmaxExtraPrimitiveOverestimationSizeinclusive. A value of 0.0 means the implementation can use the smallest representable non-zero value in the screen space pixel fixed-point grid.primitiveUnderestimationis true if the implementation supports theVK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXTconservative rasterization mode in addition toVK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT. Otherwise the implementation only supportsVK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT.conservativePointAndLineRasterizationis true if the implementation supports conservative rasterization of point and line primitives as well as triangle primitives. Otherwise the implementation only supports triangle primitives.degenerateTrianglesRasterizedis false if the implementation culls primitives generated from triangles that become zero area after they are quantized to the fixed-point rasterization pixel grid.degenerateTrianglesRasterizedis 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.degenerateLinesRasterizedis false if the implementation culls lines that become zero length after they are quantized to the fixed-point rasterization pixel grid.degenerateLinesRasterizedis true if zero length lines are not culled and the provoking vertex attributes and depth value are used for the fragments.fullyCoveredFragmentShaderInputVariableis 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.conservativeRasterizationPostDepthCoverageis true if the implementation supports conservative rasterization with the PostDepthCoverage execution mode enabled. When supported theSampleMaskbuilt-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)
sTypemust beVK_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
Constructors
data VkPipelineRasterizationConservativeStateCreateInfoEXT Source #
VkPipelineRasterizationConservativeStateCreateInfoEXT - Structure specifying conservative raster state
Description
Valid Usage
extraPrimitiveOverestimationSizemust be in the range of0.0toVkPhysicalDeviceConservativeRasterizationPropertiesEXT::maxExtraPrimitiveOverestimationSizeinclusive
Valid Usage (Implicit)
sTypemust beVK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT
flagsmust be0conservativeRasterizationModemust be a validVkConservativeRasterizationModeEXTvalue
See Also
VkConservativeRasterizationModeEXT,
VkPipelineRasterizationConservativeStateCreateFlagsEXT,
VkStructureType
Constructors
| VkPipelineRasterizationConservativeStateCreateInfoEXT | |
Fields
| |