Commit 4df67871 by Courtney Goeltzenleuchter Committed by Commit Bot

Be sure to clear all program state at unlink

At Program::unlink we clear out the program's state but forgot mBufferVariables. That was causing us to hit an assert when trying to load a shader from cache. Only see the issue on Android as that's the only platform where shader caching is supported. Test: KHR-GLES31.core.explicit_uniform_location.uniform-loc Bug: angleproject:4132 Change-Id: Iae9c26a3e3b2d11983cc7d90bcd54a10c0fa9934 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2107235Reviewed-by: 's avatarCody Northrop <cnorthrop@google.com> Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
parent 23d63fc3
...@@ -1886,6 +1886,7 @@ void Program::unlink() ...@@ -1886,6 +1886,7 @@ void Program::unlink()
mState.mUniforms.clear(); mState.mUniforms.clear();
mState.mUniformLocations.clear(); mState.mUniformLocations.clear();
mState.mUniformBlocks.clear(); mState.mUniformBlocks.clear();
mState.mBufferVariables.clear();
mState.mShaderStorageBlocks.clear(); mState.mShaderStorageBlocks.clear();
mState.mActiveUniformBlockBindings.reset(); mState.mActiveUniformBlockBindings.reset();
mState.mAtomicCounterBuffers.clear(); mState.mAtomicCounterBuffers.clear();
......
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