Bug 1427668 - More lazy state. - r=daoshengmu draft
authorJeff Gilbert <jgilbert@mozilla.com>
Wed, 20 Dec 2017 19:43:37 -0800
changeset 715515 403ac9aef5ced04db07ecf15aeab1559916acdd9
parent 715514 009019644379526a098600d4a0d5ae8d40ba061a
child 715516 35d507385ba12204fa112c0a8dfde31a216cf7b4
push id94171
push userbmo:jgilbert@mozilla.com
push dateThu, 04 Jan 2018 01:10:12 +0000
reviewersdaoshengmu
bugs1427668
milestone59.0a1
Bug 1427668 - More lazy state. - r=daoshengmu MozReview-Commit-ID: DAhJjGH5VPu
dom/canvas/WebGL2ContextState.cpp
dom/canvas/WebGLContextState.cpp
--- a/dom/canvas/WebGL2ContextState.cpp
+++ b/dom/canvas/WebGL2ContextState.cpp
@@ -40,17 +40,17 @@ WebGL2Context::GetParameter(JSContext* c
     case LOCAL_GL_TRANSFORM_FEEDBACK_ACTIVE:
       return JS::BooleanValue(mBoundTransformFeedback->mIsActive);
     case LOCAL_GL_TRANSFORM_FEEDBACK_PAUSED:
       return JS::BooleanValue(mBoundTransformFeedback->mIsPaused);
 
     /* GLenum */
     case LOCAL_GL_READ_BUFFER: {
       if (!mBoundReadFramebuffer)
-        return JS::Int32Value(gl->Screen()->GetReadBufferMode());
+        return JS::Int32Value(mDefaultFB_ReadBuffer);
 
       if (!mBoundReadFramebuffer->ColorReadBuffer())
         return JS::Int32Value(LOCAL_GL_NONE);
 
       return JS::Int32Value(mBoundReadFramebuffer->ColorReadBuffer()->mAttachmentPoint);
     }
 
     case LOCAL_GL_FRAGMENT_SHADER_DERIVATIVE_HINT:
--- a/dom/canvas/WebGLContextState.cpp
+++ b/dom/canvas/WebGLContextState.cpp
@@ -169,17 +169,17 @@ WebGLContext::GetParameter(JSContext* cx
             return JS::Int32Value(mGLMaxDrawBuffers);
 
         } else if (pname >= LOCAL_GL_DRAW_BUFFER0 &&
                    pname < GLenum(LOCAL_GL_DRAW_BUFFER0 + mGLMaxDrawBuffers))
         {
             GLint ret = LOCAL_GL_NONE;
             if (!mBoundDrawFramebuffer) {
                 if (pname == LOCAL_GL_DRAW_BUFFER0) {
-                    ret = gl->Screen()->GetDrawBufferMode();
+                    ret = mDefaultFB_DrawBuffer0;
                 }
             } else {
                 gl->fGetIntegerv(pname, &ret);
             }
             return JS::Int32Value(ret);
         }
     }