summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/angle/src/libANGLE/ProgramPipeline.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/angle/src/libANGLE/ProgramPipeline.cpp')
-rw-r--r--src/3rdparty/angle/src/libANGLE/ProgramPipeline.cpp65
1 files changed, 65 insertions, 0 deletions
diff --git a/src/3rdparty/angle/src/libANGLE/ProgramPipeline.cpp b/src/3rdparty/angle/src/libANGLE/ProgramPipeline.cpp
new file mode 100644
index 0000000000..0445512090
--- /dev/null
+++ b/src/3rdparty/angle/src/libANGLE/ProgramPipeline.cpp
@@ -0,0 +1,65 @@
+//
+// Copyright (c) 2017 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.
+//
+
+// ProgramPipeline.cpp: Implements the gl::ProgramPipeline class.
+// Implements GL program pipeline objects and related functionality.
+// [OpenGL ES 3.1] section 7.4 page 105.
+
+#include "libANGLE/ProgramPipeline.h"
+
+#include "libANGLE/angletypes.h"
+#include "libANGLE/renderer/GLImplFactory.h"
+#include "libANGLE/renderer/ProgramPipelineImpl.h"
+
+namespace gl
+{
+
+ProgramPipelineState::ProgramPipelineState() : mLabel()
+{
+}
+
+ProgramPipelineState::~ProgramPipelineState()
+{
+}
+
+const std::string &ProgramPipelineState::getLabel() const
+{
+ return mLabel;
+}
+
+ProgramPipeline::ProgramPipeline(rx::GLImplFactory *factory, GLuint handle)
+ : RefCountObject(handle),
+ mProgramPipeline(factory->createProgramPipeline(mState))
+{
+ ASSERT(mProgramPipeline);
+}
+
+ProgramPipeline::~ProgramPipeline()
+{
+ mProgramPipeline.release();
+}
+
+Error ProgramPipeline::onDestroy(const Context *context)
+{
+ return NoError();
+}
+
+void ProgramPipeline::setLabel(const std::string &label)
+{
+ mState.mLabel = label;
+}
+
+const std::string &ProgramPipeline::getLabel() const
+{
+ return mState.mLabel;
+}
+
+rx::ProgramPipelineImpl *ProgramPipeline::getImplementation() const
+{
+ return mProgramPipeline.get();
+}
+
+} // namespace gl