Commit 78a471ba by Jamie Madill Committed by Commit Bot

TextureGL: Signal DirtyBitsChanged on dirty bits.

This is a refactoring change only in preparation for a change in the Vulkan back-end. We'll need to split the handling for Vulkan and GL into different functions. Bug: angleproject:4517 Change-Id: I2ddf9c70fe247d1dcb4e0aa9ca929bbbd61bd42b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2135893Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org> Reviewed-by: 's avatarJonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
parent c916fe8a
......@@ -1910,9 +1910,9 @@ void Texture::onSubjectStateChange(angle::SubjectIndex index, angle::SubjectMess
// Texture will signal dirty storage to invalidate its own cache and the
// attached framebuffer's cache.
signalDirtyStorage(InitState::Initialized);
return;
break;
case angle::SubjectMessage::DirtyBitsFlagged:
case angle::SubjectMessage::SubjectChanged:
mDirtyBits.set(DIRTY_BIT_IMPLEMENTATION);
signalDirtyState(DIRTY_BIT_IMPLEMENTATION);
// Notify siblings that we are dirty.
......@@ -1920,9 +1920,10 @@ void Texture::onSubjectStateChange(angle::SubjectIndex index, angle::SubjectMess
{
notifySiblings(message);
}
return;
break;
default:
return;
UNREACHABLE();
break;
}
}
......
......@@ -1519,7 +1519,7 @@ angle::Result TextureGL::setBaseLevel(const gl::Context *context, GLuint baseLev
mLocalDirtyBits.set(gl::Texture::DIRTY_BIT_BASE_LEVEL);
// Signal to the GL layer that the Impl has dirty bits.
onStateChange(angle::SubjectMessage::SubjectChanged);
onStateChange(angle::SubjectMessage::DirtyBitsFlagged);
stateManager->bindTexture(getType(), mTextureID);
ANGLE_GL_TRY(context, functions->texParameteri(ToGLenum(getType()), GL_TEXTURE_BASE_LEVEL,
......@@ -1539,7 +1539,7 @@ angle::Result TextureGL::setMaxLevel(const gl::Context *context, GLuint maxLevel
mLocalDirtyBits.set(gl::Texture::DIRTY_BIT_MAX_LEVEL);
// Signal to the GL layer that the Impl has dirty bits.
onStateChange(angle::SubjectMessage::SubjectChanged);
onStateChange(angle::SubjectMessage::DirtyBitsFlagged);
stateManager->bindTexture(getType(), mTextureID);
ANGLE_GL_TRY(context,
......@@ -1559,7 +1559,7 @@ angle::Result TextureGL::setMinFilter(const gl::Context *context, GLenum filter)
mLocalDirtyBits.set(gl::Texture::DIRTY_BIT_MIN_FILTER);
// Signal to the GL layer that the Impl has dirty bits.
onStateChange(angle::SubjectMessage::SubjectChanged);
onStateChange(angle::SubjectMessage::DirtyBitsFlagged);
stateManager->bindTexture(getType(), mTextureID);
ANGLE_GL_TRY(context,
......@@ -1578,7 +1578,7 @@ angle::Result TextureGL::setMagFilter(const gl::Context *context, GLenum filter)
mLocalDirtyBits.set(gl::Texture::DIRTY_BIT_MAG_FILTER);
// Signal to the GL layer that the Impl has dirty bits.
onStateChange(angle::SubjectMessage::SubjectChanged);
onStateChange(angle::SubjectMessage::DirtyBitsFlagged);
stateManager->bindTexture(getType(), mTextureID);
ANGLE_GL_TRY(context,
......@@ -1604,7 +1604,7 @@ angle::Result TextureGL::setSwizzle(const gl::Context *context, GLint swizzle[4]
mLocalDirtyBits.set(gl::Texture::DIRTY_BIT_SWIZZLE_ALPHA);
// Signal to the GL layer that the Impl has dirty bits.
onStateChange(angle::SubjectMessage::SubjectChanged);
onStateChange(angle::SubjectMessage::DirtyBitsFlagged);
stateManager->bindTexture(getType(), mTextureID);
ANGLE_GL_TRY(context, functions->texParameteriv(ToGLenum(getType()),
......@@ -1772,7 +1772,7 @@ void TextureGL::setLevelInfo(const gl::Context *context,
if (updateWorkarounds)
{
mLocalDirtyBits |= GetLevelWorkaroundDirtyBits();
onStateChange(angle::SubjectMessage::SubjectChanged);
onStateChange(angle::SubjectMessage::DirtyBitsFlagged);
}
}
......
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