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 278 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
289 fTwoSidedStencilSupport = (ctxInfo.version() >= GR_GL_VER(2,0)); | 289 fTwoSidedStencilSupport = (ctxInfo.version() >= GR_GL_VER(2,0)); |
290 // supported on GL 1.4 and higher or by extension | 290 // supported on GL 1.4 and higher or by extension |
291 fStencilWrapOpsSupport = (ctxInfo.version() >= GR_GL_VER(1,4)) || | 291 fStencilWrapOpsSupport = (ctxInfo.version() >= GR_GL_VER(1,4)) || |
292 ctxInfo.hasExtension("GL_EXT_stencil_wrap"); | 292 ctxInfo.hasExtension("GL_EXT_stencil_wrap"); |
293 } else { | 293 } else { |
294 // ES 2 has two sided stencil and stencil wrap | 294 // ES 2 has two sided stencil and stencil wrap |
295 fTwoSidedStencilSupport = true; | 295 fTwoSidedStencilSupport = true; |
296 fStencilWrapOpsSupport = true; | 296 fStencilWrapOpsSupport = true; |
297 } | 297 } |
298 | 298 |
299 if (ctxInfo.hasExtension("GL_KHR_blend_equation_advanced_coherent")) { | |
Mark Kilgard
2015/04/03 18:30:04
can you also look for NV_blend_equation_advanced_c
Chris Dalton
2015/04/17 08:37:19
Done.
| |
300 fBlendEquationSupport = kAdvancedCoherent_BlendEquationSupport; | |
301 } else if (ctxInfo.hasExtension("GL_KHR_blend_equation_advanced")) { | |
302 fBlendEquationSupport = kAdvanced_BlendEquationSupport; | |
303 } else { | |
304 fBlendEquationSupport = kBasic_BlendEquationSupport; | |
305 } | |
306 | |
299 if (kGL_GrGLStandard == standard) { | 307 if (kGL_GrGLStandard == standard) { |
300 fMapBufferFlags = kCanMap_MapFlag; // we require VBO support and the des ktop VBO | 308 fMapBufferFlags = kCanMap_MapFlag; // we require VBO support and the des ktop VBO |
301 // extension includes glMapBuffer. | 309 // extension includes glMapBuffer. |
302 if (version >= GR_GL_VER(3, 0) || ctxInfo.hasExtension("GL_ARB_map_buffe r_range")) { | 310 if (version >= GR_GL_VER(3, 0) || ctxInfo.hasExtension("GL_ARB_map_buffe r_range")) { |
303 fMapBufferFlags |= kSubset_MapFlag; | 311 fMapBufferFlags |= kSubset_MapFlag; |
304 fMapBufferType = kMapBufferRange_MapBufferType; | 312 fMapBufferType = kMapBufferRange_MapBufferType; |
305 } else { | 313 } else { |
306 fMapBufferType = kMapBuffer_MapBufferType; | 314 fMapBufferType = kMapBuffer_MapBufferType; |
307 } | 315 } |
308 } else { | 316 } else { |
(...skipping 737 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1046 r.appendf("Two Format Limit: %s\n", (fTwoFormatLimit ? "YES": "NO")); | 1054 r.appendf("Two Format Limit: %s\n", (fTwoFormatLimit ? "YES": "NO")); |
1047 r.appendf("Fragment coord conventions support: %s\n", | 1055 r.appendf("Fragment coord conventions support: %s\n", |
1048 (fFragCoordsConventionSupport ? "YES": "NO")); | 1056 (fFragCoordsConventionSupport ? "YES": "NO")); |
1049 r.appendf("Vertex array object support: %s\n", (fVertexArrayObjectSupport ? "YES": "NO")); | 1057 r.appendf("Vertex array object support: %s\n", (fVertexArrayObjectSupport ? "YES": "NO")); |
1050 r.appendf("Use non-VBO for dynamic data: %s\n", | 1058 r.appendf("Use non-VBO for dynamic data: %s\n", |
1051 (fUseNonVBOVertexAndIndexDynamicData ? "YES" : "NO")); | 1059 (fUseNonVBOVertexAndIndexDynamicData ? "YES" : "NO")); |
1052 r.appendf("Full screen clear is free: %s\n", (fFullClearIsFree ? "YES" : "NO ")); | 1060 r.appendf("Full screen clear is free: %s\n", (fFullClearIsFree ? "YES" : "NO ")); |
1053 r.appendf("Drops tile on zero divide: %s\n", (fDropsTileOnZeroDivide ? "YES" : "NO")); | 1061 r.appendf("Drops tile on zero divide: %s\n", (fDropsTileOnZeroDivide ? "YES" : "NO")); |
1054 return r; | 1062 return r; |
1055 } | 1063 } |
OLD | NEW |