/ appendices / VK_EXT_discard_rectangles.txt
VK_EXT_discard_rectangles.txt
 1  include::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  
12  This extension provides additional orthogonally aligned "`discard
13  rectangles`" specified in framebuffer-space coordinates that restrict
14  rasterization of all points, lines and triangles.
15  
16  From zero to an implementation-dependent limit (specified by
17  pname:maxDiscardRectangles) number of discard rectangles can be operational
18  at once.
19  When one or more discard rectangles are active, rasterized fragments can
20  either survive if the fragment is within any of the operational discard
21  rectangles (ename:VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT mode) or be
22  rejected if the fragment is within any of the operational discard rectangles
23  (ename:VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT mode).
24  
25  These discard rectangles operate orthogonally to the existing scissor test
26  functionality.
27  ifdef::VK_VERSION_1_1,VK_KHR_device_group[]
28  The discard rectangles can be different for each physical device in a device
29  group by specifying the device mask and setting discard rectangle dynamic
30  state.
31  endif::VK_VERSION_1_1,VK_KHR_device_group[]
32  
33  === New Object Types
34  
35  None.
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    * tlink: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  
64  None.
65  
66  === Version History
67  
68    * Revision 1, 2016-12-22 (Piers Daniell)
69      - Internal revisions