• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1include::meta/VK_EXT_discard_rectangles.txt[]
2
3*Last Modified Date*::
4    2016-12-22
5*Interactions and External Dependencies*::
6  - Interacts with VK_KHR_device_group
7  - Interacts with Vulkan 1.1
8*Contributors*::
9  - Daniel Koch, NVIDIA
10  - Jeff Bolz, NVIDIA
11
12This extension provides additional orthogonally aligned "`discard
13rectangles`" specified in framebuffer-space coordinates that restrict
14rasterization of all points, lines and triangles.
15
16From zero to an implementation-dependent limit (specified by
17pname:maxDiscardRectangles) number of discard rectangles can be operational
18at once.
19When one or more discard rectangles are active, rasterized fragments can
20either survive if the fragment is within any of the operational discard
21rectangles (ename:VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT mode) or be
22rejected if the fragment is within any of the operational discard rectangles
23(ename:VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT mode).
24
25These discard rectangles operate orthogonally to the existing scissor test
26functionality.
27ifdef::VK_VERSION_1_1,VK_KHR_device_group[]
28The discard rectangles can be different for each physical device in a device
29group by specifying the device mask and setting discard rectangle dynamic
30state.
31endif::VK_VERSION_1_1,VK_KHR_device_group[]
32
33=== New Object Types
34
35None.
36
37=== New Enum Constants
38
39  * Extending elink:VkStructureType:
40
41  ** ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT
42  ** ename:VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT
43
44  * Extending elink:VkDynamicState
45
46  ** ename:VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT
47
48=== New Enums
49
50  * elink:VkPipelineDiscardRectangleStateCreateFlagsEXT
51  * elink:VkDiscardRectangleModeEXT
52
53=== New Structures
54
55  * slink:VkPhysicalDeviceDiscardRectanglePropertiesEXT
56  * slink:VkPipelineDiscardRectangleStateCreateInfoEXT
57
58=== New Functions
59
60  * flink:vkCmdSetDiscardRectangleEXT
61
62=== Issues
63
64None.
65
66=== Version History
67
68  * Revision 1, 2016-12-22 (Piers Daniell)
69    - Internal revisions
70