Commit 29a20992 by Corentin Wallez Committed by Commit Bot

Add back dirty bits for pack / unpack buffer binding

BUG=angleproject:2169 Change-Id: I8cee9e1c7565d90022216d62b45f0eec5bc51f14 Reviewed-on: https://chromium-review.googlesource.com/755461Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
parent 7af0de52
......@@ -390,10 +390,12 @@ Context::Context(rx::EGLImplFactory *implFactory,
// Initialize dirty bit masks
mTexImageDirtyBits.set(State::DIRTY_BIT_UNPACK_STATE);
mTexImageDirtyBits.set(State::DIRTY_BIT_UNPACK_BUFFER_BINDING);
// No dirty objects.
// Readpixels uses the pack state and read FBO
mReadPixelsDirtyBits.set(State::DIRTY_BIT_PACK_STATE);
mReadPixelsDirtyBits.set(State::DIRTY_BIT_PACK_BUFFER_BINDING);
mReadPixelsDirtyObjects.set(State::DIRTY_OBJECT_READ_FRAMEBUFFER);
mClearDirtyBits.set(State::DIRTY_BIT_RASTERIZER_DISCARD_ENABLED);
......
......@@ -1341,13 +1341,13 @@ void State::setCopyWriteBufferBinding(const Context *context, Buffer *buffer)
void State::setPixelPackBufferBinding(const Context *context, Buffer *buffer)
{
mPack.pixelBuffer.set(context, buffer);
mDirtyBits.set(DIRTY_BIT_PACK_STATE);
mDirtyBits.set(DIRTY_BIT_PACK_BUFFER_BINDING);
}
void State::setPixelUnpackBufferBinding(const Context *context, Buffer *buffer)
{
mUnpack.pixelBuffer.set(context, buffer);
mDirtyBits.set(DIRTY_BIT_UNPACK_STATE);
mDirtyBits.set(DIRTY_BIT_UNPACK_BUFFER_BINDING);
}
Buffer *State::getTargetBuffer(GLenum target) const
......
......@@ -413,7 +413,9 @@ class State : public OnAttachmentDirtyReceiver, angle::NonCopyable
DIRTY_BIT_CLEAR_DEPTH,
DIRTY_BIT_CLEAR_STENCIL,
DIRTY_BIT_UNPACK_STATE,
DIRTY_BIT_UNPACK_BUFFER_BINDING,
DIRTY_BIT_PACK_STATE,
DIRTY_BIT_PACK_BUFFER_BINDING,
DIRTY_BIT_DITHER_ENABLED,
DIRTY_BIT_GENERATE_MIPMAP_HINT,
DIRTY_BIT_SHADER_DERIVATIVE_HINT,
......
......@@ -1903,9 +1903,15 @@ void StateManagerGL::syncState(const gl::Context *context, const gl::State::Dirt
case gl::State::DIRTY_BIT_UNPACK_STATE:
setPixelUnpackState(state.getUnpackState());
break;
case gl::State::DIRTY_BIT_UNPACK_BUFFER_BINDING:
setPixelUnpackState(state.getUnpackState());
break;
case gl::State::DIRTY_BIT_PACK_STATE:
setPixelPackState(state.getPackState());
break;
case gl::State::DIRTY_BIT_PACK_BUFFER_BINDING:
setPixelPackState(state.getPackState());
break;
case gl::State::DIRTY_BIT_DITHER_ENABLED:
setDitherEnabled(state.isDitherEnabled());
break;
......
......@@ -640,9 +640,15 @@ void ContextVk::syncState(const gl::Context *context, const gl::State::DirtyBits
case gl::State::DIRTY_BIT_UNPACK_STATE:
WARN() << "DIRTY_BIT_UNPACK_STATE unimplemented";
break;
case gl::State::DIRTY_BIT_UNPACK_BUFFER_BINDING:
WARN() << "DIRTY_BIT_UNPACK_BUFFER_BINDING unimplemented";
break;
case gl::State::DIRTY_BIT_PACK_STATE:
WARN() << "DIRTY_BIT_PACK_STATE unimplemented";
break;
case gl::State::DIRTY_BIT_PACK_BUFFER_BINDING:
WARN() << "DIRTY_BIT_PACK_BUFFER_BINDING unimplemented";
break;
case gl::State::DIRTY_BIT_DITHER_ENABLED:
WARN() << "DIRTY_BIT_DITHER_ENABLED unimplemented";
break;
......
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