| Index: src/gpu/gl/GrGLCaps.cpp
|
| diff --git a/src/gpu/gl/GrGLCaps.cpp b/src/gpu/gl/GrGLCaps.cpp
|
| index b729820ca5fdd2efd9ef51a1f12edc5447df2f5f..376bfd432a464e0652ffdc26149daba3106b363b 100644
|
| --- a/src/gpu/gl/GrGLCaps.cpp
|
| +++ b/src/gpu/gl/GrGLCaps.cpp
|
| @@ -50,6 +50,7 @@ void GrGLCaps::reset() {
|
| fFullClearIsFree = false;
|
| fDropsTileOnZeroDivide = false;
|
| fFBFetchSupport = false;
|
| + fFBFetchNeedsCustomOutput = false;
|
| fFBFetchColorName = NULL;
|
| fFBFetchExtensionString = NULL;
|
|
|
| @@ -93,6 +94,7 @@ GrGLCaps& GrGLCaps::operator= (const GrGLCaps& caps) {
|
| fFullClearIsFree = caps.fFullClearIsFree;
|
| fDropsTileOnZeroDivide = caps.fDropsTileOnZeroDivide;
|
| fFBFetchSupport = caps.fFBFetchSupport;
|
| + fFBFetchNeedsCustomOutput = caps.fFBFetchNeedsCustomOutput;
|
| fFBFetchColorName = caps.fFBFetchColorName;
|
| fFBFetchExtensionString = caps.fFBFetchExtensionString;
|
|
|
| @@ -250,16 +252,19 @@ bool GrGLCaps::init(const GrGLContextInfo& ctxInfo, const GrGLInterface* gli) {
|
|
|
| if (kGLES_GrGLStandard == standard) {
|
| if (ctxInfo.hasExtension("GL_EXT_shader_framebuffer_fetch")) {
|
| + fFBFetchNeedsCustomOutput = (version >= GR_GL_VER(3, 0));
|
| fFBFetchSupport = true;
|
| fFBFetchColorName = "gl_LastFragData[0]";
|
| fFBFetchExtensionString = "GL_EXT_shader_framebuffer_fetch";
|
| } else if (ctxInfo.hasExtension("GL_NV_shader_framebuffer_fetch")) {
|
| + // Actually, we haven't seen an ES3.0 device with this extension yet, so we don't know
|
| + fFBFetchNeedsCustomOutput = false;
|
| fFBFetchSupport = true;
|
| fFBFetchColorName = "gl_LastFragData[0]";
|
| fFBFetchExtensionString = "GL_NV_shader_framebuffer_fetch";
|
| } else if (ctxInfo.hasExtension("GL_ARM_shader_framebuffer_fetch")) {
|
| // The arm extension also requires an additional flag which we will set onResetContext
|
| - // This is all temporary.
|
| + fFBFetchNeedsCustomOutput = false;
|
| fFBFetchSupport = true;
|
| fFBFetchColorName = "gl_LastFragColorARM";
|
| fFBFetchExtensionString = "GL_ARM_shader_framebuffer_fetch";
|
|
|