blob: 93f34e41ecd73f50be3b8b60441b8b0f3e678ca4 [file] [log] [blame]
Brandon Jones5bf98292014-06-06 17:19:38 -07001//
2// Copyright 2014 The ANGLE Project Authors. All rights reserved.
3// Use of this source code is governed by a BSD-style license that can be
4// found in the LICENSE file.
5//
6
7// VertexAttribImpl.h: Defines the abstract rx::VertexAttribImpl class.
8
9#ifndef LIBGLESV2_RENDERER_VERTEXARRAYIMPL_H_
10#define LIBGLESV2_RENDERER_VERTEXARRAYIMPL_H_
11
12#include "common/angleutils.h"
13#include "libGLESv2/Buffer.h"
14#include "libGLESv2/VertexAttribute.h"
15
16namespace rx
17{
18
19class VertexArrayImpl
20{
21 public:
22 virtual void setElementArrayBuffer(const gl::Buffer *buffer) = 0;
23 virtual void setAttribute(size_t idx, const gl::VertexAttribute &attr) = 0;
24 virtual void setAttributeDivisor(size_t idx, GLuint divisor) = 0;
25 virtual void enableAttribute(size_t idx, bool enabledState) = 0;
26};
27
28}
29
30#endif // LIBGLESV2_RENDERER_VERTEXARRAYIMPL_H_