diff options
Diffstat (limited to 'src/mbgl/renderer/render_static_data.cpp')
-rw-r--r-- | src/mbgl/renderer/render_static_data.cpp | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/mbgl/renderer/render_static_data.cpp b/src/mbgl/renderer/render_static_data.cpp index 0814d6341b..9090ef6579 100644 --- a/src/mbgl/renderer/render_static_data.cpp +++ b/src/mbgl/renderer/render_static_data.cpp @@ -1,5 +1,6 @@ #include <mbgl/renderer/render_static_data.hpp> #include <mbgl/gfx/context.hpp> +#include <mbgl/gfx/upload_pass.hpp> #include <mbgl/programs/program_parameters.hpp> namespace mbgl { @@ -49,12 +50,7 @@ static gfx::VertexVector<HeatmapTextureLayoutVertex> heatmapTextureVertices() { } RenderStaticData::RenderStaticData(gfx::Context& context, float pixelRatio, const optional<std::string>& programCacheDir) - : tileVertexBuffer(context.createVertexBuffer(tileVertices())), - rasterVertexBuffer(context.createVertexBuffer(rasterVertices())), - heatmapTextureVertexBuffer(context.createVertexBuffer(heatmapTextureVertices())), - quadTriangleIndexBuffer(context.createIndexBuffer(quadTriangleIndices())), - tileBorderIndexBuffer(context.createIndexBuffer(tileLineStripIndices())), - programs(context, ProgramParameters { pixelRatio, false, programCacheDir }) + : programs(context, ProgramParameters { pixelRatio, false, programCacheDir }) #ifndef NDEBUG , overdrawPrograms(context, ProgramParameters { pixelRatio, true, programCacheDir }) #endif @@ -65,4 +61,15 @@ RenderStaticData::RenderStaticData(gfx::Context& context, float pixelRatio, cons heatmapTextureSegments.emplace_back(0, 0, 4, 6); } +void RenderStaticData::upload(gfx::UploadPass& uploadPass) { + if (!uploaded) { + tileVertexBuffer = uploadPass.createVertexBuffer(tileVertices()); + rasterVertexBuffer = uploadPass.createVertexBuffer(rasterVertices()); + heatmapTextureVertexBuffer = uploadPass.createVertexBuffer(heatmapTextureVertices()); + quadTriangleIndexBuffer = uploadPass.createIndexBuffer(quadTriangleIndices()); + tileBorderIndexBuffer = uploadPass.createIndexBuffer(tileLineStripIndices()); + uploaded = true; + } +} + } // namespace mbgl |