Vulkan-Docs/appendices/VK_EXT_sample_locations.txt
Jon Leech 22a5a1459f Change log for October 6, 2019 Vulkan 1.1.124 spec update:
* Update release number to 124.

Github Issues:

  * Fix Makefile SPECREMARK macro to work when not building in a git tree
    (public issue 992).
  * Ignore pname:aspectMask for unused attachments in
    slink:VkSubpassDescription2KHR valid usage statements (public pull
    request 1028).
  * Minor markup / spelling fixes (public pull requests 1035, 1045).

Internal Issues:

  * Fix markup in Valid Usage statement for slink:VkCreateFramebuffer
    (internal issue 1823).
  * Add a new <<synchronization-signal-operation-order, _signal operation
    order_>> section to the synchronization chapter which describes in
    detail the ordering guarantees provided by the API between fence and
    semaphore signal operations (internal merge request 3368).
  * Move generated `appendix/meta/` files into the Makefile GENERATED
    directory (internal merge request 3381).

New Extensions

  * `<<VK_KHR_shader_clock>>`
  * `<<VK_KHR_timeline_semaphore>>`
2019-10-06 12:42:12 -07:00

91 lines
3.2 KiB
Plaintext

include::{generated}/meta/VK_EXT_sample_locations.txt[]
*Last Modified Date*::
2017-08-02
*Contributors*::
- Mais Alnasser, AMD
- Matthaeus G. Chajdas, AMD
- Maciej Jesionowski, AMD
- Daniel Rakos, AMD
- Slawomir Grajewski, Intel
- Jeff Bolz, NVIDIA
- Bill Licea-Kane, Qualcomm
This extension allows an application to modify the locations of samples
within a pixel used in rasterization.
Additionally, it allows applications to specify different sample locations
for each pixel in a group of adjacent pixels, which can: increase
antialiasing quality (particularly if a custom resolve shader is used that
takes advantage of these different locations).
It is common for implementations to optimize the storage of depth values by
storing values that can: be used to reconstruct depth at each sample
location, rather than storing separate depth values for each sample.
For example, the depth values from a single triangle may: be represented
using plane equations.
When the depth value for a sample is needed, it is automatically evaluated
at the sample location.
Modifying the sample locations causes the reconstruction to no longer
evaluate the same depth values as when the samples were originally
generated, thus the depth aspect of a depth/stencil attachment must: be
cleared before rendering to it using different sample locations.
Some implementations may: need to evaluate depth image values while
performing image layout transitions.
To accommodate this, instances of the slink:VkSampleLocationsInfoEXT
structure can: be specified for each situation where an explicit or
automatic layout transition has to take place.
slink:VkSampleLocationsInfoEXT can: be chained from
slink:VkImageMemoryBarrier structures to provide sample locations for layout
transitions performed by flink:vkCmdWaitEvents and
flink:vkCmdPipelineBarrier calls, and
slink:VkRenderPassSampleLocationsBeginInfoEXT can: be chained from
slink:VkRenderPassBeginInfo to provide sample locations for layout
transitions performed implicitly by a render pass instance.
=== New Object Types
None.
=== New Enum Constants
* Extending elink:VkImageCreateFlagBits:
** ename:VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT
* Extending elink:VkStructureType:
** ename:VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT
** ename:VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT
** ename:VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT
** ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT
** ename:VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT
* Extending elink:VkDynamicState:
** ename:VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT
=== New Enums
None.
=== New Structures
* slink:VkSampleLocationEXT
* slink:VkSampleLocationsInfoEXT
* slink:VkAttachmentSampleLocationsEXT
* slink:VkSubpassSampleLocationsEXT
* slink:VkRenderPassSampleLocationsBeginInfoEXT
* slink:VkPipelineSampleLocationsStateCreateInfoEXT
* slink:VkPhysicalDeviceSampleLocationsPropertiesEXT
* slink:VkMultisamplePropertiesEXT
=== New Functions
* flink:vkCmdSetSampleLocationsEXT
* flink:vkGetPhysicalDeviceMultisamplePropertiesEXT
=== Issues
None.
=== Version History
* Revision 1, 2017-08-02 (Daniel Rakos)
- Internal revisions