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.
|