summaryrefslogtreecommitdiff
path: root/src/mbgl/gfx/context.hpp
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2019-04-02 14:11:37 +0200
committerKonstantin Käfer <mail@kkaefer.com>2019-05-28 16:11:05 +0200
commit7f9274035bad30980e03574c315904ab7a85fe83 (patch)
tree7b9cd0f2e2883d6da22611eaa68fae07bb7245b6 /src/mbgl/gfx/context.hpp
parent33ee7e23de24bd3c076eafef819029cf45451d23 (diff)
downloadqtlocation-mapboxgl-7f9274035bad30980e03574c315904ab7a85fe83.tar.gz
[core] refactor program object creation
Diffstat (limited to 'src/mbgl/gfx/context.hpp')
-rw-r--r--src/mbgl/gfx/context.hpp14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/mbgl/gfx/context.hpp b/src/mbgl/gfx/context.hpp
index 118df30a26..53cd318642 100644
--- a/src/mbgl/gfx/context.hpp
+++ b/src/mbgl/gfx/context.hpp
@@ -1,5 +1,6 @@
#pragma once
+#include <mbgl/gfx/backend.hpp>
#include <mbgl/gfx/renderbuffer.hpp>
#include <mbgl/gfx/command_encoder.hpp>
#include <mbgl/gfx/draw_scope.hpp>
@@ -17,12 +18,11 @@ class OffscreenTexture;
class Context {
protected:
- Context(ContextType type_, uint32_t maximumVertexBindingCount_)
- : backend(type_), maximumVertexBindingCount(maximumVertexBindingCount_) {
+ Context(uint32_t maximumVertexBindingCount_)
+ : maximumVertexBindingCount(maximumVertexBindingCount_) {
}
public:
- const ContextType backend;
static constexpr const uint32_t minimumRequiredVertexBindingCount = 8;
const uint32_t maximumVertexBindingCount;
bool supportsHalfFloatTextures = false;
@@ -80,11 +80,9 @@ protected:
public:
template <typename Name>
- std::unique_ptr<Program<Name>> createProgram(const ProgramParameters&);
-
-private:
- template <typename Backend, typename Name>
- std::unique_ptr<Program<Name>> createProgram(const ProgramParameters&);
+ std::unique_ptr<Program<Name>> createProgram(const ProgramParameters& programParameters) {
+ return Backend::Create<Program<Name>, const ProgramParameters&>(programParameters);
+ }
public:
virtual std::unique_ptr<CommandEncoder> createCommandEncoder() = 0;