Index: src/gpu/gl/GrGLCaps.cpp |
diff --git a/src/gpu/gl/GrGLCaps.cpp b/src/gpu/gl/GrGLCaps.cpp |
index 1f50f8d1e18a6be82b834529ecadee5b6af431f6..9911d53f43c373d54cb88561d4269ea5e5361884 100644 |
--- a/src/gpu/gl/GrGLCaps.cpp |
+++ b/src/gpu/gl/GrGLCaps.cpp |
@@ -749,20 +749,13 @@ bool GrGLCaps::readPixelsSupported(const GrGLInterface* intf, |
GrGLenum format, |
GrGLenum type, |
GrGLenum currFboFormat) const { |
- |
- ReadPixelsSupportedFormats::Key key = {format, type, currFboFormat}; |
- |
- ReadPixelsSupportedFormats* cachedValue = fReadPixelsSupportedCache.find(key); |
- |
- if (NULL == cachedValue) { |
- bool value = doReadPixelsSupported(intf, format, type); |
- ReadPixelsSupportedFormats newValue(key, value); |
- fReadPixelsSupportedCache.add(newValue); |
- |
- return newValue.value(); |
+ ReadPixelsSupportedFormat key = {format, type, currFboFormat}; |
+ if (const bool* supported = fReadPixelsSupportedCache.find(key)) { |
+ return *supported; |
} |
- |
- return cachedValue->value(); |
+ bool supported = this->doReadPixelsSupported(intf, format, type); |
+ fReadPixelsSupportedCache.set(key, supported); |
+ return supported; |
} |
void GrGLCaps::initFSAASupport(const GrGLContextInfo& ctxInfo, const GrGLInterface* gli) { |