Commit 0741c0f1 by Jamie Madill Committed by Commit Bot

Add missing reset to GL multi-view dirty bits.

This missing clear was costing quite a bit of performance on any use case that called for a lot of state changes. BUG=angleproject:2188 Change-Id: I98fa6c21728c1655fa9e1019ddc10ccfbdb594d8 Reviewed-on: https://chromium-review.googlesource.com/722422Reviewed-by: 's avatarFrank Henigman <fjhenigman@chromium.org> Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
parent a59fc19f
...@@ -1695,6 +1695,8 @@ void StateManagerGL::syncState(const gl::Context *context, const gl::State::Dirt ...@@ -1695,6 +1695,8 @@ void StateManagerGL::syncState(const gl::Context *context, const gl::State::Dirt
} }
// Iterate over and resolve multi-view dirty bits. // Iterate over and resolve multi-view dirty bits.
if (mMultiviewDirtyBits.any())
{
for (auto dirtyBit : mMultiviewDirtyBits) for (auto dirtyBit : mMultiviewDirtyBits)
{ {
switch (dirtyBit) switch (dirtyBit)
...@@ -1724,6 +1726,8 @@ void StateManagerGL::syncState(const gl::Context *context, const gl::State::Dirt ...@@ -1724,6 +1726,8 @@ void StateManagerGL::syncState(const gl::Context *context, const gl::State::Dirt
UNREACHABLE(); UNREACHABLE();
} }
} }
mMultiviewDirtyBits.reset();
}
const gl::State::DirtyBits &glAndLocalDirtyBits = (glDirtyBits | mLocalDirtyBits); const gl::State::DirtyBits &glAndLocalDirtyBits = (glDirtyBits | mLocalDirtyBits);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment