From 867555b1c9ef51fec23ce77c682cf7d5b5a23c5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20K=C3=A4fer?= Date: Mon, 13 May 2019 17:13:31 -0700 Subject: [core] add gfx::UploadPass, split startRender into prepare and upload --- src/mbgl/gl/upload_pass.hpp | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/mbgl/gl/upload_pass.hpp (limited to 'src/mbgl/gl/upload_pass.hpp') diff --git a/src/mbgl/gl/upload_pass.hpp b/src/mbgl/gl/upload_pass.hpp new file mode 100644 index 0000000000..8b4f71b88d --- /dev/null +++ b/src/mbgl/gl/upload_pass.hpp @@ -0,0 +1,42 @@ +#pragma once + +#include + +namespace mbgl { +namespace gfx { + +class CommandEncoder; + +} // namespace gfx + +namespace gl { + +class CommandEncoder; +class Context; + +class UploadPass final : public gfx::UploadPass { +public: + UploadPass(gl::CommandEncoder&, const char* name); + +private: + void pushDebugGroup(const char* name) override; + void popDebugGroup() override; + +public: + std::unique_ptr createVertexBufferResource(const void* data, std::size_t size, const gfx::BufferUsageType) override; + void updateVertexBufferResource(gfx::VertexBufferResource&, const void* data, std::size_t size) override; + std::unique_ptr createIndexBufferResource(const void* data, std::size_t size, const gfx::BufferUsageType) override; + void updateIndexBufferResource(gfx::IndexBufferResource&, const void* data, std::size_t size) override; + +public: + std::unique_ptr createTextureResource(Size, const void* data, gfx::TexturePixelType, gfx::TextureChannelDataType) override; + void updateTextureResource(gfx::TextureResource&, Size, const void* data, gfx::TexturePixelType, gfx::TextureChannelDataType) override; + void updateTextureResourceSub(gfx::TextureResource&, const uint16_t xOffset, const uint16_t yOffset, Size, const void* data, gfx::TexturePixelType, gfx::TextureChannelDataType) override; + +private: + gl::CommandEncoder& commandEncoder; + const gfx::DebugGroup debugGroup; +}; + +} // namespace gl +} // namespace mbgl -- cgit v1.2.1