зеркало из https://github.com/mozilla/gecko-dev.git
Only queue a ContentClient buffer state if it has operations (bug 1427089, r=dvander)
--HG-- extra : rebase_source : 200e59db7a140b0981b1d07ebf6d8ee241336322
This commit is contained in:
Родитель
f007b19e6f
Коммит
bc65f35f15
|
@ -116,6 +116,11 @@ public:
|
|||
*/
|
||||
bool PrepareBuffer();
|
||||
|
||||
bool HasOperations() const
|
||||
{
|
||||
return mBufferFinalize || mBufferUnrotate || mBufferInitialize;
|
||||
}
|
||||
|
||||
template<typename F>
|
||||
void ForEachTextureClient(F aClosure) const
|
||||
{
|
||||
|
|
|
@ -228,7 +228,7 @@ ClientPaintedLayer::PaintOffMainThread()
|
|||
uint32_t flags = GetPaintFlags();
|
||||
PaintState state = mContentClient->BeginPaint(this, flags | ContentClient::PAINT_ASYNC);
|
||||
|
||||
if (state.mBufferState) {
|
||||
if (state.mBufferState && state.mBufferState->HasOperations()) {
|
||||
PaintThread::Get()->PrepareBuffer(state.mBufferState);
|
||||
asyncPaints.Queue();
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче