blob: 183873c82ff9a989393c3e59bd7cbee55567f097 [file] [log] [blame]
Geoff Lang49f9a202014-02-03 11:58:11 -05001//
2// Copyright (c) 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#ifndef LIBGLESV2_TRANSFORM_FEEDBACK_H_
8#define LIBGLESV2_TRANSFORM_FEEDBACK_H_
9
10#include "common/angleutils.h"
11#include "common/RefCountObject.h"
12
Geoff Lang49f9a202014-02-03 11:58:11 -050013#include <GLES3/gl3.h>
14#include <GLES2/gl2.h>
15
16namespace gl
17{
18
19class TransformFeedback : public RefCountObject
20{
21 public:
22 explicit TransformFeedback(GLuint id);
23 virtual ~TransformFeedback();
24
25 void start(GLenum primitiveMode);
26 void stop();
27 GLboolean isStarted() const;
28
29 GLenum getDrawMode() const;
30
31 void pause();
32 void resume();
33 GLboolean isPaused() const;
34
35 private:
36 DISALLOW_COPY_AND_ASSIGN(TransformFeedback);
37
38 GLboolean mStarted;
39 GLenum mPrimitiveMode;
40 GLboolean mPaused;
41};
42
43}
44
45#endif // LIBGLESV2_TRANSFORM_FEEDBACK_H_