OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright 2012 Google Inc. | 2 * Copyright 2012 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 | 8 |
9 #include "GrGLCaps.h" | 9 #include "GrGLCaps.h" |
10 | 10 |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
45 fBaseInstanceSupport = false; | 45 fBaseInstanceSupport = false; |
46 fUseNonVBOVertexAndIndexDynamicData = false; | 46 fUseNonVBOVertexAndIndexDynamicData = false; |
47 fIsCoreProfile = false; | 47 fIsCoreProfile = false; |
48 fBindFragDataLocationSupport = false; | 48 fBindFragDataLocationSupport = false; |
49 fExternalTextureSupport = false; | 49 fExternalTextureSupport = false; |
50 fRectangleTextureSupport = false; | 50 fRectangleTextureSupport = false; |
51 fTextureSwizzleSupport = false; | 51 fTextureSwizzleSupport = false; |
52 fSRGBWriteControl = false; | 52 fSRGBWriteControl = false; |
53 fRGBA8888PixelsOpsAreSlow = false; | 53 fRGBA8888PixelsOpsAreSlow = false; |
54 fPartialFBOReadIsSlow = false; | 54 fPartialFBOReadIsSlow = false; |
55 fMipMapLevelAndLodControlSupport = false; | |
55 | 56 |
56 fBlitFramebufferSupport = kNone_BlitFramebufferSupport; | 57 fBlitFramebufferSupport = kNone_BlitFramebufferSupport; |
57 | 58 |
58 fShaderCaps.reset(new GrGLSLCaps(contextOptions)); | 59 fShaderCaps.reset(new GrGLSLCaps(contextOptions)); |
59 | 60 |
60 this->init(contextOptions, ctxInfo, glInterface); | 61 this->init(contextOptions, ctxInfo, glInterface); |
61 } | 62 } |
62 | 63 |
63 void GrGLCaps::init(const GrContextOptions& contextOptions, | 64 void GrGLCaps::init(const GrContextOptions& contextOptions, |
64 const GrGLContextInfo& ctxInfo, | 65 const GrGLContextInfo& ctxInfo, |
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
239 if (kGL_GrGLStandard == standard) { | 240 if (kGL_GrGLStandard == standard) { |
240 if (version >= GR_GL_VER(3,3) || ctxInfo.hasExtension("GL_ARB_texture_sw izzle")) { | 241 if (version >= GR_GL_VER(3,3) || ctxInfo.hasExtension("GL_ARB_texture_sw izzle")) { |
241 fTextureSwizzleSupport = true; | 242 fTextureSwizzleSupport = true; |
242 } | 243 } |
243 } else { | 244 } else { |
244 if (version >= GR_GL_VER(3,0)) { | 245 if (version >= GR_GL_VER(3,0)) { |
245 fTextureSwizzleSupport = true; | 246 fTextureSwizzleSupport = true; |
246 } | 247 } |
247 } | 248 } |
248 | 249 |
250 if (kGL_GrGLStandard == standard) { | |
251 fMipMapLevelAndLodControlSupport = true; | |
bsalomon
2016/03/01 21:48:37
Sorry should have asked this earlier, but does thi
cblume
2016/03/01 21:53:01
OpenGL 2.1 supports this, yes.
If you go to the Op
| |
252 } else if (kGLES_GrGLStandard == standard) { | |
253 if (version >= GR_GL_VER(3,0)) { | |
254 fMipMapLevelAndLodControlSupport = true; | |
255 } | |
256 } | |
257 | |
249 #ifdef SK_BUILD_FOR_WIN | 258 #ifdef SK_BUILD_FOR_WIN |
250 // We're assuming that on Windows Chromium we're using ANGLE. | 259 // We're assuming that on Windows Chromium we're using ANGLE. |
251 bool isANGLE = kANGLE_GrGLDriver == ctxInfo.driver() || | 260 bool isANGLE = kANGLE_GrGLDriver == ctxInfo.driver() || |
252 kChromium_GrGLDriver == ctxInfo.driver(); | 261 kChromium_GrGLDriver == ctxInfo.driver(); |
253 // Angle has slow read/write pixel paths for 32bit RGBA (but fast for BGRA). | 262 // Angle has slow read/write pixel paths for 32bit RGBA (but fast for BGRA). |
254 fRGBA8888PixelsOpsAreSlow = isANGLE; | 263 fRGBA8888PixelsOpsAreSlow = isANGLE; |
255 // On DX9 ANGLE reading a partial FBO is slow. TODO: Check whether this is s till true and | 264 // On DX9 ANGLE reading a partial FBO is slow. TODO: Check whether this is s till true and |
256 // check DX11 ANGLE. | 265 // check DX11 ANGLE. |
257 fPartialFBOReadIsSlow = isANGLE; | 266 fPartialFBOReadIsSlow = isANGLE; |
258 #endif | 267 #endif |
(...skipping 1531 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1790 for (int j = 0; j < kExternalFormatUsageCnt; ++j) { | 1799 for (int j = 0; j < kExternalFormatUsageCnt; ++j) { |
1791 SkASSERT(defaultEntry.fFormats.fExternalFormat[j] != | 1800 SkASSERT(defaultEntry.fFormats.fExternalFormat[j] != |
1792 fConfigTable[i].fFormats.fExternalFormat[j]); | 1801 fConfigTable[i].fFormats.fExternalFormat[j]); |
1793 } | 1802 } |
1794 SkASSERT(defaultEntry.fFormats.fExternalType != fConfigTable[i].fFormats .fExternalType); | 1803 SkASSERT(defaultEntry.fFormats.fExternalType != fConfigTable[i].fFormats .fExternalType); |
1795 } | 1804 } |
1796 #endif | 1805 #endif |
1797 } | 1806 } |
1798 | 1807 |
1799 void GrGLCaps::onApplyOptionsOverrides(const GrContextOptions& options) {} | 1808 void GrGLCaps::onApplyOptionsOverrides(const GrContextOptions& options) {} |
OLD | NEW |