Bug 1325486 - TFBufferMode defaults to INTERLEAVED, and UniformMatrix's transpose arg should be passed to GL. - r=daoshengmu a=lizzard
authorJeff Gilbert <jgilbert@mozilla.com>
Thu, 22 Dec 2016 14:47:18 -0800
changeset 353255 fc51c91558dc824ba2d5fea2db9a4a3bce4491bc
parent 353254 effc83303f9a00c6297178fb840ce1bb302c6303
child 353256 dd2a8702cb8f0aab3e51e24150518dff610e4f2c
push id6795
push userjlund@mozilla.com
push dateMon, 23 Jan 2017 14:19:46 +0000
treeherdermozilla-esr52@76101b503191 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdaoshengmu, lizzard
bugs1325486
milestone52.0a2
Bug 1325486 - TFBufferMode defaults to INTERLEAVED, and UniformMatrix's transpose arg should be passed to GL. - r=daoshengmu a=lizzard MozReview-Commit-ID: 7yc2u0GQDnr
dom/canvas/WebGLContextGL.cpp
dom/canvas/WebGLProgram.cpp
--- a/dom/canvas/WebGLContextGL.cpp
+++ b/dom/canvas/WebGLContextGL.cpp
@@ -2041,17 +2041,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
@@ -454,17 +454,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();
 }