Vulkan-Docs/doc/specs/vulkan/appendices/VK_EXT_discard_rectangles.txt

78 lines
2.3 KiB
Plaintext
Raw Normal View History

Change log for February 27, 2017 Vulkan 1.0.42 spec update: * Bump API patch number and header version number to 42 for this update (the first anniversary edition). Github Issues: * Changed asciidoctor macros so cross-page links in the standalone reference pages function properly (public issue 462). Internal Issues: * Clarified host visibility discussion for slink:VkMemoryType, flink:vkInvalidateMappedMemoryRanges, elink:VkAccessFlagBits, and the <<synchronization-framebuffer-regions,Framebuffer Region Dependencies>> section, removing duplicated information and adding a central definition in the access types section (internal issue 552). * Change description of slink:vkGetPhysicalDeviceSurfacePresentModesKHR::pname:pPresentModes to return an array of values, not structures (internal issue 699). New Extensions: * Add a NOTE to the <<extensions,Layers & Extensions>> chapter describing the experimental status of `KHX` extensions. * Add new Khronos, Khronos Experimental, and vendor Vulkan extensions for release at GDC: ** VK_KHR_descriptor_update_template ** VK_KHR_push_descriptor ** VK_KHX_device_group ** VK_KHX_device_group_creation ** VK_KHX_external_memory ** VK_KHX_external_memory_capabilities ** VK_KHX_external_memory_fd ** VK_KHX_external_memory_win32 ** VK_KHX_external_semaphore ** VK_KHX_external_semaphore_capabilities ** VK_KHX_external_semaphore_fd ** VK_KHX_external_semaphore_win32 ** VK_KHX_multiview ** VK_KHX_win32_keyed_mutex ** VK_EXT_discard_rectangles ** VK_MVK_ios_surface ** VK_MVK_macos_surface ** VK_NVX_multiview_per_view_attributes ** VK_NV_clip_space_w_scaling ** VK_NV_geometry_shader_passthrough ** VK_NV_sample_mask_override_coverage ** VK_NV_viewport_array2 ** VK_NV_viewport_swizzle * Add new GLSL vendor extensions to support new builtin variables: ** GL_EXT_device_group ** GL_EXT_multiview
2017-02-26 22:54:26 -08:00
[[VK_EXT_discard_rectangles]]
== VK_EXT_discard_rectangles
*Name String*::
VK_EXT_discard_rectangles
*Extension Type*::
Device extension
*Registered Extension Number*::
100
*Status*::
Complete
*Last Modified Data*::
2016-12-22
*Revision*::
1
*Dependencies*::
- This extension is written against version 1.0 of the Vulkan API.
- This extension requires Vulkan 1.0.
- Requires
<<VK_KHR_get_physical_device_properties2,VK_KHR_get_physical_device_properties2>>.
*Contributors*::
- Daniel Koch, NVIDIA
- Jeff Bolz, NVIDIA
*Contact*::
- Piers Daniell (pdaniell 'at' nvidia.com)
*Overview*::
+
--
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.
If the VK_KHX_device_group extension is enabled the discard rectangles can
be different for each physical device in the device group by specifying the
device mask and setting discard rectangle dynamic state.
--
=== 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
* elink: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