• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2017-2024 The Khronos Group Inc.
2//
3// SPDX-License-Identifier: CC-BY-4.0
4
5include::{generated}/meta/{refprefix}VK_EXT_sample_locations.adoc[]
6
7=== Other Extension Metadata
8
9*Last Modified Date*::
10    2017-08-02
11*Contributors*::
12  - Mais Alnasser, AMD
13  - Matthaeus G. Chajdas, AMD
14  - Maciej Jesionowski, AMD
15  - Daniel Rakos, AMD
16  - Slawomir Grajewski, Intel
17  - Jeff Bolz, NVIDIA
18  - Bill Licea-Kane, Qualcomm
19
20=== Description
21
22This extension allows an application to modify the locations of samples
23within a pixel used in rasterization.
24Additionally, it allows applications to specify different sample locations
25for each pixel in a group of adjacent pixels, which can: increase
26antialiasing quality (particularly if a custom resolve shader is used that
27takes advantage of these different locations).
28
29It is common for implementations to optimize the storage of depth values by
30storing values that can: be used to reconstruct depth at each sample
31location, rather than storing separate depth values for each sample.
32For example, the depth values from a single triangle may: be represented
33using plane equations.
34When the depth value for a sample is needed, it is automatically evaluated
35at the sample location.
36Modifying the sample locations causes the reconstruction to no longer
37evaluate the same depth values as when the samples were originally
38generated, thus the depth aspect of a depth/stencil attachment must: be
39cleared before rendering to it using different sample locations.
40
41Some implementations may: need to evaluate depth image values while
42performing image layout transitions.
43To accommodate this, instances of the slink:VkSampleLocationsInfoEXT
44structure can: be specified for each situation where an explicit or
45automatic layout transition has to take place.
46slink:VkSampleLocationsInfoEXT can: be chained from
47slink:VkImageMemoryBarrier structures to provide sample locations for layout
48transitions performed by flink:vkCmdWaitEvents and
49flink:vkCmdPipelineBarrier calls, and
50slink:VkRenderPassSampleLocationsBeginInfoEXT can: be chained from
51slink:VkRenderPassBeginInfo to provide sample locations for layout
52transitions performed implicitly by a render pass instance.
53
54include::{generated}/interfaces/VK_EXT_sample_locations.adoc[]
55
56=== Version History
57
58  * Revision 1, 2017-08-02 (Daniel Rakos)
59  ** Internal revisions
60