Vulkan-Docs/appendices/VK_EXT_discard_rectangles.txt

70 lines
2.0 KiB
Plaintext

include::meta/VK_EXT_discard_rectangles.txt[]
*Last Modified Date*::
2016-12-22
*Interactions and External Dependencies*::
- Interacts with VK_KHR_device_group
- Interacts with Vulkan 1.1
*Contributors*::
- Daniel Koch, NVIDIA
- Jeff Bolz, NVIDIA
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.
ifdef::VK_VERSION_1_1,VK_KHR_device_group[]
The discard rectangles can be different for each physical device in a device
group by specifying the device mask and setting discard rectangle dynamic
state.
endif::VK_VERSION_1_1,VK_KHR_device_group[]
=== 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
* tlink: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