91 lines
3.2 KiB
Plaintext
91 lines
3.2 KiB
Plaintext
include::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
|