forked from organicmaps/organicmaps
performing glFinish before glReadPixels.
This commit is contained in:
parent
771f2372f7
commit
7763abae5f
3 changed files with 4 additions and 3 deletions
|
@ -131,6 +131,7 @@ void TileRenderer::ReadPixels(yg::gl::PacketsQueue * glQueue, core::CommandsQueu
|
|||
unsigned tileHeight = m_resourceManager->params().m_renderTargetTexturesParams.m_texHeight;
|
||||
|
||||
shared_ptr<vector<unsigned char> > buf = SharedBufferManager::instance().reserveSharedBuffer(tileWidth * tileHeight * 4);
|
||||
drawer->screen()->finish(true);
|
||||
drawer->screen()->readPixels(m2::RectU(0, 0, tileWidth, tileHeight), &(buf->at(0)), true);
|
||||
SharedBufferManager::instance().freeSharedBuffer(tileWidth * tileHeight * 4, buf);
|
||||
}
|
||||
|
|
|
@ -202,10 +202,10 @@ namespace yg
|
|||
processCommand(make_shared_ptr(new ReadPixels(r, data)), Packet::ECommand, doForce);
|
||||
}
|
||||
|
||||
void Renderer::finish()
|
||||
void Renderer::finish(bool doForce)
|
||||
{
|
||||
shared_ptr<Command> command(new FinishCommand());
|
||||
processCommand(command);
|
||||
processCommand(make_shared_ptr(new FinishCommand()), Packet::ECommand, doForce);
|
||||
}
|
||||
|
||||
Renderer::ChangeFrameBuffer::ChangeFrameBuffer(shared_ptr<FrameBuffer> const & fb)
|
||||
|
|
|
@ -138,7 +138,7 @@ namespace yg
|
|||
unsigned int width() const;
|
||||
unsigned int height() const;
|
||||
|
||||
void finish();
|
||||
void finish(bool doForce = false);
|
||||
void readPixels(m2::RectU const & r, void * data, bool doForce = false);
|
||||
|
||||
bool isDebugging() const;
|
||||
|
|
Loading…
Add table
Reference in a new issue