| 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 359 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 370 fMapBufferType = kMapBufferRange_MapBufferType; | 370 fMapBufferType = kMapBufferRange_MapBufferType; |
| 371 } else if (ctxInfo.hasExtension("GL_OES_mapbuffer")) { | 371 } else if (ctxInfo.hasExtension("GL_OES_mapbuffer")) { |
| 372 fMapBufferFlags = kCanMap_MapFlag; | 372 fMapBufferFlags = kCanMap_MapFlag; |
| 373 fMapBufferType = kMapBuffer_MapBufferType; | 373 fMapBufferType = kMapBuffer_MapBufferType; |
| 374 } | 374 } |
| 375 } | 375 } |
| 376 | 376 |
| 377 // On many GPUs, map memory is very expensive, so we effectively disable it
here by setting the | 377 // On many GPUs, map memory is very expensive, so we effectively disable it
here by setting the |
| 378 // threshold to the maximum unless the client gives us a hint that map memor
y is cheap. | 378 // threshold to the maximum unless the client gives us a hint that map memor
y is cheap. |
| 379 if (fGeometryBufferMapThreshold < 0) { | 379 if (fGeometryBufferMapThreshold < 0) { |
| 380 // We think mapping on Chromium will be cheaper once we know ahead of ti
me how much space |
| 381 // we will use for all GrBatchs. Right now we might wind up mapping a la
rge buffer and using |
| 382 // a small subset. |
| 383 #if 0 |
| 380 fGeometryBufferMapThreshold = kChromium_GrGLDriver == ctxInfo.driver() ?
0 : SK_MaxS32; | 384 fGeometryBufferMapThreshold = kChromium_GrGLDriver == ctxInfo.driver() ?
0 : SK_MaxS32; |
| 385 #else |
| 386 fGeometryBufferMapThreshold = SK_MaxS32; |
| 387 #endif |
| 381 } | 388 } |
| 382 | 389 |
| 383 if (kGL_GrGLStandard == standard) { | 390 if (kGL_GrGLStandard == standard) { |
| 384 SkASSERT(ctxInfo.version() >= GR_GL_VER(2,0) || | 391 SkASSERT(ctxInfo.version() >= GR_GL_VER(2,0) || |
| 385 ctxInfo.hasExtension("GL_ARB_texture_non_power_of_two")); | 392 ctxInfo.hasExtension("GL_ARB_texture_non_power_of_two")); |
| 386 fNPOTTextureTileSupport = true; | 393 fNPOTTextureTileSupport = true; |
| 387 fMipMapSupport = true; | 394 fMipMapSupport = true; |
| 388 } else { | 395 } else { |
| 389 // Unextended ES2 supports NPOT textures with clamp_to_edge and non-mip
filters only | 396 // Unextended ES2 supports NPOT textures with clamp_to_edge and non-mip
filters only |
| 390 // ES3 has no limitations. | 397 // ES3 has no limitations. |
| (...skipping 767 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1158 for (int p = 0; p < kGrSLPrecisionCount; ++p) { | 1165 for (int p = 0; p < kGrSLPrecisionCount; ++p) { |
| 1159 glslCaps->fFloatPrecisions[kGeometry_GrShaderType][p] = | 1166 glslCaps->fFloatPrecisions[kGeometry_GrShaderType][p] = |
| 1160 glslCaps->fFloatPrecisions[kVerte
x_GrShaderType][p]; | 1167 glslCaps->fFloatPrecisions[kVerte
x_GrShaderType][p]; |
| 1161 } | 1168 } |
| 1162 } | 1169 } |
| 1163 } | 1170 } |
| 1164 | 1171 |
| 1165 | 1172 |
| 1166 | 1173 |
| 1167 | 1174 |
| OLD | NEW |