83 lines
2.3 KiB
Plaintext
83 lines
2.3 KiB
Plaintext
[[VK_EXT_discard_rectangles]]
|
|
== VK_EXT_discard_rectangles
|
|
|
|
*Name String*::
|
|
VK_EXT_discard_rectangles
|
|
*Extension Type*::
|
|
Device extension
|
|
*Registered Extension Number*::
|
|
100
|
|
*Status*::
|
|
Complete
|
|
*Last Modified Data*::
|
|
2016-12-22
|
|
*Revision*::
|
|
1
|
|
*Dependencies*::
|
|
- This extension is written against version 1.0 of the Vulkan API.
|
|
- This extension requires Vulkan 1.0.
|
|
- Requires
|
|
<<VK_KHR_get_physical_device_properties2,VK_KHR_get_physical_device_properties2>>.
|
|
*Contributors*::
|
|
- Daniel Koch, NVIDIA
|
|
- Jeff Bolz, NVIDIA
|
|
*Contact*::
|
|
- Piers Daniell (pdaniell 'at' nvidia.com)
|
|
|
|
This extension provides additional orthogonally aligned "discard rectangles"
|
|
specified in framebuffer-space coordinates that restrict rasterization of
|
|
all points, lines and triangles.
|
|
|
|
From zero to an implementation-dependent limit (specified by
|
|
pname:maxDiscardRectangles) number of discard rectangles can be operational
|
|
at once.
|
|
When one or more discard rectangles are active, rasterized fragments can
|
|
either survive if the fragment is within any of the operational discard
|
|
rectangles (ename:VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT mode) or be
|
|
rejected if the fragment is within any of the operational discard rectangles
|
|
(ename:VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT mode).
|
|
|
|
These discard rectangles operate orthogonally to the existing scissor test
|
|
functionality.
|
|
If the VK_KHX_device_group extension is enabled the discard rectangles can
|
|
be different for each physical device in the device group by specifying the
|
|
device mask and setting discard rectangle dynamic state.
|
|
|
|
=== New Object Types
|
|
|
|
None.
|
|
|
|
=== New Enum Constants
|
|
|
|
* Extending elink:VkStructureType:
|
|
|
|
** ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT
|
|
** ename:VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT
|
|
|
|
* Extending elink:VkDynamicState
|
|
|
|
** ename:VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT
|
|
|
|
=== New Enums
|
|
|
|
* elink:VkPipelineDiscardRectangleStateCreateFlagsEXT
|
|
* elink:VkDiscardRectangleModeEXT
|
|
|
|
=== New Structures
|
|
|
|
* slink:VkPhysicalDeviceDiscardRectanglePropertiesEXT
|
|
* slink:VkPipelineDiscardRectangleStateCreateInfoEXT
|
|
|
|
=== New Functions
|
|
|
|
* flink:vkCmdSetDiscardRectangleEXT
|
|
|
|
=== Issues
|
|
|
|
None.
|
|
|
|
=== Version History
|
|
|
|
* Revision 1, 2016-12-22 (Piers Daniell)
|
|
- Internal revisions
|