Index: src/gpu/gl/GrGLVertexArray.cpp |
diff --git a/src/gpu/gl/GrGLVertexArray.cpp b/src/gpu/gl/GrGLVertexArray.cpp |
index bb409c6acdbb1f73c14578aa997227e572abe186..e20dbb5fed94c779f00ef5e7760e9059ec15bd32 100644 |
--- a/src/gpu/gl/GrGLVertexArray.cpp |
+++ b/src/gpu/gl/GrGLVertexArray.cpp |
@@ -8,8 +8,6 @@ |
#include "GrGLVertexArray.h" |
#include "GrGLGpu.h" |
-#define GPUGL static_cast<GrGLGpu*>(this->getGpu()) |
-#define GL_CALL(X) GR_GL_CALL(GPUGL->glInterface(), X); |
void GrGLAttribArrayState::set(const GrGLGpu* gpu, |
int index, |
@@ -68,42 +66,27 @@ void GrGLAttribArrayState::disableUnusedArrays(const GrGLGpu* gpu, uint64_t used |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
-GrGLVertexArray::GrGLVertexArray(GrGLGpu* gpu, GrGLint id, int attribCount) |
- : INHERITED(gpu, kCached_LifeCycle) |
- , fID(id) |
+GrGLVertexArray::GrGLVertexArray(GrGLint id, int attribCount) |
+ : fID(id) |
, fAttribArrays(attribCount) |
, fIndexBufferIDIsValid(false) { |
- this->registerWithCache(); |
} |
-void GrGLVertexArray::onAbandon() { |
- fID = 0; |
- INHERITED::onAbandon(); |
-} |
- |
-void GrGLVertexArray::onRelease() { |
- if (0 != fID) { |
- GL_CALL(DeleteVertexArrays(1, &fID)); |
- GPUGL->notifyVertexArrayDelete(fID); |
- fID = 0; |
- } |
- INHERITED::onRelease(); |
-} |
- |
-GrGLAttribArrayState* GrGLVertexArray::bind() { |
+GrGLAttribArrayState* GrGLVertexArray::bind(GrGLGpu* gpu) { |
if (0 == fID) { |
return NULL; |
} |
- GPUGL->bindVertexArray(fID); |
+ gpu->bindVertexArray(fID); |
return &fAttribArrays; |
} |
-GrGLAttribArrayState* GrGLVertexArray::bindWithIndexBuffer(const GrGLIndexBuffer* buffer) { |
- GrGLAttribArrayState* state = this->bind(); |
+GrGLAttribArrayState* GrGLVertexArray::bindWithIndexBuffer(GrGLGpu* gpu, |
+ const GrGLIndexBuffer* buffer) { |
+ GrGLAttribArrayState* state = this->bind(gpu); |
if (state && buffer) { |
GrGLuint bufferID = buffer->bufferID(); |
- if (!fIndexBufferIDIsValid || bufferID != fIndexBufferID) { |
- GL_CALL(BindBuffer(GR_GL_ELEMENT_ARRAY_BUFFER, bufferID)); |
+ if (!fIndexBufferIDIsValid || bufferID != fIndexBufferID) { |
+ GR_GL_CALL(gpu->glInterface(), BindBuffer(GR_GL_ELEMENT_ARRAY_BUFFER, bufferID)); |
fIndexBufferIDIsValid = true; |
fIndexBufferID = bufferID; |
} |