loadSkin always called on the same thread.

This commit is contained in:
rachytski 2012-06-27 19:14:36 -07:00 committed by Alex Zolotarev
parent dd270e03c1
commit 800685af3f
10 changed files with 20 additions and 12 deletions

View file

@ -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)

View file

@ -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();
};

View file

@ -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;

View file

@ -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;

View file

@ -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);

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;