8#ifndef GrGLVertexArray_DEFINED
9#define GrGLVertexArray_DEFINED
60 fAttribArrayStates[
i].invalidate();
62 fEnableStateIsValid =
false;
68 int count()
const {
return fAttribArrayStates.
size(); }
71 inline static constexpr int kInvalidDivisor = -1;
76 struct AttribArrayState {
78 fVertexBufferUniqueID.makeInvalid();
79 fDivisor = kInvalidDivisor;
80 fUsingCpuBuffer =
false;
93 int fNumEnabledArrays;
95 bool fEnableStateIsValid =
false;
void resize(int newCount)
GrGLAttribArrayState(int arrayCount=0)
void set(GrGLGpu *, int attribIndex, const GrBuffer *vertexBuffer, GrVertexAttribType cpuType, SkSLType gpuType, GrGLsizei stride, size_t offsetInBytes, int divisor=0)
void enableVertexArrays(const GrGLGpu *, int enabledCount, GrPrimitiveRestart=GrPrimitiveRestart::kNo)
GrGLVertexArray(GrGLint id, int attribCount)
GrGLAttribArrayState * bind(GrGLGpu *)
void invalidateCachedState()
GrGLAttribArrayState * bindWithIndexBuffer(GrGLGpu *gpu, const GrBuffer *indexBuffer)
void resize_back(int newCount)