Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/map
diff options
context:
space:
mode:
authorrachytski <siarhei.rachytski@gmail.com>2012-11-30 09:45:29 +0400
committerAlex Zolotarev <alex@maps.me>2015-09-23 01:47:40 +0300
commit25e5d82be10b70513484bc104b581e0f87683182 (patch)
treed75da19d8cde6610f7924e50a37506bdfa074ebf /map
parentbf20bd8216b507cb48d5bcb4471f3a79722ff62f (diff)
refactored RenderContext hierarchy.
Diffstat (limited to 'map')
-rw-r--r--map/coverage_generator.cpp4
-rw-r--r--map/coverage_generator.hpp4
-rw-r--r--map/framework.cpp4
-rw-r--r--map/qgl_render_context.cpp4
-rw-r--r--map/qgl_render_context.hpp4
-rw-r--r--map/render_policy.cpp4
-rw-r--r--map/render_policy.hpp9
-rw-r--r--map/tile_renderer.cpp4
-rw-r--r--map/tile_renderer.hpp6
-rw-r--r--map/window_handle.cpp4
-rw-r--r--map/window_handle.hpp11
11 files changed, 26 insertions, 32 deletions
diff --git a/map/coverage_generator.cpp b/map/coverage_generator.cpp
index 7779746527..a2f8c9d465 100644
--- a/map/coverage_generator.cpp
+++ b/map/coverage_generator.cpp
@@ -6,7 +6,7 @@
#include "tile_set.hpp"
#include "../graphics/skin.hpp"
-#include "../graphics/opengl/rendercontext.hpp"
+#include "../graphics/opengl/gl_render_context.hpp"
#include "../base/logging.hpp"
@@ -18,7 +18,7 @@ CoverageGenerator::CoverageGenerator(
string const & skinName,
TileRenderer * tileRenderer,
shared_ptr<WindowHandle> const & windowHandle,
- shared_ptr<graphics::gl::RenderContext> const & primaryRC,
+ shared_ptr<graphics::RenderContext> const & primaryRC,
shared_ptr<graphics::ResourceManager> const & rm,
graphics::PacketsQueue * glQueue,
RenderPolicy::TCountryNameFn countryNameFn)
diff --git a/map/coverage_generator.hpp b/map/coverage_generator.hpp
index b3b68b8e9f..3a89292d32 100644
--- a/map/coverage_generator.hpp
+++ b/map/coverage_generator.hpp
@@ -46,7 +46,7 @@ private:
TileRenderer * m_tileRenderer;
shared_ptr<graphics::ResourceManager> m_resourceManager;
- shared_ptr<graphics::gl::RenderContext> m_renderContext;
+ shared_ptr<graphics::RenderContext> m_renderContext;
ScreenCoverage * m_workCoverage;
ScreenCoverage * m_currentCoverage;
@@ -76,7 +76,7 @@ public:
CoverageGenerator(string const & skinName,
TileRenderer * tileRenderer,
shared_ptr<WindowHandle> const & windowHandle,
- shared_ptr<graphics::gl::RenderContext> const & primaryRC,
+ shared_ptr<graphics::RenderContext> const & primaryRC,
shared_ptr<graphics::ResourceManager> const & rm,
graphics::PacketsQueue * glQueue,
RenderPolicy::TCountryNameFn countryNameFn);
diff --git a/map/framework.cpp b/map/framework.cpp
index bd0dbce5fb..f9b53e3065 100644
--- a/map/framework.cpp
+++ b/map/framework.cpp
@@ -27,8 +27,6 @@
#include "../coding/internal/file_data.hpp"
-#include "../graphics/opengl/rendercontext.hpp"
-
#include "../geometry/angles.hpp"
#include "../geometry/distance_on_sphere.hpp"
@@ -1265,8 +1263,6 @@ void Framework::SetRenderPolicy(RenderPolicy * renderPolicy)
m_navigator.SetMinScreenParams(static_cast<unsigned>(m_minRulerWidth * renderPolicy->VisualScale()),
m_metresMinWidth);
-
- graphics::gl::RenderContext::initParams();
}
m_guiController->ResetRenderParams();
diff --git a/map/qgl_render_context.cpp b/map/qgl_render_context.cpp
index b666ec54a4..da9efd51b5 100644
--- a/map/qgl_render_context.cpp
+++ b/map/qgl_render_context.cpp
@@ -29,10 +29,10 @@ namespace qt
void RenderContext::makeCurrent()
{
m_context->makeCurrent();
- graphics::gl::RenderContext::initParams();
+ startThreadDrawing();
}
- shared_ptr<graphics::gl::RenderContext> RenderContext::createShared()
+ shared_ptr<graphics::RenderContext> RenderContext::createShared()
{
return shared_ptr<graphics::gl::RenderContext>(new RenderContext(this));
}
diff --git a/map/qgl_render_context.hpp b/map/qgl_render_context.hpp
index 0e091443a5..69faff2fa3 100644
--- a/map/qgl_render_context.hpp
+++ b/map/qgl_render_context.hpp
@@ -1,6 +1,6 @@
#pragma once
-#include "../graphics/opengl/rendercontext.hpp"
+#include "../graphics/opengl/gl_render_context.hpp"
#include "../std/shared_ptr.hpp"
@@ -30,7 +30,7 @@ namespace qt
/// Make this rendering context current
void makeCurrent();
- shared_ptr<graphics::gl::RenderContext> createShared();
+ shared_ptr<graphics::RenderContext> createShared();
/// Leave previous logic, but fix thread widget deletion error.
void endThreadDrawing();
diff --git a/map/render_policy.cpp b/map/render_policy.cpp
index 467662d556..d098ce0136 100644
--- a/map/render_policy.cpp
+++ b/map/render_policy.cpp
@@ -11,6 +11,7 @@
#include "../anim/task.hpp"
#include "../graphics/opengl/opengl.hpp"
+#include "../graphics/opengl/gl_render_context.hpp"
#include "../graphics/skin.hpp"
#include "../indexer/scales.hpp"
@@ -39,9 +40,12 @@ RenderPolicy::RenderPolicy(Params const & p,
{
LOG(LDEBUG, ("each BaseRule will hold up to", idCacheSize, "cached values"));
drule::rules().ResizeCaches(idCacheSize);
+
graphics::gl::InitExtensions();
graphics::gl::InitializeThread();
graphics::gl::CheckExtensionSupport();
+
+ m_primaryRC->startThreadDrawing();
}
void RenderPolicy::InitCacheScreen()
diff --git a/map/render_policy.hpp b/map/render_policy.hpp
index 34eed05765..0c4908967e 100644
--- a/map/render_policy.hpp
+++ b/map/render_policy.hpp
@@ -20,10 +20,7 @@ namespace anim
namespace graphics
{
- namespace gl
- {
- class RenderContext;
- }
+ class RenderContext;
class Skin;
class GlyphCache;
@@ -58,7 +55,7 @@ protected:
shared_ptr<graphics::ResourceManager> m_resourceManager;
shared_ptr<graphics::Skin> m_skin;
shared_ptr<graphics::Screen> m_cacheScreen;
- shared_ptr<graphics::gl::RenderContext> m_primaryRC;
+ shared_ptr<graphics::RenderContext> m_primaryRC;
shared_ptr<WindowHandle> m_windowHandle;
shared_ptr<Drawer> m_drawer;
TRenderFn m_renderFn;
@@ -82,7 +79,7 @@ public:
VideoTimer * m_videoTimer;
bool m_useDefaultFB;
graphics::ResourceManager::Params m_rmParams;
- shared_ptr<graphics::gl::RenderContext> m_primaryRC;
+ shared_ptr<graphics::RenderContext> m_primaryRC;
double m_visualScale;
string m_skinName;
size_t m_screenWidth;
diff --git a/map/tile_renderer.cpp b/map/tile_renderer.cpp
index 8367e6c118..991e56eb8b 100644
--- a/map/tile_renderer.cpp
+++ b/map/tile_renderer.cpp
@@ -4,7 +4,7 @@
#include "window_handle.hpp"
#include "../graphics/opengl/opengl.hpp"
-#include "../graphics/opengl/rendercontext.hpp"
+#include "../graphics/opengl/gl_render_context.hpp"
#include "../graphics/opengl/base_texture.hpp"
#include "../graphics/packets_queue.hpp"
@@ -24,7 +24,7 @@ TileRenderer::TileRenderer(
unsigned executorsCount,
graphics::Color const & bgColor,
RenderPolicy::TRenderFn const & renderFn,
- shared_ptr<graphics::gl::RenderContext> const & primaryRC,
+ shared_ptr<graphics::RenderContext> const & primaryRC,
shared_ptr<graphics::ResourceManager> const & rm,
double visualScale,
graphics::PacketsQueue ** packetsQueues
diff --git a/map/tile_renderer.hpp b/map/tile_renderer.hpp
index 96e6d97b3f..7dd47a040c 100644
--- a/map/tile_renderer.hpp
+++ b/map/tile_renderer.hpp
@@ -42,13 +42,13 @@ protected:
Drawer * m_drawer;
Drawer::Params m_drawerParams;
shared_ptr<graphics::gl::BaseTexture> m_dummyRT;
- shared_ptr<graphics::gl::RenderContext> m_renderContext;
+ shared_ptr<graphics::RenderContext> m_renderContext;
shared_ptr<graphics::gl::RenderBuffer> m_depthBuffer;
};
buffer_vector<ThreadData, 4> m_threadData;
- shared_ptr<graphics::gl::RenderContext> m_primaryContext;
+ shared_ptr<graphics::RenderContext> m_primaryContext;
TileCache m_tileCache;
@@ -88,7 +88,7 @@ public:
unsigned tasksCount,
graphics::Color const & bgColor,
RenderPolicy::TRenderFn const & renderFn,
- shared_ptr<graphics::gl::RenderContext> const & primaryRC,
+ shared_ptr<graphics::RenderContext> const & primaryRC,
shared_ptr<graphics::ResourceManager> const & rm,
double visualScale,
graphics::PacketsQueue ** packetsQueue);
diff --git a/map/window_handle.cpp b/map/window_handle.cpp
index df2a4c0a52..7650d91d91 100644
--- a/map/window_handle.cpp
+++ b/map/window_handle.cpp
@@ -71,12 +71,12 @@ void WindowHandle::setNeedRedraw(bool flag)
checkTimer();
}
-shared_ptr<graphics::gl::RenderContext> const & WindowHandle::renderContext()
+shared_ptr<graphics::RenderContext> const & WindowHandle::renderContext()
{
return m_renderContext;
}
-void WindowHandle::setRenderContext(shared_ptr<graphics::gl::RenderContext> const & renderContext)
+void WindowHandle::setRenderContext(shared_ptr<graphics::RenderContext> const & renderContext)
{
m_renderContext = renderContext;
}
diff --git a/map/window_handle.hpp b/map/window_handle.hpp
index c6e5e26a32..f2cb9c13b2 100644
--- a/map/window_handle.hpp
+++ b/map/window_handle.hpp
@@ -12,17 +12,14 @@
namespace graphics
{
- namespace gl
- {
- class RenderContext;
- }
+ class RenderContext;
}
class RenderPolicy;
class WindowHandle
{
- shared_ptr<graphics::gl::RenderContext> m_renderContext;
+ shared_ptr<graphics::RenderContext> m_renderContext;
RenderPolicy * m_renderPolicy;
bool m_hasPendingUpdates;
@@ -49,9 +46,9 @@ public:
void setNeedRedraw(bool flag);
- shared_ptr<graphics::gl::RenderContext> const & renderContext();
+ shared_ptr<graphics::RenderContext> const & renderContext();
- void setRenderContext(shared_ptr<graphics::gl::RenderContext> const & renderContext);
+ void setRenderContext(shared_ptr<graphics::RenderContext> const & renderContext);
bool setUpdatesEnabled(bool doEnable);