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