Bug 1325486 - TFBufferMode defaults to INTERLEAVED, and UniformMatrix's transpose arg should be passed to GL. - r=daoshengmu draft
authorJeff Gilbert <jgilbert@mozilla.com>
Thu, 22 Dec 2016 14:47:18 -0800
changeset 453189 6c34e3be4e9909983d245552fb6126e37c7dbaaf
parent 453186 197f7290bc7285c5e715f484001cff48d61ebb6c
child 453209 1a0b7acb6385e199b1baebc2d72b167da3c3ab5f
push id39581
push userbmo:jgilbert@mozilla.com
push dateThu, 22 Dec 2016 22:49:02 +0000
reviewersdaoshengmu
bugs1325486
milestone53.0a1
Bug 1325486 - TFBufferMode defaults to INTERLEAVED, and UniformMatrix's transpose arg should be passed to GL. - r=daoshengmu MozReview-Commit-ID: 7yc2u0GQDnr
dom/canvas/WebGLContextGL.cpp
dom/canvas/WebGLProgram.cpp
--- a/dom/canvas/WebGLContextGL.cpp
+++ b/dom/canvas/WebGLContextGL.cpp
@@ -2042,17 +2042,17 @@ WebGLContext::UniformMatrixAxBfv(const c
 
         &gl::GLContext::fUniformMatrix4x2fv,
         &gl::GLContext::fUniformMatrix4x3fv,
         &gl::GLContext::fUniformMatrix4fv
     };
     const auto func = kFuncList[3*(A-2) + (B-2)];
 
     MakeContextCurrent();
-    (gl->*func)(loc->mLoc, numElementsToUpload, false, elemBytes);
+    (gl->*func)(loc->mLoc, numElementsToUpload, transpose, elemBytes);
 }
 
 ////////////////////////////////////////////////////////////////////////////////
 
 void
 WebGLContext::UseProgram(WebGLProgram* prog)
 {
     if (IsContextLost())
--- a/dom/canvas/WebGLProgram.cpp
+++ b/dom/canvas/WebGLProgram.cpp
@@ -497,17 +497,17 @@ CreateProgram(gl::GLContext* gl)
     gl->MakeCurrent();
     return gl->fCreateProgram();
 }
 
 WebGLProgram::WebGLProgram(WebGLContext* webgl)
     : WebGLRefCountedObject(webgl)
     , mGLName(CreateProgram(webgl->GL()))
     , mNumActiveTFOs(0)
-    , mNextLink_TransformFeedbackBufferMode(LOCAL_GL_SEPARATE_ATTRIBS)
+    , mNextLink_TransformFeedbackBufferMode(LOCAL_GL_INTERLEAVED_ATTRIBS)
 {
     mContext->mPrograms.insertBack(this);
 }
 
 WebGLProgram::~WebGLProgram()
 {
     DeleteOnce();
 }