1// 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 13#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_ 46