|
@@ -0,0 +1,35 @@
|
|
|
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
|
+From: Jamie Madill <[email protected]>
|
|
|
+Date: Tue, 20 Oct 2020 09:45:23 -0400
|
|
|
+Subject: Fix missing validation cache update on VAO binding.
|
|
|
+
|
|
|
+Bug: chromium:1139398
|
|
|
+Change-Id: I85a0d7a72bc2c97b07ebc5f86effd8e36aefd544
|
|
|
+Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2485581
|
|
|
+Reviewed-by: Geoff Lang <[email protected]>
|
|
|
+Commit-Queue: Jamie Madill <[email protected]>
|
|
|
+
|
|
|
+diff --git a/src/libANGLE/Context.cpp b/src/libANGLE/Context.cpp
|
|
|
+index f73391da2bd3461ab5c53b30e9fed7376773a051..1ce952124cc02c3d4fbeec0b18095b6d92740369 100644
|
|
|
+--- a/src/libANGLE/Context.cpp
|
|
|
++++ b/src/libANGLE/Context.cpp
|
|
|
+@@ -8675,6 +8675,7 @@ void StateCache::onVertexArrayBindingChange(Context *context)
|
|
|
+ updateActiveAttribsMask(context);
|
|
|
+ updateVertexElementLimits(context);
|
|
|
+ updateBasicDrawStatesError();
|
|
|
++ updateBasicDrawElementsError();
|
|
|
+ }
|
|
|
+
|
|
|
+ void StateCache::onProgramExecutableChange(Context *context)
|
|
|
+diff --git a/src/libANGLE/Context.h b/src/libANGLE/Context.h
|
|
|
+index 9c2abcae729775701cc5b37f1599b849db5978d3..ba0884c4e6bf327e8f2cdd0faf780c897a95c119 100644
|
|
|
+--- a/src/libANGLE/Context.h
|
|
|
++++ b/src/libANGLE/Context.h
|
|
|
+@@ -202,6 +202,7 @@ class StateCache final : angle::NonCopyable
|
|
|
+ // 2. onVertexArrayBufferStateChange.
|
|
|
+ // 3. onBufferBindingChange.
|
|
|
+ // 4. onVertexArrayStateChange.
|
|
|
++ // 5. onVertexArrayBindingStateChange.
|
|
|
+ intptr_t getBasicDrawElementsError(Context *context) const
|
|
|
+ {
|
|
|
+ if (mCachedBasicDrawElementsError != kInvalidPointer)
|