Bug 1289655 - Use UINT32_MAX for drawArrays because of OSX. - r=mtseng draft
authorJeff Gilbert <jgilbert@mozilla.com>
Fri, 29 Jul 2016 13:05:56 -0700
changeset 394561 0f356b7a063f8b08084b0e0906ac4ca68e7f4a70
parent 394560 d36a63e11871e2e56f3cce3f93c8c28725c5bae1
child 394562 dc754c9da53ef67d718dabf7a9365584f3c1b94d
push id24605
push userbmo:jgilbert@mozilla.com
push dateFri, 29 Jul 2016 23:50:29 +0000
reviewersmtseng
bugs1289655
milestone50.0a1
Bug 1289655 - Use UINT32_MAX for drawArrays because of OSX. - r=mtseng MozReview-Commit-ID: 8bB4DHGQRnB
dom/canvas/WebGLContextDraw.cpp
--- a/dom/canvas/WebGLContextDraw.cpp
+++ b/dom/canvas/WebGLContextDraw.cpp
@@ -255,20 +255,21 @@ WebGLContext::DrawArrays_check(GLint fir
     }
 
     if (!ValidateStencilParamsForDrawCall()) {
         return false;
     }
 
     if (IsWebGL2() && !gl->IsSupported(gl::GLFeature::prim_restart_fixed)) {
         MOZ_ASSERT(gl->IsSupported(gl::GLFeature::prim_restart));
-        if (mPrimRestartTypeBytes) {
-            mPrimRestartTypeBytes = 0;
+        if (mPrimRestartTypeBytes != 4) {
+            mPrimRestartTypeBytes = 4;
 
-            gl->fPrimitiveRestartIndex(0);
+            // OSX has issues leaving this as 0.
+            gl->fPrimitiveRestartIndex(UINT32_MAX);
         }
     }
 
     // If count is 0, there's nothing to do.
     if (count == 0 || primcount == 0) {
         return false;
     }