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 daa0ac8ad797dc7c1b37fce5fd48bd6ba22da8ce..c392b3913cc30ff63080f2acd46a542361769d79 100644 |
--- a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp |
+++ b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp |
@@ -987,6 +987,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()) |
+ webContext()->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. |
webContext()->flush(); |