Index: third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp |
diff --git a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp |
index e156684c20d05c411f7b235db09fb49701e16d35..2ecf37d9ada7c43c0ee118d3ec013f88e8721dd5 100644 |
--- a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp |
+++ b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp |
@@ -999,6 +999,12 @@ void WebGLRenderingContextBase::initializeNewContext() |
webContext()->setContextLostCallback(m_contextLostCallbackAdapter.get()); |
webContext()->setErrorMessageCallback(m_errorMessageCallbackAdapter.get()); |
+ // If WebGL 2, the PRIMITIVE_RESTART_FIXED_INDEX should be always enabled. |
+ // See the section <Primitive Restart is Always Enabled> in WebGL 2 spec: |
+ // https://www.khronos.org/registry/webgl/specs/latest/2.0/#4.1.4 |
+ if (isWebGL2OrHigher()) |
+ contextGL()->Enable(GL_PRIMITIVE_RESTART_FIXED_INDEX); |
+ |
// This ensures that the context has a valid "lastFlushID" and won't be mistakenly identified as the "least recently used" context. |
contextGL()->Flush(); |