forked from organicmaps/organicmaps
loadSkin always called on the same thread.
This commit is contained in:
parent
dd270e03c1
commit
800685af3f
10 changed files with 20 additions and 12 deletions
|
@ -55,8 +55,8 @@ DrawerYG::DrawerYG(params_t const & params)
|
|||
: m_visualScale(params.m_visualScale), m_threadID(params.m_threadID)
|
||||
{
|
||||
m_pScreen = shared_ptr<yg::gl::Screen>(new yg::gl::Screen(params));
|
||||
m_pSkin = shared_ptr<yg::Skin>(loadSkin(params.m_resourceManager,
|
||||
params.m_skinName));
|
||||
|
||||
m_pSkin = params.m_skin;
|
||||
m_pScreen->setSkin(m_pSkin);
|
||||
|
||||
if (m_pSkin)
|
||||
|
|
|
@ -97,8 +97,8 @@ public:
|
|||
struct Params : screen_t::Params
|
||||
{
|
||||
size_t m_threadID;
|
||||
string m_skinName;
|
||||
double m_visualScale;
|
||||
shared_ptr<yg::Skin> m_skin;
|
||||
Params();
|
||||
};
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include "render_policy_mt.hpp"
|
||||
|
||||
#include "../yg/internal/opengl.hpp"
|
||||
#include "../yg/skin.hpp"
|
||||
|
||||
#include "../platform/platform.hpp"
|
||||
|
||||
|
@ -120,7 +121,7 @@ RenderPolicyMT::RenderPolicyMT(RenderPolicy::Params const & p)
|
|||
dp.m_frameBuffer = make_shared_ptr(new yg::gl::FrameBuffer(p.m_useDefaultFB));
|
||||
dp.m_resourceManager = m_resourceManager;
|
||||
dp.m_glyphCacheID = m_resourceManager->guiThreadGlyphCacheID();
|
||||
dp.m_skinName = SkinName();
|
||||
dp.m_skin = make_shared_ptr(yg::loadSkin(m_resourceManager, SkinName()));
|
||||
dp.m_visualScale = VisualScale();
|
||||
dp.m_isSynchronized = false;
|
||||
dp.m_useGuiResources = true;
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#include "../platform/platform.hpp"
|
||||
|
||||
#include "../yg/internal/opengl.hpp"
|
||||
#include "../yg/skin.hpp"
|
||||
|
||||
#include "queued_renderer.hpp"
|
||||
#include "window_handle.hpp"
|
||||
|
@ -122,7 +123,7 @@ RenderPolicyST::RenderPolicyST(Params const & p)
|
|||
dp.m_frameBuffer = make_shared_ptr(new yg::gl::FrameBuffer(p.m_useDefaultFB));
|
||||
dp.m_resourceManager = m_resourceManager;
|
||||
dp.m_glyphCacheID = m_resourceManager->guiThreadGlyphCacheID();
|
||||
dp.m_skinName = SkinName();
|
||||
dp.m_skin = make_shared_ptr(yg::loadSkin(m_resourceManager, SkinName()));
|
||||
dp.m_visualScale = VisualScale();
|
||||
dp.m_isSynchronized = false;
|
||||
dp.m_useGuiResources = true;
|
||||
|
|
|
@ -266,7 +266,7 @@ void RenderQueueRoutine::Do()
|
|||
params.m_doPeriodicalUpdate = m_doPeriodicalUpdate;
|
||||
params.m_auxFrameBuffer = m_auxFrameBuffer;
|
||||
params.m_updateInterval = m_updateInterval;
|
||||
params.m_skinName = m_skinName;
|
||||
params.m_skin = make_shared_ptr(yg::loadSkin(m_resourceManager, m_skinName));
|
||||
params.m_visualScale = m_visualScale;
|
||||
params.m_threadID = 0;
|
||||
params.m_glyphCacheID = m_resourceManager->renderThreadGlyphCacheID(0);
|
||||
|
|
|
@ -100,7 +100,7 @@ SimpleRenderPolicy::SimpleRenderPolicy(Params const & p)
|
|||
dp.m_frameBuffer = make_shared_ptr(new yg::gl::FrameBuffer(p.m_useDefaultFB));
|
||||
dp.m_resourceManager = m_resourceManager;
|
||||
dp.m_glyphCacheID = m_resourceManager->guiThreadGlyphCacheID();
|
||||
dp.m_skinName = SkinName();
|
||||
dp.m_skin = make_shared_ptr(yg::loadSkin(m_resourceManager, SkinName()));
|
||||
dp.m_visualScale = VisualScale();
|
||||
dp.m_isSynchronized = true;
|
||||
|
||||
|
|
|
@ -1,13 +1,16 @@
|
|||
#include "test_render_policy.hpp"
|
||||
#include "events.hpp"
|
||||
#include "drawer_yg.hpp"
|
||||
#include "window_handle.hpp"
|
||||
|
||||
#include "../yg/base_texture.hpp"
|
||||
#include "../yg/internal/opengl.hpp"
|
||||
#include "../yg/utils.hpp"
|
||||
#include "../yg/skin.hpp"
|
||||
|
||||
#include "../geometry/screenbase.hpp"
|
||||
#include "../platform/platform.hpp"
|
||||
#include "window_handle.hpp"
|
||||
|
||||
#include "../indexer/scales.hpp"
|
||||
|
||||
TestRenderPolicy::TestRenderPolicy(Params const & p)
|
||||
|
@ -101,7 +104,7 @@ TestRenderPolicy::TestRenderPolicy(Params const & p)
|
|||
dp.m_frameBuffer = m_primaryFrameBuffer;
|
||||
dp.m_resourceManager = m_resourceManager;
|
||||
dp.m_glyphCacheID = m_resourceManager->guiThreadGlyphCacheID();
|
||||
dp.m_skinName = SkinName();
|
||||
dp.m_skin = make_shared_ptr(yg::loadSkin(m_resourceManager, SkinName()));
|
||||
dp.m_visualScale = VisualScale();
|
||||
dp.m_isSynchronized = true;
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#include "../yg/rendercontext.hpp"
|
||||
#include "../yg/base_texture.hpp"
|
||||
#include "../yg/packets_queue.hpp"
|
||||
#include "../yg/skin.hpp"
|
||||
|
||||
#include "../std/bind.hpp"
|
||||
|
||||
|
@ -56,11 +57,11 @@ TileRenderer::TileRenderer(
|
|||
params.m_glyphCacheID = m_resourceManager->renderThreadGlyphCacheID(i);
|
||||
params.m_threadID = i;
|
||||
params.m_visualScale = visualScale;
|
||||
params.m_skinName = m_skinName;
|
||||
if (packetsQueues != 0)
|
||||
params.m_renderQueue = packetsQueues[i];
|
||||
params.m_doUnbindRT = false;
|
||||
params.m_isSynchronized = false;
|
||||
params.m_skin = make_shared_ptr(yg::loadSkin(m_resourceManager, m_skinName));
|
||||
/* params.m_isDebugging = true;
|
||||
params.m_drawPathes = false ;
|
||||
params.m_drawAreas = false;
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#include "../platform/platform.hpp"
|
||||
|
||||
#include "../yg/internal/opengl.hpp"
|
||||
#include "../yg/skin.hpp"
|
||||
|
||||
#include "window_handle.hpp"
|
||||
#include "tile_renderer.hpp"
|
||||
|
@ -135,7 +136,7 @@ TilingRenderPolicyMT::TilingRenderPolicyMT(Params const & p)
|
|||
dp.m_frameBuffer = make_shared_ptr(new yg::gl::FrameBuffer(p.m_useDefaultFB));
|
||||
dp.m_resourceManager = m_resourceManager;
|
||||
dp.m_glyphCacheID = m_resourceManager->guiThreadGlyphCacheID();
|
||||
dp.m_skinName = SkinName();
|
||||
dp.m_skin = make_shared_ptr(yg::loadSkin(m_resourceManager, SkinName()));
|
||||
dp.m_visualScale = VisualScale();
|
||||
dp.m_useGuiResources = true;
|
||||
dp.m_isSynchronized = false;
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#include "../platform/platform.hpp"
|
||||
|
||||
#include "../yg/internal/opengl.hpp"
|
||||
#include "../yg/skin.hpp"
|
||||
|
||||
#include "window_handle.hpp"
|
||||
#include "queued_renderer.hpp"
|
||||
|
@ -148,7 +149,7 @@ TilingRenderPolicyST::TilingRenderPolicyST(Params const & p)
|
|||
dp.m_frameBuffer = make_shared_ptr(new yg::gl::FrameBuffer(p.m_useDefaultFB));
|
||||
dp.m_resourceManager = m_resourceManager;
|
||||
dp.m_glyphCacheID = m_resourceManager->guiThreadGlyphCacheID();
|
||||
dp.m_skinName = SkinName();
|
||||
dp.m_skin = make_shared_ptr(yg::loadSkin(m_resourceManager, SkinName()));
|
||||
dp.m_visualScale = VisualScale();
|
||||
dp.m_useGuiResources = true;
|
||||
dp.m_isSynchronized = false;
|
||||
|
|
Loading…
Add table
Reference in a new issue