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

Unified Diff: src/gpu/gl/GrGLInterface.cpp

Issue 1049143002: Add onGetBlendInfo to GrXferProcessor (Closed) Base URL: https://skia.googlesource.com/skia.git@upload_nvbea_tokens
Patch Set: rebase 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 side-by-side diff with in-line comments
Download patch
Index: src/gpu/gl/GrGLInterface.cpp
diff --git a/src/gpu/gl/GrGLInterface.cpp b/src/gpu/gl/GrGLInterface.cpp
index 2e3dd1f039b5bb178eb420680bb2bf6da9610327..89f1f9ba65cda6671eff1ee548483b9ecb8c85ee 100644
--- a/src/gpu/gl/GrGLInterface.cpp
+++ b/src/gpu/gl/GrGLInterface.cpp
@@ -114,8 +114,9 @@ bool GrGLInterface::validate() const {
NULL == fFunctions.fBindAttribLocation ||
NULL == fFunctions.fBindBuffer ||
NULL == fFunctions.fBindTexture ||
+ NULL == fFunctions.fBlendColor || // -> GL >= 1.4 or extension, ES >= 2.0
+ NULL == fFunctions.fBlendEquation || // -> GL >= 1.4 or extension, ES >= 2.0
NULL == fFunctions.fBlendFunc ||
- NULL == fFunctions.fBlendColor || // -> GL >= 1.4, ES >= 2.0 or extension
NULL == fFunctions.fBufferData ||
NULL == fFunctions.fBufferSubData ||
NULL == fFunctions.fClear ||
@@ -306,6 +307,28 @@ bool GrGLInterface::validate() const {
}
}
+ // glTextureBarrier is part of desktop 4.5. There are also ARB and NV extensions.
+ if (kGL_GrGLStandard == fStandard) {
+ if (glVer >= GR_GL_VER(4,5) ||
+ fExtensions.has("GL_ARB_texture_barrier") ||
+ fExtensions.has("GL_NV_texture_barrier")) {
+ if (NULL == fFunctions.fTextureBarrier) {
+ RETURN_FALSE_INTERFACE
+ }
+ }
+ } else if (fExtensions.has("GL_NV_texture_barrier")) {
+ if (NULL == fFunctions.fTextureBarrier) {
+ RETURN_FALSE_INTERFACE
+ }
+ }
+
+ if (fExtensions.has("GL_KHR_blend_equation_advanced") ||
+ fExtensions.has("GL_NV_blend_equation_advanced")) {
+ if (NULL == fFunctions.fBlendBarrier) {
+ RETURN_FALSE_INTERFACE
+ }
+ }
+
if (fExtensions.has("GL_EXT_discard_framebuffer")) {
// FIXME: Remove this once Chromium is updated to provide this function
#if 0

Powered by Google App Engine
This is Rietveld 408576698