Commit bbd663a2 by Corentin Wallez Committed by Commit Bot

Add dirty bits for the pixel pack and unpack buffer

BUG=605775 Change-Id: Ifb7eee94a395a9e9f5a5c1d6c0f05299162264a9 Reviewed-on: https://chromium-review.googlesource.com/340115Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org> Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
parent 7cd70337
...@@ -232,6 +232,7 @@ Context::Context(const egl::Config *config, ...@@ -232,6 +232,7 @@ Context::Context(const egl::Config *config,
mTexImageDirtyBits.set(State::DIRTY_BIT_UNPACK_SKIP_IMAGES); mTexImageDirtyBits.set(State::DIRTY_BIT_UNPACK_SKIP_IMAGES);
mTexImageDirtyBits.set(State::DIRTY_BIT_UNPACK_SKIP_ROWS); mTexImageDirtyBits.set(State::DIRTY_BIT_UNPACK_SKIP_ROWS);
mTexImageDirtyBits.set(State::DIRTY_BIT_UNPACK_SKIP_PIXELS); mTexImageDirtyBits.set(State::DIRTY_BIT_UNPACK_SKIP_PIXELS);
mTexImageDirtyBits.set(State::DIRTY_BIT_UNPACK_BUFFER_BINDING);
// No dirty objects. // No dirty objects.
// Readpixels uses the pack state and read FBO // Readpixels uses the pack state and read FBO
...@@ -240,6 +241,7 @@ Context::Context(const egl::Config *config, ...@@ -240,6 +241,7 @@ Context::Context(const egl::Config *config,
mReadPixelsDirtyBits.set(State::DIRTY_BIT_PACK_ROW_LENGTH); mReadPixelsDirtyBits.set(State::DIRTY_BIT_PACK_ROW_LENGTH);
mReadPixelsDirtyBits.set(State::DIRTY_BIT_PACK_SKIP_ROWS); mReadPixelsDirtyBits.set(State::DIRTY_BIT_PACK_SKIP_ROWS);
mReadPixelsDirtyBits.set(State::DIRTY_BIT_PACK_SKIP_PIXELS); mReadPixelsDirtyBits.set(State::DIRTY_BIT_PACK_SKIP_PIXELS);
mReadPixelsDirtyBits.set(State::DIRTY_BIT_PACK_BUFFER_BINDING);
mReadPixelsDirtyObjects.set(State::DIRTY_OBJECT_READ_FRAMEBUFFER); mReadPixelsDirtyObjects.set(State::DIRTY_OBJECT_READ_FRAMEBUFFER);
mClearDirtyBits.set(State::DIRTY_BIT_RASTERIZER_DISCARD_ENABLED); mClearDirtyBits.set(State::DIRTY_BIT_RASTERIZER_DISCARD_ENABLED);
......
...@@ -1069,11 +1069,13 @@ void State::setCopyWriteBufferBinding(Buffer *buffer) ...@@ -1069,11 +1069,13 @@ void State::setCopyWriteBufferBinding(Buffer *buffer)
void State::setPixelPackBufferBinding(Buffer *buffer) void State::setPixelPackBufferBinding(Buffer *buffer)
{ {
mPack.pixelBuffer.set(buffer); mPack.pixelBuffer.set(buffer);
mDirtyBits.set(DIRTY_BIT_PACK_BUFFER_BINDING);
} }
void State::setPixelUnpackBufferBinding(Buffer *buffer) void State::setPixelUnpackBufferBinding(Buffer *buffer)
{ {
mUnpack.pixelBuffer.set(buffer); mUnpack.pixelBuffer.set(buffer);
mDirtyBits.set(DIRTY_BIT_UNPACK_BUFFER_BINDING);
} }
Buffer *State::getTargetBuffer(GLenum target) const Buffer *State::getTargetBuffer(GLenum target) const
......
...@@ -319,11 +319,13 @@ class State : angle::NonCopyable ...@@ -319,11 +319,13 @@ class State : angle::NonCopyable
DIRTY_BIT_UNPACK_SKIP_IMAGES, DIRTY_BIT_UNPACK_SKIP_IMAGES,
DIRTY_BIT_UNPACK_SKIP_ROWS, DIRTY_BIT_UNPACK_SKIP_ROWS,
DIRTY_BIT_UNPACK_SKIP_PIXELS, DIRTY_BIT_UNPACK_SKIP_PIXELS,
DIRTY_BIT_UNPACK_BUFFER_BINDING,
DIRTY_BIT_PACK_ALIGNMENT, DIRTY_BIT_PACK_ALIGNMENT,
DIRTY_BIT_PACK_REVERSE_ROW_ORDER, DIRTY_BIT_PACK_REVERSE_ROW_ORDER,
DIRTY_BIT_PACK_ROW_LENGTH, DIRTY_BIT_PACK_ROW_LENGTH,
DIRTY_BIT_PACK_SKIP_ROWS, DIRTY_BIT_PACK_SKIP_ROWS,
DIRTY_BIT_PACK_SKIP_PIXELS, DIRTY_BIT_PACK_SKIP_PIXELS,
DIRTY_BIT_PACK_BUFFER_BINDING,
DIRTY_BIT_DITHER_ENABLED, DIRTY_BIT_DITHER_ENABLED,
DIRTY_BIT_GENERATE_MIPMAP_HINT, DIRTY_BIT_GENERATE_MIPMAP_HINT,
DIRTY_BIT_SHADER_DERIVATIVE_HINT, DIRTY_BIT_SHADER_DERIVATIVE_HINT,
......
...@@ -1460,6 +1460,10 @@ void StateManagerGL::syncState(const gl::State &state, const gl::State::DirtyBit ...@@ -1460,6 +1460,10 @@ void StateManagerGL::syncState(const gl::State &state, const gl::State::DirtyBit
// TODO(jmadill): split this // TODO(jmadill): split this
setPixelUnpackState(state.getUnpackState()); setPixelUnpackState(state.getUnpackState());
break; break;
case gl::State::DIRTY_BIT_UNPACK_BUFFER_BINDING:
// TODO(jmadill): split this
setPixelUnpackState(state.getUnpackState());
break;
case gl::State::DIRTY_BIT_PACK_ALIGNMENT: case gl::State::DIRTY_BIT_PACK_ALIGNMENT:
// TODO(jmadill): split this // TODO(jmadill): split this
setPixelPackState(state.getPackState()); setPixelPackState(state.getPackState());
...@@ -1480,6 +1484,10 @@ void StateManagerGL::syncState(const gl::State &state, const gl::State::DirtyBit ...@@ -1480,6 +1484,10 @@ void StateManagerGL::syncState(const gl::State &state, const gl::State::DirtyBit
// TODO(jmadill): split this // TODO(jmadill): split this
setPixelPackState(state.getPackState()); setPixelPackState(state.getPackState());
break; break;
case gl::State::DIRTY_BIT_PACK_BUFFER_BINDING:
// TODO(jmadill): split this
setPixelPackState(state.getPackState());
break;
case gl::State::DIRTY_BIT_DITHER_ENABLED: case gl::State::DIRTY_BIT_DITHER_ENABLED:
// TODO(jmadill): implement this // TODO(jmadill): implement this
break; 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