Index: src/gpu/gl/GrGpuGL.cpp |
diff --git a/src/gpu/gl/GrGpuGL.cpp b/src/gpu/gl/GrGpuGL.cpp |
index a0e08e5a00b295e393e11835c5538c0155ba98dd..18d859980d5ab709eed635774b572083a549f8ea 100644 |
--- a/src/gpu/gl/GrGpuGL.cpp |
+++ b/src/gpu/gl/GrGpuGL.cpp |
@@ -275,6 +275,14 @@ void GrGpuGL::onResetContext(uint32_t resetBits) { |
// currently part of our gl interface. There are probably others as |
// well. |
} |
+ |
+ // On arm we need to reset fetch per sample, used fb fetch extension. |
bsalomon
2014/07/31 17:28:01
This sentence is a little unclear. Also, maybe unn
|
+ if (kGLES_GrGLStandard == this->glStandard() && |
+ fGLContext.hasExtension("GL_ARM_shader_framebuffer_fetch")) { |
+ // The arm extension requires specifically enabling MSAA fetching per sample. |
+ // On some devices this may have a perf hit. Also multiple render targets are disabled |
+ GL_CALL(Enable(GR_GL_FETCH_PER_SAMPLE_ARM)); |
+ } |
fHWWriteToColor = kUnknown_TriState; |
// we only ever use lines in hairline mode |
GL_CALL(LineWidth(1)); |
@@ -1490,7 +1498,7 @@ void GrGpuGL::discard(GrRenderTarget* renderTarget) { |
GL_CALL(BindFramebuffer(GR_GL_FRAMEBUFFER, glRT->renderFBOID())); |
} |
switch (this->glCaps().invalidateFBType()) { |
- case GrGLCaps::kNone_FBFetchType: |
+ case GrGLCaps::kNone_InvalidateFBType: |
SkFAIL("Should never get here."); |
break; |
case GrGLCaps::kInvalidate_InvalidateFBType: |