diff options
Diffstat (limited to 'src/mbgl/gfx')
-rw-r--r-- | src/mbgl/gfx/context.hpp | 14 | ||||
-rw-r--r-- | src/mbgl/gfx/context_impl.hpp | 23 | ||||
-rw-r--r-- | src/mbgl/gfx/types.hpp | 4 |
3 files changed, 6 insertions, 35 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; diff --git a/src/mbgl/gfx/context_impl.hpp b/src/mbgl/gfx/context_impl.hpp deleted file mode 100644 index 0145535bb3..0000000000 --- a/src/mbgl/gfx/context_impl.hpp +++ /dev/null @@ -1,23 +0,0 @@ -#pragma once - -#include <mbgl/gfx/context.hpp> - -namespace mbgl { - -namespace gl { -class Context; -} // namespace gl - -namespace gfx { - -template <typename Name> -std::unique_ptr<Program<Name>> Context::createProgram(const ProgramParameters& programParameters) { - if (backend == ContextType::OpenGL) { - return createProgram<gl::Context, Name>(programParameters); - } - assert(false); - return nullptr; -} - -} // namespace gfx -} // namespace mbgl diff --git a/src/mbgl/gfx/types.hpp b/src/mbgl/gfx/types.hpp index 24209c5cc5..cafb2f3f84 100644 --- a/src/mbgl/gfx/types.hpp +++ b/src/mbgl/gfx/types.hpp @@ -5,10 +5,6 @@ namespace mbgl { namespace gfx { -enum class ContextType : uint8_t { - OpenGL, -}; - enum class PrimitiveType : uint8_t { Point, Line, |