Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(58)

Side by Side Diff: src/gpu/gl/GrGLCaps.cpp

Issue 1037123003: Implement support for KHR_blend_equation_advanced (Closed) Base URL: https://skia.googlesource.com/skia.git@upload_zzz2_barriers
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698