/ 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