mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-01-11 22:44:11 +00:00
df88ded281
* Bump API patch number and header version number to 60 for this update. Github Issues: * Document that <<queries-timestamps, Timestamp Queries>> can only be meaningfully compared when they are written from the same queue (public issue 216). * Document that the `<extension>` tag `type` attribute is required for non-disabled extensions (derived from, but does not close public issue 354). * Clean up registry schema length attribute descriptions to be consistent and correct (public issue 555). Internal Issues: * Replace as much of the hand-written extension appendix metadata as possible with asciidoc includes generated from corresponding attributes of +vk.xml+, and enhance the style guide to match. This avoids inconsistencies between +vk.xml+ and the appendices, and produces a more uniform style (internal issue 137). * Remove the generated extDependency.{py,sh} files from the tree and create them dynamically on demand instead, reducing merge conflicts (internal issue 713). * Add a prototype tool for generating in-place difference markup for sections guarded by asciidoc conditionals, and new syntax for open blocks to support it (internal issue 833). * Remove unnecessary restriction of etext:*SYNC_FD_BIT_KHR external handle types to the same physical device in the slink:VkPhysicalDeviceIDPropertiesKHR, flink:VkImportMemoryWin32HandleInfoKHR, slink:VkImportFenceWin32HandleInfoKHR, slink:VkImportFenceFdInfoKHR, slink:VkImportSemaphoreWin32HandleInfoKHR, slink:VkImportSemaphoreFdInfoKHR <<external-memory-handle-types-compatibility, External memory handle types compatibility>>, <<external-semaphore-handle-types-compatibility, External semaphore handle types compatibility>>, and <<external-fence-handle-types-compatibility, External fence handle types compatibility>> sections (internal issue 956). Other Issues: * Remove dependency of +VK_KHX_device_group+ on +VK_KHR_swapchain+ (there is an interaction, but not a strict dependency), and add a new `extension` attribute to the `<require` XML tag to allow classifying a subset of interfaces of an extension as requiring another extension. Update the registry schema and documentation accordingly. New Extensions: * `VK_AMD_shader_fragment_mask` (and related `GL_AMD_shader_fragment_mask` GLSL extension) * `VK_EXT_sample_locations` * `VK_EXT_validation_cache`
135 lines
4.4 KiB
Plaintext
135 lines
4.4 KiB
Plaintext
Name
|
|
|
|
AMD_shader_fragment_mask
|
|
|
|
Name Strings
|
|
|
|
GL_AMD_shader_fragment_mask
|
|
|
|
Contact
|
|
|
|
Aaron Hagan, AMD (aaron.hagan 'at' amd.com)
|
|
|
|
Contributors
|
|
|
|
Aaron Hagan, AMD
|
|
Timothy Lottes, AMD
|
|
Daniel Rakos, AMD
|
|
|
|
Status
|
|
|
|
Pending
|
|
|
|
Version
|
|
|
|
Last Modified Date: 08/07/2017
|
|
Author Revision: 2
|
|
|
|
Number
|
|
|
|
TBD
|
|
|
|
Dependencies
|
|
|
|
This extension is written against the OpenGL Shading Language
|
|
Specification, Version 4.50.
|
|
|
|
Overview
|
|
|
|
This extension introduces new GLSL built-in functions enabling more
|
|
efficient read access to fragment mask compressed multisampled color
|
|
images. Implementations supporting this extension can avoid storing
|
|
identical sample color values inside a single pixel. This is achieved
|
|
by introducing the concept of color fragments and fragment masks.
|
|
|
|
Color fragments are storage units inside a single pixel of a multisampled
|
|
color image that can hold a unique color value. Each pixel then has a
|
|
fragment mask which contains per sample indices that map a given color
|
|
sample to a particular color fragment.
|
|
|
|
This extension enables fetching the fragment mask and individual color
|
|
fragments from a multisampled color image.
|
|
|
|
IP Status
|
|
|
|
None.
|
|
|
|
New Procedures and Functions
|
|
|
|
None.
|
|
|
|
New Tokens
|
|
|
|
None.
|
|
|
|
Modifications to the OpenGL Shading Language Specification, Version 4.50
|
|
|
|
Including the following line in a shader can be used to control the
|
|
language features described in this extension:
|
|
|
|
#extension GL_AMD_shader_fmask : <behavior>
|
|
|
|
where <behavior> is as specified in section 3.3.
|
|
|
|
New preprocessor #defines are added to the OpenGL Shading Language:
|
|
|
|
#define GL_AMD_shader_fragement_mask 1
|
|
|
|
Additions to Chapter 8 of the OpenGL Shading Language (GLSL) Specification,
|
|
version 4.30 (Built-in functions)
|
|
|
|
Add to the table of functions 8.9.2, "Texel Lookup Functions", p. 164
|
|
|
|
+-----------------------------------+-------------------------------------+
|
|
| Syntax | Description |
|
|
+-----------------------------------+-------------------------------------+
|
|
| uint fragmentMaskFetchAMD( | Returns the fragment mask from a |
|
|
| gsampler2DMS sampler, | multisampled color image. The |
|
|
| ivec2 P) | fragment mask is a single uint where|
|
|
| | each subsequent 4 bit specifies the |
|
|
| uint fragmentMaskFetchAMD( | color fragment index corresponding |
|
|
| gsampler2DMSArray sampler, | to the color sample, starting from |
|
|
| ivec3 P) | the least significant bit. |
|
|
| | |
|
|
| uint fragmentMaskFetchAMD( | |
|
|
| gsubpassInputMS subpass) | |
|
|
+-----------------------------------+-------------------------------------+
|
|
| gvec4 fragmentFetchAMD( | Fetches a color fragment with a |
|
|
| gsampler2DMS sampler, | correspoding fragment mask value. |
|
|
| ivec2 P, | |
|
|
| uint fragIndex) | |
|
|
| | |
|
|
| gvec4 fragmentFetchAMD( | |
|
|
| gsampler2DMSArray sampler, | |
|
|
| ivec3 P, | |
|
|
| uint fragIndex)| |
|
|
| | |
|
|
| gvec4 fragmentFetchAMD( | |
|
|
| gsubpassInputMS subpass, | |
|
|
| uint fragIndex) | |
|
|
+-----------------------------------+-------------------------------------+
|
|
|
|
|
|
Additions to the AGL/GLX/WGL Specifications
|
|
|
|
None.
|
|
|
|
GLX Protocol
|
|
|
|
None.
|
|
|
|
Errors
|
|
|
|
None.
|
|
|
|
Issues
|
|
|
|
|
|
Revision History
|
|
|
|
Rev. Date Author Changes
|
|
---- ---------- -------- -----------------------------------------------
|
|
2 08/07/2017 ahagan Cleanup and prepared for posting.
|
|
|
|
1 04/24/2017 ahagan Initial draft.
|