summaryrefslogtreecommitdiff
path: root/src/mbgl/gfx
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2019-03-21 12:43:22 +0100
committerKonstantin Käfer <mail@kkaefer.com>2019-04-05 11:49:17 +0200
commit543b678982037595895a474f3a69348dc235e0fa (patch)
tree404902164dd27e409515de5fcf9a43fe81231686 /src/mbgl/gfx
parent5270b2ffbd4fca75f93e7052bd928ebed3ea272a (diff)
downloadqtlocation-mapboxgl-543b678982037595895a474f3a69348dc235e0fa.tar.gz
[core] introduce CommandEncoder object
Diffstat (limited to 'src/mbgl/gfx')
-rw-r--r--src/mbgl/gfx/command_encoder.hpp17
-rw-r--r--src/mbgl/gfx/context.hpp4
2 files changed, 21 insertions, 0 deletions
diff --git a/src/mbgl/gfx/command_encoder.hpp b/src/mbgl/gfx/command_encoder.hpp
new file mode 100644
index 0000000000..3f996bb701
--- /dev/null
+++ b/src/mbgl/gfx/command_encoder.hpp
@@ -0,0 +1,17 @@
+#pragma once
+
+namespace mbgl {
+namespace gfx {
+
+class CommandEncoder {
+protected:
+ explicit CommandEncoder() = default;
+
+public:
+ virtual ~CommandEncoder() = default;
+ CommandEncoder(const CommandEncoder&) = delete;
+ CommandEncoder& operator=(const CommandEncoder&) = delete;
+};
+
+} // namespace gfx
+} // namespace mbgl
diff --git a/src/mbgl/gfx/context.hpp b/src/mbgl/gfx/context.hpp
index fcce2d3070..06a59fd238 100644
--- a/src/mbgl/gfx/context.hpp
+++ b/src/mbgl/gfx/context.hpp
@@ -6,6 +6,7 @@
#include <mbgl/gfx/index_buffer.hpp>
#include <mbgl/gfx/texture.hpp>
#include <mbgl/gfx/renderbuffer.hpp>
+#include <mbgl/gfx/command_encoder.hpp>
#include <mbgl/gfx/draw_scope.hpp>
#include <mbgl/gfx/program.hpp>
#include <mbgl/gfx/types.hpp>
@@ -148,6 +149,9 @@ public:
private:
template <typename Backend, typename Name>
std::unique_ptr<Program<Name>> createProgram(const ProgramParameters&);
+
+public:
+ virtual std::unique_ptr<CommandEncoder> createCommandEncoder() = 0;
};
} // namespace gfx