-
Notifications
You must be signed in to change notification settings - Fork 100
/
GL_AMD_shader_fragment_mask.txt
134 lines (88 loc) · 4.42 KB
/
GL_AMD_shader_fragment_mask.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
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, | corresponding 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.