diff options
author | 2012-03-19 14:42:13 +0000 | |
---|---|---|
committer | 2012-03-19 14:42:13 +0000 | |
commit | 0da3719050473344b6013fd7b614611984f20eff (patch) | |
tree | d3081e12ae3d4b6c884f9b7a700c2f740ce19b78 /include/gpu/gl | |
parent | 6c5ccd95f73661b07dd0a300c62c7da17cd6e55a (diff) |
Added debug GL Interface. This interface tracks various GL objects in order to find leaks & invalid accesses.
Core Review: http://codereview.appspot.com/5846049/
git-svn-id: http://skia.googlecode.com/svn/trunk@3426 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'include/gpu/gl')
-rw-r--r-- | include/gpu/gl/GrGLInterface.h | 10 | ||||
-rw-r--r-- | include/gpu/gl/SkDebugGLContext.h | 27 |
2 files changed, 35 insertions, 2 deletions
diff --git a/include/gpu/gl/GrGLInterface.h b/include/gpu/gl/GrGLInterface.h index 968afab0d4..0ff30344cd 100644 --- a/include/gpu/gl/GrGLInterface.h +++ b/include/gpu/gl/GrGLInterface.h @@ -71,8 +71,8 @@ GrGLSLVersion GrGLGetGLSLVersion(const GrGLInterface*); * also NULL GrContext creation will fail. * * The default interface is returned by GrGLDefaultInterface. This function's - * implementation is platform-specifc. Several have been provided, along with an - * implementation that simply returns NULL. It is implementation-specific + * implementation is platform-specific. Several have been provided, along with + * an implementation that simply returns NULL. It is implementation-specific * whether the same GrGLInterface is returned or whether a new one is created * at each call. Some platforms may not be able to use a single GrGLInterface * because extension function ptrs vary across contexts. Note that GrGLInterface @@ -107,6 +107,12 @@ const GrGLInterface* GrGLCreateMesaInterface(); */ const GrGLInterface* GrGLCreateNullInterface(); +/** + * Creates a debugging GrGLInterface that doesn't draw anything. Used for + * finding memory leaks and invalid memory accesses. + */ +const GrGLInterface* GrGLCreateDebugInterface(); + typedef unsigned int GrGLenum; typedef unsigned char GrGLboolean; typedef unsigned int GrGLbitfield; diff --git a/include/gpu/gl/SkDebugGLContext.h b/include/gpu/gl/SkDebugGLContext.h new file mode 100644 index 0000000000..c51f54c7e8 --- /dev/null +++ b/include/gpu/gl/SkDebugGLContext.h @@ -0,0 +1,27 @@ + +/* + * Copyright 2012 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ +#ifndef SkDebugGLContext_DEFINED +#define SkDebugGLContext_DEFINED + +#include "SkGLContext.h" + +class SkDebugGLContext : public SkGLContext { + +public: + SkDebugGLContext() {}; + + virtual void makeCurrent() const SK_OVERRIDE {}; + +protected: + virtual const GrGLInterface* createGLContext() SK_OVERRIDE; + + virtual void destroyGLContext() SK_OVERRIDE {}; +}; + +#endif + |