#include "src/gpu/ganesh/gl/GrGLVertexArray.h"
#include "include/core/SkTypes.h"
#include "include/gpu/ganesh/gl/GrGLFunctions.h"
#include "include/gpu/ganesh/gl/GrGLInterface.h"
#include "src/core/SkSLTypeShared.h"
#include "src/gpu/ganesh/GrBuffer.h"
#include "src/gpu/ganesh/GrCaps.h"
#include "src/gpu/ganesh/GrCpuBuffer.h"
#include "src/gpu/ganesh/GrGpuBuffer.h"
#include "src/gpu/ganesh/GrShaderCaps.h"
#include "src/gpu/ganesh/gl/GrGLBuffer.h"
#include "src/gpu/ganesh/gl/GrGLDefines.h"
#include "src/gpu/ganesh/gl/GrGLGpu.h"
#include "src/gpu/ganesh/gl/GrGLUtil.h"
#include <cstdint>
struct AttribLayout { … };
static_assert …;
static AttribLayout attrib_layout(GrVertexAttribType type) { … }
void GrGLAttribArrayState::set(GrGLGpu* gpu,
int index,
const GrBuffer* vertexBuffer,
GrVertexAttribType cpuType,
SkSLType gpuType,
GrGLsizei stride,
size_t offsetInBytes,
int divisor) { … }
void GrGLAttribArrayState::enableVertexArrays(const GrGLGpu* gpu, int enabledCount,
GrPrimitiveRestart enablePrimitiveRestart) { … }
GrGLVertexArray::GrGLVertexArray(GrGLint id, int attribCount)
: … { … }
GrGLAttribArrayState* GrGLVertexArray::bind(GrGLGpu* gpu) { … }
GrGLAttribArrayState* GrGLVertexArray::bindWithIndexBuffer(GrGLGpu* gpu, const GrBuffer* ibuff) { … }
void GrGLVertexArray::invalidateCachedState() { … }