diff options
author | jin.a.yang <jin.a.yang@intel.com> | 2015-09-11 09:46:46 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-09-11 16:47:21 +0000 |
commit | f23471c866d7d3334d61538eb738d494542b5cac (patch) | |
tree | 42ecce69e86019b5924a7e7ceeff171c501b864a /gpu/GLES2 | |
parent | 2adba8ab46d4c242b94f433bfe873026b6f1cdd4 (diff) | |
download | chromium_src-f23471c866d7d3334d61538eb738d494542b5cac.zip chromium_src-f23471c866d7d3334d61538eb738d494542b5cac.tar.gz chromium_src-f23471c866d7d3334d61538eb738d494542b5cac.tar.bz2 |
Add GL_CHROMIUM_screen_space_antialiasing to support alternative AA
MSAA is very expensive on some platforms. We introduce extention
GL_CHROMIUM_screen_space_antialiasing to support other antialiasing
approach. It will perform antialiasing to the color attachments of
the currently bound draw framebuffer. As an example, we implement it
using GL_INTEL_framebuffer_CMAA which results in similar quality of
MSAA at better performance.
The blink side change is in below link:
https://codereview.chromium.org/1301923002
BUG=524285
Review URL: https://codereview.chromium.org/1298523003
Cr-Commit-Position: refs/heads/master@{#348412}
Diffstat (limited to 'gpu/GLES2')
-rw-r--r-- | gpu/GLES2/extensions/CHROMIUM/CHROMIUM_screen_space_antialiasing.txt | 48 | ||||
-rw-r--r-- | gpu/GLES2/gl2chromium_autogen.h | 2 | ||||
-rw-r--r-- | gpu/GLES2/gl2extchromium.h | 9 |
3 files changed, 59 insertions, 0 deletions
diff --git a/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_screen_space_antialiasing.txt b/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_screen_space_antialiasing.txt new file mode 100644 index 0000000..89574abd --- /dev/null +++ b/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_screen_space_antialiasing.txt @@ -0,0 +1,48 @@ +Name + + CHROMIUM_screen_space_antialiasing + +Name Strings + + GL_CHROMIUM_screen_space_antialiasing + +Version + + Last Modifed Date: August 27, 2015 + +Dependencies + + OpenGL ES 2.0 is required. + +Overview + + This extension performs the antialiasing to all color attachments of + the currently bound draw framebuffer. Reference GL_INTEL_framebuffer_CMAA + for more details. + +New Tokens + + None + +New Procedures and Functions + + void ApplyScreenSpaceAntialiasingCHROMIUM(void); + + Apply antialiasing to all color attachments of the currently bound draw framebuffer. + + INVALID_OPERATION is generated if any of the current draw buffers is multisampled. + + OUT_OF_MEMORY may be generated if fail to allocate internal resources necessary to + perform the requested operation. + +Errors + + None. + +New State + + None. + +Revision History + + 27/8/2015 Documented the extension diff --git a/gpu/GLES2/gl2chromium_autogen.h b/gpu/GLES2/gl2chromium_autogen.h index 26a8650..810eff8 100644 --- a/gpu/GLES2/gl2chromium_autogen.h +++ b/gpu/GLES2/gl2chromium_autogen.h @@ -354,5 +354,7 @@ GLES2_GET_FUN(StencilThenCoverStrokePathCHROMIUM) #define glGetGraphicsResetStatusKHR GLES2_GET_FUN(GetGraphicsResetStatusKHR) #define glBlendBarrierKHR GLES2_GET_FUN(BlendBarrierKHR) +#define glApplyScreenSpaceAntialiasingCHROMIUM \ + GLES2_GET_FUN(ApplyScreenSpaceAntialiasingCHROMIUM) #endif // GPU_GLES2_GL2CHROMIUM_AUTOGEN_H_ diff --git a/gpu/GLES2/gl2extchromium.h b/gpu/GLES2/gl2extchromium.h index 157458c..f96c930 100644 --- a/gpu/GLES2/gl2extchromium.h +++ b/gpu/GLES2/gl2extchromium.h @@ -521,6 +521,15 @@ typedef GLboolean (GL_APIENTRYP PFNGLENABLEFEATURECHROMIUMPROC) ( #endif #endif /* GL_CHROMIUM_command_buffer_latency_query */ +/* GL_CHROMIUM_screen_space_antialiasing */ +#ifndef GL_CHROMIUM_screen_space_antialiasing +#define GL_CHROMIUM_screen_space_antialiasing 1 +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glApplyScreenSpaceAntialiasingCHROMIUM(); +#endif +typedef void(GL_APIENTRYP PFNGLAPPLYSCREENSPACEANTIALIASINGCHROMIUMPROC)(); +#endif /* GL_CHROMIUM_screen_space_antialiasing */ + /* GL_ARB_robustness */ #ifndef GL_ARB_robustness #define GL_ARB_robustness 1 |