removed TileRenderer::CancelThread. canceling all resource pools in destructor of TilingRenderPolicyXXX.

This commit is contained in:
rachytski 2012-02-01 19:22:04 +04:00 committed by Alex Zolotarev
parent 15fe403d24
commit 4ff8901bee
5 changed files with 11 additions and 7 deletions

View file

@ -71,7 +71,6 @@ TileRenderer::TileRenderer(
m_queue.AddInitCommand(bind(&TileRenderer::InitializeThreadGL, this, _1));
m_queue.AddFinCommand(bind(&TileRenderer::FinalizeThreadGL, this, _1));
m_queue.AddCancelCommand(bind(&TileRenderer::CancelThread, this, _1));
m_queue.Start();
}
@ -82,11 +81,6 @@ TileRenderer::~TileRenderer()
m_queue.Cancel();
}
void TileRenderer::CancelThread(core::CommandsQueue::Environment const & /*env*/)
{
m_resourceManager->renderTargetTextures()->Cancel();
}
void TileRenderer::InitializeThreadGL(core::CommandsQueue::Environment const & env)
{
ThreadData & threadData = m_threadData[env.threadNum()];

View file

@ -62,7 +62,6 @@ protected:
void InitializeThreadGL(core::CommandsQueue::Environment const & env);
void FinalizeThreadGL(core::CommandsQueue::Environment const & env);
void CancelThread(core::CommandsQueue::Environment const & env);
protected:

View file

@ -145,6 +145,12 @@ TilingRenderPolicyMT::TilingRenderPolicyMT(VideoTimer * videoTimer,
m_windowHandle->setRenderContext(primaryRC);
}
TilingRenderPolicyMT::~TilingRenderPolicyMT()
{
LOG(LINFO, ("cancelling ResourceManager"));
m_resourceManager->cancel();
}
void TilingRenderPolicyMT::SetRenderFn(TRenderFn renderFn)
{
RenderPolicy::SetRenderFn(renderFn);

View file

@ -45,6 +45,8 @@ public:
yg::ResourceManager::Params const & rmParams,
shared_ptr<yg::gl::RenderContext> const & primaryRC);
~TilingRenderPolicyMT();
void BeginFrame(shared_ptr<PaintEvent> const & ev, ScreenBase const & s);
void DrawFrame(shared_ptr<PaintEvent> const & ev, ScreenBase const & s);
void EndFrame(shared_ptr<PaintEvent> const & ev, ScreenBase const & s);

View file

@ -178,6 +178,9 @@ TilingRenderPolicyST::TilingRenderPolicyST(VideoTimer * videoTimer,
TilingRenderPolicyST::~TilingRenderPolicyST()
{
LOG(LINFO, ("cancelling ResourceManager"));
m_resourceManager->cancel();
LOG(LINFO, ("deleting TilingRenderPolicyST"));
base_t::CancelQueuedCommands(GetPlatform().CpuCores());