Title: [261751] trunk/Source/ThirdParty/ANGLE
- Revision
- 261751
- Author
- [email protected]
- Date
- 2020-05-15 11:33:21 -0700 (Fri, 15 May 2020)
Log Message
REGRESSION (r259589): Google Maps background layer fades out and back in
https://bugs.webkit.org/show_bug.cgi?id=210992
Patch by James Darpinian <[email protected]> on 2020-05-14
Reviewed by Dean Jackson.
ANGLE rendering feedback loop detection was incorrect if a texture attached
to a framebuffer was also bound to an active texture unit, and then that texture
unit became inactive because a sampler uniform was set.
* src/libANGLE/Context.cpp:
(gl::Context::onSamplerUniformChange):
* src/libANGLE/State.cpp:
(gl::State::setTextureIndexInactive):
* src/libANGLE/State.h:
Modified Paths
Diff
Modified: trunk/Source/ThirdParty/ANGLE/ChangeLog (261750 => 261751)
--- trunk/Source/ThirdParty/ANGLE/ChangeLog 2020-05-15 18:33:07 UTC (rev 261750)
+++ trunk/Source/ThirdParty/ANGLE/ChangeLog 2020-05-15 18:33:21 UTC (rev 261751)
@@ -1,3 +1,20 @@
+2020-05-14 James Darpinian <[email protected]>
+
+ REGRESSION (r259589): Google Maps background layer fades out and back in
+ https://bugs.webkit.org/show_bug.cgi?id=210992
+
+ Reviewed by Dean Jackson.
+
+ ANGLE rendering feedback loop detection was incorrect if a texture attached
+ to a framebuffer was also bound to an active texture unit, and then that texture
+ unit became inactive because a sampler uniform was set.
+
+ * src/libANGLE/Context.cpp:
+ (gl::Context::onSamplerUniformChange):
+ * src/libANGLE/State.cpp:
+ (gl::State::setTextureIndexInactive):
+ * src/libANGLE/State.h:
+
2020-05-14 Kenneth Russell <[email protected]>
Update ANGLE to 2020-03-27
Modified: trunk/Source/ThirdParty/ANGLE/src/libANGLE/Context.cpp (261750 => 261751)
--- trunk/Source/ThirdParty/ANGLE/src/libANGLE/Context.cpp 2020-05-15 18:33:07 UTC (rev 261750)
+++ trunk/Source/ThirdParty/ANGLE/src/libANGLE/Context.cpp 2020-05-15 18:33:21 UTC (rev 261751)
@@ -6466,6 +6466,9 @@
{
mState.onActiveTextureChange(this, textureUnitIndex);
mStateCache.onActiveTextureChange(this);
+ if (!mState.getProgram()->getExecutable().getActiveSamplersMask()[textureUnitIndex]) {
+ mState.setTextureIndexInactive(textureUnitIndex);
+ }
}
void Context::uniform1i(UniformLocation location, GLint x)
Modified: trunk/Source/ThirdParty/ANGLE/src/libANGLE/State.cpp (261750 => 261751)
--- trunk/Source/ThirdParty/ANGLE/src/libANGLE/State.cpp 2020-05-15 18:33:07 UTC (rev 261750)
+++ trunk/Source/ThirdParty/ANGLE/src/libANGLE/State.cpp 2020-05-15 18:33:21 UTC (rev 261751)
@@ -597,6 +597,10 @@
}
}
+void State::setTextureIndexInactive(size_t textureIndex) {
+ mActiveTexturesCache.reset(textureIndex);
+}
+
ANGLE_INLINE void State::updateActiveTextureState(const Context *context,
size_t textureIndex,
const Sampler *sampler,
Modified: trunk/Source/ThirdParty/ANGLE/src/libANGLE/State.h (261750 => 261751)
--- trunk/Source/ThirdParty/ANGLE/src/libANGLE/State.h 2020-05-15 18:33:07 UTC (rev 261750)
+++ trunk/Source/ThirdParty/ANGLE/src/libANGLE/State.h 2020-05-15 18:33:21 UTC (rev 261751)
@@ -777,6 +777,7 @@
size_t textureIndex,
const Sampler *sampler,
Texture *texture);
+ void setTextureIndexInactive(size_t textureIndex);
Texture *getTextureForActiveSampler(TextureType type, size_t index);
bool hasConstantColor(GLenum sourceRGB, GLenum destRGB) const;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes