| 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 24 matching lines...) Expand all Loading... |
| 35 fImagingSupport = false; | 35 fImagingSupport = false; |
| 36 fVertexArrayObjectSupport = false; | 36 fVertexArrayObjectSupport = false; |
| 37 fDirectStateAccessSupport = false; | 37 fDirectStateAccessSupport = false; |
| 38 fDebugSupport = false; | 38 fDebugSupport = false; |
| 39 fES2CompatibilitySupport = false; | 39 fES2CompatibilitySupport = false; |
| 40 fMultisampleDisableSupport = false; | 40 fMultisampleDisableSupport = false; |
| 41 fUseNonVBOVertexAndIndexDynamicData = false; | 41 fUseNonVBOVertexAndIndexDynamicData = false; |
| 42 fIsCoreProfile = false; | 42 fIsCoreProfile = false; |
| 43 fBindFragDataLocationSupport = false; | 43 fBindFragDataLocationSupport = false; |
| 44 fExternalTextureSupport = false; | 44 fExternalTextureSupport = false; |
| 45 fRectangleTextureSupport = false; |
| 45 fTextureSwizzleSupport = false; | 46 fTextureSwizzleSupport = false; |
| 46 fSRGBWriteControl = false; | 47 fSRGBWriteControl = false; |
| 47 fRGBA8888PixelsOpsAreSlow = false; | 48 fRGBA8888PixelsOpsAreSlow = false; |
| 48 fPartialFBOReadIsSlow = false; | 49 fPartialFBOReadIsSlow = false; |
| 49 | 50 |
| 50 fShaderCaps.reset(new GrGLSLCaps(contextOptions)); | 51 fShaderCaps.reset(new GrGLSLCaps(contextOptions)); |
| 51 | 52 |
| 52 this->init(contextOptions, ctxInfo, glInterface); | 53 this->init(contextOptions, ctxInfo, glInterface); |
| 53 } | 54 } |
| 54 | 55 |
| (...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 212 if (ctxInfo.hasExtension("GL_OES_EGL_image_external")) { | 213 if (ctxInfo.hasExtension("GL_OES_EGL_image_external")) { |
| 213 if (ctxInfo.glslGeneration() == k110_GrGLSLGeneration) { | 214 if (ctxInfo.glslGeneration() == k110_GrGLSLGeneration) { |
| 214 fExternalTextureSupport = true; | 215 fExternalTextureSupport = true; |
| 215 } else if (ctxInfo.hasExtension("GL_OES_EGL_image_external_essl3") || | 216 } else if (ctxInfo.hasExtension("GL_OES_EGL_image_external_essl3") || |
| 216 ctxInfo.hasExtension("OES_EGL_image_external_essl3")) { | 217 ctxInfo.hasExtension("OES_EGL_image_external_essl3")) { |
| 217 // At least one driver has been found that has this extension withou
t the "GL_" prefix. | 218 // At least one driver has been found that has this extension withou
t the "GL_" prefix. |
| 218 fExternalTextureSupport = true; | 219 fExternalTextureSupport = true; |
| 219 } | 220 } |
| 220 } | 221 } |
| 221 | 222 |
| 223 if ((kGL_GrGLStandard == standard && version >= GR_GL_VER(3, 2)) || |
| 224 ctxInfo.hasExtension("GL_ARB_texture_rectangle")) { |
| 225 fRectangleTextureSupport = true; |
| 226 } |
| 227 |
| 222 if (kGL_GrGLStandard == standard) { | 228 if (kGL_GrGLStandard == standard) { |
| 223 if (version >= GR_GL_VER(3,3) || ctxInfo.hasExtension("GL_ARB_texture_sw
izzle")) { | 229 if (version >= GR_GL_VER(3,3) || ctxInfo.hasExtension("GL_ARB_texture_sw
izzle")) { |
| 224 fTextureSwizzleSupport = true; | 230 fTextureSwizzleSupport = true; |
| 225 } | 231 } |
| 226 } else { | 232 } else { |
| 227 if (version >= GR_GL_VER(3,0)) { | 233 if (version >= GR_GL_VER(3,0)) { |
| 228 fTextureSwizzleSupport = true; | 234 fTextureSwizzleSupport = true; |
| 229 } | 235 } |
| 230 } | 236 } |
| 231 | 237 |
| (...skipping 661 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 893 r.appendf("Direct state access support: %s\n", (fDirectStateAccessSupport ?
"YES": "NO")); | 899 r.appendf("Direct state access support: %s\n", (fDirectStateAccessSupport ?
"YES": "NO")); |
| 894 r.appendf("Debug support: %s\n", (fDebugSupport ? "YES": "NO")); | 900 r.appendf("Debug support: %s\n", (fDebugSupport ? "YES": "NO")); |
| 895 r.appendf("Multisample disable support: %s\n", (fMultisampleDisableSupport ?
"YES" : "NO")); | 901 r.appendf("Multisample disable support: %s\n", (fMultisampleDisableSupport ?
"YES" : "NO")); |
| 896 r.appendf("Use non-VBO for dynamic data: %s\n", | 902 r.appendf("Use non-VBO for dynamic data: %s\n", |
| 897 (fUseNonVBOVertexAndIndexDynamicData ? "YES" : "NO")); | 903 (fUseNonVBOVertexAndIndexDynamicData ? "YES" : "NO")); |
| 898 r.appendf("SRGB write contol: %s\n", (fSRGBWriteControl ? "YES" : "NO")); | 904 r.appendf("SRGB write contol: %s\n", (fSRGBWriteControl ? "YES" : "NO")); |
| 899 r.appendf("RGBA 8888 pixel ops are slow: %s\n", (fRGBA8888PixelsOpsAreSlow ?
"YES" : "NO")); | 905 r.appendf("RGBA 8888 pixel ops are slow: %s\n", (fRGBA8888PixelsOpsAreSlow ?
"YES" : "NO")); |
| 900 r.appendf("Partial FBO read is slow: %s\n", (fPartialFBOReadIsSlow ? "YES" :
"NO")); | 906 r.appendf("Partial FBO read is slow: %s\n", (fPartialFBOReadIsSlow ? "YES" :
"NO")); |
| 901 r.appendf("Bind uniform location support: %s\n", (fBindUniformLocationSuppor
t ? "YES" : "NO")); | 907 r.appendf("Bind uniform location support: %s\n", (fBindUniformLocationSuppor
t ? "YES" : "NO")); |
| 902 r.appendf("External texture support: %s\n", (fExternalTextureSupport ? "YES"
: "NO")); | 908 r.appendf("External texture support: %s\n", (fExternalTextureSupport ? "YES"
: "NO")); |
| 909 r.appendf("Rectangle texture support: %s\n", (fRectangleTextureSupport? "YES
" : "NO")); |
| 903 r.appendf("Texture swizzle support: %s\n", (fTextureSwizzleSupport ? "YES" :
"NO")); | 910 r.appendf("Texture swizzle support: %s\n", (fTextureSwizzleSupport ? "YES" :
"NO")); |
| 904 | 911 |
| 905 r.append("Configs\n-------\n"); | 912 r.append("Configs\n-------\n"); |
| 906 for (int i = 0; i < kGrPixelConfigCnt; ++i) { | 913 for (int i = 0; i < kGrPixelConfigCnt; ++i) { |
| 907 r.appendf(" cfg: %d flags: 0x%04x, b_internal: 0x%08x s_internal: 0x%08
x, e_format: " | 914 r.appendf(" cfg: %d flags: 0x%04x, b_internal: 0x%08x s_internal: 0x%08
x, e_format: " |
| 908 "0x%08x, e_format_teximage: 0x%08x, e_type: 0x%08x, i_for_texi
mage: 0x%08x, " | 915 "0x%08x, e_format_teximage: 0x%08x, e_type: 0x%08x, i_for_texi
mage: 0x%08x, " |
| 909 "i_for_renderbuffer: 0x%08x\n", | 916 "i_for_renderbuffer: 0x%08x\n", |
| 910 i, | 917 i, |
| 911 fConfigTable[i].fFlags, | 918 fConfigTable[i].fFlags, |
| 912 fConfigTable[i].fFormats.fBaseInternalFormat, | 919 fConfigTable[i].fFormats.fBaseInternalFormat, |
| (...skipping 685 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1598 for (int j = 0; j < kExternalFormatUsageCnt; ++j) { | 1605 for (int j = 0; j < kExternalFormatUsageCnt; ++j) { |
| 1599 SkASSERT(defaultEntry.fFormats.fExternalFormat[j] != | 1606 SkASSERT(defaultEntry.fFormats.fExternalFormat[j] != |
| 1600 fConfigTable[i].fFormats.fExternalFormat[j]); | 1607 fConfigTable[i].fFormats.fExternalFormat[j]); |
| 1601 } | 1608 } |
| 1602 SkASSERT(defaultEntry.fFormats.fExternalType != fConfigTable[i].fFormats
.fExternalType); | 1609 SkASSERT(defaultEntry.fFormats.fExternalType != fConfigTable[i].fFormats
.fExternalType); |
| 1603 } | 1610 } |
| 1604 #endif | 1611 #endif |
| 1605 } | 1612 } |
| 1606 | 1613 |
| 1607 void GrGLCaps::onApplyOptionsOverrides(const GrContextOptions& options) {} | 1614 void GrGLCaps::onApplyOptionsOverrides(const GrContextOptions& options) {} |
| OLD | NEW |