aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/gl/debug/GrDebugGL.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/gl/debug/GrDebugGL.h')
-rw-r--r--src/gpu/gl/debug/GrDebugGL.h167
1 files changed, 0 insertions, 167 deletions
diff --git a/src/gpu/gl/debug/GrDebugGL.h b/src/gpu/gl/debug/GrDebugGL.h
deleted file mode 100644
index 2560879b4f..0000000000
--- a/src/gpu/gl/debug/GrDebugGL.h
+++ /dev/null
@@ -1,167 +0,0 @@
-
-/*
- * 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 GrDebugGL_DEFINED
-#define GrDebugGL_DEFINED
-
-#include "SkTArray.h"
-#include "gl/GrGLInterface.h"
-
-class GrBufferObj;
-class GrFakeRefObj;
-class GrFrameBufferObj;
-class GrProgramObj;
-class GrRenderBufferObj;
-class GrTextureObj;
-class GrTextureUnitObj;
-class GrVertexArrayObj;
-
-////////////////////////////////////////////////////////////////////////////////
-// This is the main debugging object. It is a singleton and keeps track of
-// all the other debug objects.
-class GrDebugGL {
-public:
- enum GrObjTypes {
- kTexture_ObjTypes = 0,
- kBuffer_ObjTypes,
- kRenderBuffer_ObjTypes,
- kFrameBuffer_ObjTypes,
- kShader_ObjTypes,
- kProgram_ObjTypes,
- kTextureUnit_ObjTypes,
- kVertexArray_ObjTypes,
- kObjTypeCount
- };
-
- GrFakeRefObj *createObj(GrObjTypes type) {
- GrFakeRefObj *temp = (*gFactoryFunc[type])();
-
- fObjects.push_back(temp);
-
- return temp;
- }
-
- GrFakeRefObj *findObject(GrGLuint ID, GrObjTypes type);
-
- GrGLuint getMaxTextureUnits() const { return kDefaultMaxTextureUnits; }
-
- void setCurTextureUnit(GrGLuint curTextureUnit) { fCurTextureUnit = curTextureUnit; }
- GrGLuint getCurTextureUnit() const { return fCurTextureUnit; }
-
- GrTextureUnitObj *getTextureUnit(int iUnit) {
- GrAlwaysAssert(0 <= iUnit && kDefaultMaxTextureUnits > iUnit);
-
- return fTextureUnits[iUnit];
- }
-
- void setArrayBuffer(GrBufferObj *arrayBuffer);
- GrBufferObj *getArrayBuffer() { return fArrayBuffer; }
-
- void setElementArrayBuffer(GrBufferObj *elementArrayBuffer);
- GrBufferObj *getElementArrayBuffer() { return fElementArrayBuffer; }
-
- void setVertexArray(GrVertexArrayObj* vertexArray);
- GrVertexArrayObj* getVertexArray() { return fVertexArray; }
-
- void setTexture(GrTextureObj *texture);
-
- void setFrameBuffer(GrFrameBufferObj *frameBuffer);
- GrFrameBufferObj *getFrameBuffer() { return fFrameBuffer; }
-
- void setRenderBuffer(GrRenderBufferObj *renderBuffer);
- GrRenderBufferObj *getRenderBuffer() { return fRenderBuffer; }
-
- void useProgram(GrProgramObj *program);
-
- void setPackRowLength(GrGLint packRowLength) {
- fPackRowLength = packRowLength;
- }
- GrGLint getPackRowLength() const { return fPackRowLength; }
-
- void setUnPackRowLength(GrGLint unPackRowLength) {
- fUnPackRowLength = unPackRowLength;
- }
- GrGLint getUnPackRowLength() const { return fUnPackRowLength; }
-
- static GrDebugGL *getInstance() {
- // someone should admit to actually using this class
- SkASSERT(0 < gStaticRefCount);
-
- if (nullptr == gObj) {
- gObj = new GrDebugGL;
- }
-
- return gObj;
- }
-
- void report() const;
-
- static void staticRef() {
- gStaticRefCount++;
- }
-
- static void staticUnRef() {
- SkASSERT(gStaticRefCount > 0);
- gStaticRefCount--;
- if (0 == gStaticRefCount) {
- delete gObj;
- gObj = nullptr;
- }
- }
-
- static void abandon() {
- SkASSERT(gStaticRefCount > 0);
- gObj->fAbandoned = true;
- }
-
-protected:
-
-private:
- // the OpenGLES 2.0 spec says this must be >= 2
- static const GrGLint kDefaultMaxTextureUnits = 8;
-
- GrGLint fPackRowLength;
- GrGLint fUnPackRowLength;
- GrGLuint fCurTextureUnit;
- GrBufferObj* fArrayBuffer;
- GrBufferObj* fElementArrayBuffer;
- GrFrameBufferObj* fFrameBuffer;
- GrRenderBufferObj* fRenderBuffer;
- GrProgramObj* fProgram;
- GrTextureObj* fTexture;
- GrTextureUnitObj *fTextureUnits[kDefaultMaxTextureUnits];
- GrVertexArrayObj *fVertexArray;
-
- bool fAbandoned;
-
- typedef GrFakeRefObj *(*Create)();
-
- static Create gFactoryFunc[kObjTypeCount];
-
- static GrDebugGL* gObj;
- static int gStaticRefCount;
-
- // global store of all objects
- SkTArray<GrFakeRefObj *> fObjects;
-
- GrDebugGL();
- ~GrDebugGL();
-};
-
-////////////////////////////////////////////////////////////////////////////////
-// Helper macro to make creating an object (where you need to get back a derived
-// type) easier
-#define GR_CREATE(className, classEnum) \
- reinterpret_cast<className *>(GrDebugGL::getInstance()->createObj(classEnum))
-
-////////////////////////////////////////////////////////////////////////////////
-// Helper macro to make finding objects less painful
-#define GR_FIND(id, className, classEnum) \
- reinterpret_cast<className *>(GrDebugGL::getInstance()->findObject(id, classEnum))
-
-#endif // GrDebugGL_DEFINED