gfx/angle/src/libGLESv2/renderer/BufferStorage.h

branch
TOR_BUG_3246
changeset 7
129ffea94266
equal deleted inserted replaced
-1:000000000000 0:b6769f78084f
1 //
2 // Copyright (c) 2013 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 // BufferStorage.h Defines the abstract BufferStorage class.
8
9 #ifndef LIBGLESV2_RENDERER_BUFFERSTORAGE_H_
10 #define LIBGLESV2_RENDERER_BUFFERSTORAGE_H_
11
12 #include "common/angleutils.h"
13
14 namespace rx
15 {
16
17 class BufferStorage
18 {
19 public:
20 BufferStorage();
21 virtual ~BufferStorage();
22
23 // The data returned is only guaranteed valid until next non-const method.
24 virtual void *getData() = 0;
25 virtual void setData(const void* data, unsigned int size, unsigned int offset) = 0;
26 virtual void clear() = 0;
27 virtual unsigned int getSize() const = 0;
28 virtual bool supportsDirectBinding() const = 0;
29 virtual void markBufferUsage();
30 unsigned int getSerial() const;
31
32 protected:
33 void updateSerial();
34
35 private:
36 DISALLOW_COPY_AND_ASSIGN(BufferStorage);
37
38 unsigned int mSerial;
39 static unsigned int mNextSerial;
40 };
41
42 }
43
44 #endif // LIBGLESV2_RENDERER_BUFFERSTORAGE_H_

mercurial