Commit 49f9a20d by Geoff Lang

Add TransformFeedback object.

Change-Id: I1f836575824ff9df17fe3832997f06acc7464746 Reviewed-on: https://chromium-review.googlesource.com/185032Reviewed-by: 's avatarShannon Woods <shannonwoods@chromium.org> Tested-by: 's avatarGeoff Lang <geofflang@chromium.org>
parent 1cd1b213
...@@ -135,6 +135,7 @@ ...@@ -135,6 +135,7 @@
<ClInclude Include="..\..\src\libGLESv2\Sampler.h"/> <ClInclude Include="..\..\src\libGLESv2\Sampler.h"/>
<ClInclude Include="..\..\src\libGLESv2\HandleAllocator.h"/> <ClInclude Include="..\..\src\libGLESv2\HandleAllocator.h"/>
<ClInclude Include="..\..\src\libGLESv2\precompiled.h"/> <ClInclude Include="..\..\src\libGLESv2\precompiled.h"/>
<ClInclude Include="..\..\src\libGLESv2\TransformFeedback.h"/>
<ClInclude Include="..\..\src\libGLESv2\Context.h"/> <ClInclude Include="..\..\src\libGLESv2\Context.h"/>
<ClInclude Include="..\..\src\libGLESv2\Query.h"/> <ClInclude Include="..\..\src\libGLESv2\Query.h"/>
<ClInclude Include="..\..\src\libGLESv2\ResourceManager.h"/> <ClInclude Include="..\..\src\libGLESv2\ResourceManager.h"/>
...@@ -294,6 +295,7 @@ ...@@ -294,6 +295,7 @@
<ClCompile Include="..\..\src\libGLESv2\RenderbufferProxySet.cpp"/> <ClCompile Include="..\..\src\libGLESv2\RenderbufferProxySet.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\Context.cpp"/> <ClCompile Include="..\..\src\libGLESv2\Context.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\Fence.cpp"/> <ClCompile Include="..\..\src\libGLESv2\Fence.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\TransformFeedback.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\ProgramBinary.cpp"/> <ClCompile Include="..\..\src\libGLESv2\ProgramBinary.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\validationES.cpp"/> <ClCompile Include="..\..\src\libGLESv2\validationES.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\Renderbuffer.cpp"/> <ClCompile Include="..\..\src\libGLESv2\Renderbuffer.cpp"/>
......
...@@ -111,6 +111,9 @@ ...@@ -111,6 +111,9 @@
<ClCompile Include="..\..\src\libGLESv2\formatutils.cpp"> <ClCompile Include="..\..\src\libGLESv2\formatutils.cpp">
<Filter>src\libGLESv2</Filter> <Filter>src\libGLESv2</Filter>
</ClCompile> </ClCompile>
<ClInclude Include="..\..\src\libGLESv2\TransformFeedback.h">
<Filter>libGLESv2</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\Context.h"> <ClInclude Include="..\..\src\libGLESv2\Context.h">
<Filter>src\libGLESv2</Filter> <Filter>src\libGLESv2</Filter>
</ClInclude> </ClInclude>
...@@ -135,6 +138,9 @@ ...@@ -135,6 +138,9 @@
<ClCompile Include="..\..\src\libGLESv2\Fence.cpp"> <ClCompile Include="..\..\src\libGLESv2\Fence.cpp">
<Filter>src\libGLESv2</Filter> <Filter>src\libGLESv2</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\src\libGLESv2\TransformFeedback.cpp">
<Filter>libGLESv2</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\ProgramBinary.h"> <ClInclude Include="..\..\src\libGLESv2\ProgramBinary.h">
<Filter>src\libGLESv2</Filter> <Filter>src\libGLESv2</Filter>
</ClInclude> </ClInclude>
......
//
// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
#include "libGLESv2/TransformFeedback.h"
namespace gl
{
TransformFeedback::TransformFeedback(GLuint id)
: RefCountObject(id),
mStarted(GL_FALSE),
mPrimitiveMode(GL_NONE),
mPaused(GL_FALSE)
{
}
TransformFeedback::~TransformFeedback()
{
}
void TransformFeedback::start(GLenum primitiveMode)
{
mStarted = GL_TRUE;
mPrimitiveMode = primitiveMode;
mPaused = GL_FALSE;
}
void TransformFeedback::stop()
{
mStarted = GL_FALSE;
mPrimitiveMode = GL_NONE;
mPaused = GL_FALSE;
}
GLboolean TransformFeedback::isStarted() const
{
return mStarted;
}
GLenum TransformFeedback::getDrawMode() const
{
return mPrimitiveMode;
}
void TransformFeedback::pause()
{
mPaused = GL_TRUE;
}
void TransformFeedback::resume()
{
mPaused = GL_FALSE;
}
GLboolean TransformFeedback::isPaused() const
{
return mPaused;
}
}
//
// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
#ifndef LIBGLESV2_TRANSFORM_FEEDBACK_H_
#define LIBGLESV2_TRANSFORM_FEEDBACK_H_
#include "common/angleutils.h"
#include "common/RefCountObject.h"
#define GL_APICALL
#include <GLES3/gl3.h>
#include <GLES2/gl2.h>
namespace gl
{
class TransformFeedback : public RefCountObject
{
public:
explicit TransformFeedback(GLuint id);
virtual ~TransformFeedback();
void start(GLenum primitiveMode);
void stop();
GLboolean isStarted() const;
GLenum getDrawMode() const;
void pause();
void resume();
GLboolean isPaused() const;
private:
DISALLOW_COPY_AND_ASSIGN(TransformFeedback);
GLboolean mStarted;
GLenum mPrimitiveMode;
GLboolean mPaused;
};
}
#endif // LIBGLESV2_TRANSFORM_FEEDBACK_H_
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment