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 1650 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1661 ctxInfo.hasExtension("GL_OES_texture_float")) { | 1661 ctxInfo.hasExtension("GL_OES_texture_float")) { |
1662 hasFPTextures = true; | 1662 hasFPTextures = true; |
1663 } | 1663 } |
1664 if (ctxInfo.hasExtension("GL_OES_texture_half_float_linear") && | 1664 if (ctxInfo.hasExtension("GL_OES_texture_half_float_linear") && |
1665 ctxInfo.hasExtension("GL_OES_texture_half_float")) { | 1665 ctxInfo.hasExtension("GL_OES_texture_half_float")) { |
1666 hasHalfFPTextures = true; | 1666 hasHalfFPTextures = true; |
1667 } | 1667 } |
1668 } | 1668 } |
1669 } | 1669 } |
1670 | 1670 |
1671 if (kANGLE_GrGLDriver == ctxInfo.driver()) { | |
1672 // ANGLE reports the wrong format for half-float (See http://anglebug.co
m/1478), but | |
1673 // validates creation against the correct format. Rather than work aroun
d those bugs, | |
1674 // just black-list support entirely for now. | |
1675 hasHalfFPTextures = false; | |
1676 } | |
1677 | |
1678 fConfigTable[kRGBA_float_GrPixelConfig].fFormats.fBaseInternalFormat = GR_GL
_RGBA; | 1671 fConfigTable[kRGBA_float_GrPixelConfig].fFormats.fBaseInternalFormat = GR_GL
_RGBA; |
1679 fConfigTable[kRGBA_float_GrPixelConfig].fFormats.fSizedInternalFormat = GR_G
L_RGBA32F; | 1672 fConfigTable[kRGBA_float_GrPixelConfig].fFormats.fSizedInternalFormat = GR_G
L_RGBA32F; |
1680 fConfigTable[kRGBA_float_GrPixelConfig].fFormats.fExternalFormat[kOther_Exte
rnalFormatUsage] = | 1673 fConfigTable[kRGBA_float_GrPixelConfig].fFormats.fExternalFormat[kOther_Exte
rnalFormatUsage] = |
1681 GR_GL_RGBA; | 1674 GR_GL_RGBA; |
1682 fConfigTable[kRGBA_float_GrPixelConfig].fFormats.fExternalType = GR_GL_FLOAT
; | 1675 fConfigTable[kRGBA_float_GrPixelConfig].fFormats.fExternalType = GR_GL_FLOAT
; |
1683 fConfigTable[kRGBA_float_GrPixelConfig].fFormatType = kFloat_FormatType; | 1676 fConfigTable[kRGBA_float_GrPixelConfig].fFormatType = kFloat_FormatType; |
1684 if (hasFPTextures) { | 1677 if (hasFPTextures) { |
1685 fConfigTable[kRGBA_float_GrPixelConfig].fFlags = ConfigInfo::kTextureabl
e_Flag; | 1678 fConfigTable[kRGBA_float_GrPixelConfig].fFlags = ConfigInfo::kTextureabl
e_Flag; |
1686 // For now we only enable rendering to float on desktop, because on ES w
e'd have to solve | 1679 // For now we only enable rendering to float on desktop, because on ES w
e'd have to solve |
1687 // many precision issues and no clients actually want this yet. | 1680 // many precision issues and no clients actually want this yet. |
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1961 void GrGLCaps::onApplyOptionsOverrides(const GrContextOptions& options) { | 1954 void GrGLCaps::onApplyOptionsOverrides(const GrContextOptions& options) { |
1962 if (options.fEnableInstancedRendering) { | 1955 if (options.fEnableInstancedRendering) { |
1963 fInstancedSupport = gr_instanced::GLInstancedRendering::CheckSupport(*th
is); | 1956 fInstancedSupport = gr_instanced::GLInstancedRendering::CheckSupport(*th
is); |
1964 #ifndef SK_BUILD_FOR_MAC | 1957 #ifndef SK_BUILD_FOR_MAC |
1965 // OS X doesn't seem to write correctly to floating point textures when
using | 1958 // OS X doesn't seem to write correctly to floating point textures when
using |
1966 // glDraw*Indirect, regardless of the underlying GPU. | 1959 // glDraw*Indirect, regardless of the underlying GPU. |
1967 fAvoidInstancedDrawsToFPTargets = true; | 1960 fAvoidInstancedDrawsToFPTargets = true; |
1968 #endif | 1961 #endif |
1969 } | 1962 } |
1970 } | 1963 } |
OLD | NEW |