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

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

Issue 209433006: Add SkASSERT's to gl/Interface validate (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 6 years, 9 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/gpu/gl/GrGLInterface.cpp
diff --git a/src/gpu/gl/GrGLInterface.cpp b/src/gpu/gl/GrGLInterface.cpp
index 7cb6239a855473044b58ad9a0420941ef8662162..c0ff716d190c6e825f31e60111442eafedcfe0ca 100644
--- a/src/gpu/gl/GrGLInterface.cpp
+++ b/src/gpu/gl/GrGLInterface.cpp
@@ -116,14 +116,18 @@ GrGLInterface* GrGLInterface::NewClone(const GrGLInterface* interface) {
return clone;
}
+#define RETURN_FALSE_INTERFACE \
+ GrDebugCrash("GrGLInterface::validate() failed."); \
+ return false; \
+
bool GrGLInterface::validate() const {
if (kNone_GrGLStandard == fStandard) {
- return false;
+ RETURN_FALSE_INTERFACE
}
if (!fExtensions.isInitialized()) {
- return false;
+ RETURN_FALSE_INTERFACE
}
// functions that are always required
@@ -219,7 +223,7 @@ bool GrGLInterface::validate() const {
NULL == fFunctions.fGenFramebuffers ||
NULL == fFunctions.fGenRenderbuffers ||
NULL == fFunctions.fRenderbufferStorage) {
- return false;
+ RETURN_FALSE_INTERFACE
}
GrGLVersion glVer = GrGLGetVersion(this);
@@ -242,7 +246,7 @@ bool GrGLInterface::validate() const {
if (NULL == fFunctions.fStencilFuncSeparate ||
NULL == fFunctions.fStencilMaskSeparate ||
NULL == fFunctions.fStencilOpSeparate) {
- return false;
+ RETURN_FALSE_INTERFACE
}
} else if (kGL_GrGLStandard == fStandard) {
@@ -250,15 +254,15 @@ bool GrGLInterface::validate() const {
if (NULL == fFunctions.fStencilFuncSeparate ||
NULL == fFunctions.fStencilMaskSeparate ||
NULL == fFunctions.fStencilOpSeparate) {
- return false;
+ RETURN_FALSE_INTERFACE
}
}
if (glVer >= GR_GL_VER(3,0) && NULL == fFunctions.fBindFragDataLocation) {
- return false;
+ RETURN_FALSE_INTERFACE
}
if (glVer >= GR_GL_VER(2,0) || fExtensions.has("GL_ARB_draw_buffers")) {
if (NULL == fFunctions.fDrawBuffers) {
- return false;
+ RETURN_FALSE_INTERFACE
}
}
@@ -270,7 +274,7 @@ bool GrGLInterface::validate() const {
NULL == fFunctions.fGetQueryiv ||
NULL == fFunctions.fGetQueryObjectiv ||
NULL == fFunctions.fGetQueryObjectuiv) {
- return false;
+ RETURN_FALSE_INTERFACE
}
}
if (glVer >= GR_GL_VER(3,3) ||
@@ -278,12 +282,12 @@ bool GrGLInterface::validate() const {
fExtensions.has("GL_EXT_timer_query")) {
if (NULL == fFunctions.fGetQueryObjecti64v ||
NULL == fFunctions.fGetQueryObjectui64v) {
- return false;
+ RETURN_FALSE_INTERFACE
}
}
if (glVer >= GR_GL_VER(3,3) || fExtensions.has("GL_ARB_timer_query")) {
if (NULL == fFunctions.fQueryCounter) {
- return false;
+ RETURN_FALSE_INTERFACE
}
}
if (!isCoreProfile) {
@@ -292,7 +296,7 @@ bool GrGLInterface::validate() const {
NULL == fFunctions.fMatrixMode ||
NULL == fFunctions.fTexGenfv ||
NULL == fFunctions.fTexGeni) {
- return false;
+ RETURN_FALSE_INTERFACE
}
}
if (fExtensions.has("GL_NV_path_rendering")) {
@@ -345,7 +349,7 @@ bool GrGLInterface::validate() const {
NULL == fFunctions.fIsPointInStrokePath ||
NULL == fFunctions.fGetPathLength ||
NULL == fFunctions.fPointAlongPath) {
- return false;
+ RETURN_FALSE_INTERFACE
}
}
}
@@ -355,7 +359,7 @@ bool GrGLInterface::validate() const {
(glVer >= GR_GL_VER(1,3)) ||
fExtensions.has("GL_ARB_texture_compression")) {
if (NULL == fFunctions.fCompressedTexImage2D) {
- return false;
+ RETURN_FALSE_INTERFACE
}
}
@@ -364,7 +368,7 @@ bool GrGLInterface::validate() const {
(NULL == fFunctions.fGetTexLevelParameteriv ||
NULL == fFunctions.fDrawBuffer ||
NULL == fFunctions.fReadBuffer)) {
- return false;
+ RETURN_FALSE_INTERFACE
}
// GL_EXT_texture_storage is part of desktop 4.2
@@ -374,12 +378,12 @@ bool GrGLInterface::validate() const {
fExtensions.has("GL_ARB_texture_storage") ||
fExtensions.has("GL_EXT_texture_storage")) {
if (NULL == fFunctions.fTexStorage2D) {
- return false;
+ RETURN_FALSE_INTERFACE
}
}
} else if (glVer >= GR_GL_VER(3,0) || fExtensions.has("GL_EXT_texture_storage")) {
if (NULL == fFunctions.fTexStorage2D) {
- return false;
+ RETURN_FALSE_INTERFACE
}
}
@@ -387,7 +391,7 @@ bool GrGLInterface::validate() const {
// FIXME: Remove this once Chromium is updated to provide this function
#if 0
if (NULL == fFunctions.fDiscardFramebuffer) {
- return false;
+ RETURN_FALSE_INTERFACE
}
#endif
}
@@ -398,36 +402,36 @@ bool GrGLInterface::validate() const {
if (glVer >= GR_GL_VER(3,0) || fExtensions.has("GL_ARB_framebuffer_object")) {
if (NULL == fFunctions.fRenderbufferStorageMultisample ||
NULL == fFunctions.fBlitFramebuffer) {
- return false;
+ RETURN_FALSE_INTERFACE
}
} else {
if (fExtensions.has("GL_EXT_framebuffer_blit") &&
NULL == fFunctions.fBlitFramebuffer) {
- return false;
+ RETURN_FALSE_INTERFACE
}
if (fExtensions.has("GL_EXT_framebuffer_multisample") &&
NULL == fFunctions.fRenderbufferStorageMultisample) {
- return false;
+ RETURN_FALSE_INTERFACE
}
}
} else {
if (glVer >= GR_GL_VER(3,0) || fExtensions.has("GL_CHROMIUM_framebuffer_multisample")) {
if (NULL == fFunctions.fRenderbufferStorageMultisample ||
NULL == fFunctions.fBlitFramebuffer) {
- return false;
+ RETURN_FALSE_INTERFACE
}
}
if (fExtensions.has("GL_APPLE_framebuffer_multisample")) {
if (NULL == fFunctions.fRenderbufferStorageMultisampleES2APPLE ||
NULL == fFunctions.fResolveMultisampleFramebuffer) {
- return false;
+ RETURN_FALSE_INTERFACE
}
}
if (fExtensions.has("GL_IMG_multisampled_render_to_texture") ||
fExtensions.has("GL_EXT_multisampled_render_to_texture")) {
if (NULL == fFunctions.fRenderbufferStorageMultisampleES2EXT ||
NULL == fFunctions.fFramebufferTexture2DMultisample) {
- return false;
+ RETURN_FALSE_INTERFACE
}
}
}
@@ -438,7 +442,7 @@ bool GrGLInterface::validate() const {
if (kGL_GrGLStandard == fStandard || fExtensions.has("GL_OES_mapbuffer")) {
if (NULL == fFunctions.fMapBuffer ||
NULL == fFunctions.fUnmapBuffer) {
- return false;
+ RETURN_FALSE_INTERFACE
}
}
@@ -446,14 +450,14 @@ bool GrGLInterface::validate() const {
if (kGL_GrGLStandard == fStandard &&
(glVer >= GR_GL_VER(3,3) || fExtensions.has("GL_ARB_blend_func_extended"))) {
if (NULL == fFunctions.fBindFragDataLocationIndexed) {
- return false;
+ RETURN_FALSE_INTERFACE
}
}
// glGetStringi was added in version 3.0 of both desktop and ES.
if (glVer >= GR_GL_VER(3, 0)) {
if (NULL == fFunctions.fGetStringi) {
- return false;
+ RETURN_FALSE_INTERFACE
}
}
@@ -462,7 +466,7 @@ bool GrGLInterface::validate() const {
if (NULL == fFunctions.fBindVertexArray ||
NULL == fFunctions.fDeleteVertexArrays ||
NULL == fFunctions.fGenVertexArrays) {
- return false;
+ RETURN_FALSE_INTERFACE
}
}
} else {
@@ -470,7 +474,7 @@ bool GrGLInterface::validate() const {
if (NULL == fFunctions.fBindVertexArray ||
NULL == fFunctions.fDeleteVertexArrays ||
NULL == fFunctions.fGenVertexArrays) {
- return false;
+ RETURN_FALSE_INTERFACE
}
}
}
@@ -480,7 +484,7 @@ bool GrGLInterface::validate() const {
if (NULL == fFunctions.fInsertEventMarker ||
NULL == fFunctions.fPushGroupMarker ||
NULL == fFunctions.fPopGroupMarker) {
- return false;
+ RETURN_FALSE_INTERFACE
}
}
#endif
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698