Bug 1340627 - part 5 - fix SkiaGL glue for Skia m59. r=mchang
☠☠ backed out by ce2218406119 ☠ ☠
authorLee Salzman <lsalzman@mozilla.com>
Tue, 09 May 2017 22:31:07 -0400
changeset 357466 026aadd76d067dddb003d4e0120896064137be55
parent 357465 fdbd5d28128794c6a1f477f10e94c366fc95a200
child 357467 3cb4bceb8d793c30c9ec95ba6f409067e3021291
push id31792
push usercbook@mozilla.com
push dateWed, 10 May 2017 13:07:59 +0000
treeherdermozilla-central@ebbcdaa5b580 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmchang
bugs1340627
milestone55.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1340627 - part 5 - fix SkiaGL glue for Skia m59. r=mchang MozReview-Commit-ID: LelzAgAdWb7
gfx/gl/GLContext.cpp
gfx/gl/GLContext.h
gfx/gl/GLContextSymbols.h
gfx/gl/SkiaGLGlue.cpp
--- a/gfx/gl/GLContext.cpp
+++ b/gfx/gl/GLContext.cpp
@@ -589,16 +589,17 @@ GLContext::InitWithPrefixImpl(const char
             // Other parts of Gecko should avoid using these
             { (PRFuncPtr*) &mSymbols.fDrawBuffers, { "DrawBuffers", nullptr } },
             { (PRFuncPtr*) &mSymbols.fClientActiveTexture, { "ClientActiveTexture", nullptr } },
             { (PRFuncPtr*) &mSymbols.fDisableClientState, { "DisableClientState", nullptr } },
             { (PRFuncPtr*) &mSymbols.fEnableClientState, { "EnableClientState", nullptr } },
             { (PRFuncPtr*) &mSymbols.fLoadIdentity, { "LoadIdentity", nullptr } },
             { (PRFuncPtr*) &mSymbols.fLoadMatrixf, { "LoadMatrixf", nullptr } },
             { (PRFuncPtr*) &mSymbols.fMatrixMode, { "MatrixMode", nullptr } },
+            { (PRFuncPtr*) &mSymbols.fPolygonMode, { "PolygonMode", nullptr } },
             { (PRFuncPtr*) &mSymbols.fTexGeni, { "TexGeni", nullptr } },
             { (PRFuncPtr*) &mSymbols.fTexGenf, { "TexGenf", nullptr } },
             { (PRFuncPtr*) &mSymbols.fTexGenfv, { "TexGenfv", nullptr } },
             { (PRFuncPtr*) &mSymbols.fVertexPointer, { "VertexPointer", nullptr } },
             END_SYMBOLS
         };
 
         if (!LoadGLSymbols(this, prefix, trygl, symbols, "Desktop OpenGL"))
--- a/gfx/gl/GLContext.h
+++ b/gfx/gl/GLContext.h
@@ -1454,16 +1454,22 @@ public:
     }
 
     void fPointParameterf(GLenum pname, GLfloat param) {
         BEFORE_GL_CALL;
         mSymbols.fPointParameterf(pname, param);
         AFTER_GL_CALL;
     }
 
+    void fPolygonMode(GLenum face, GLenum mode) {
+        BEFORE_GL_CALL;
+        mSymbols.fPolygonMode(face, mode);
+        AFTER_GL_CALL;
+    }
+
     void fPolygonOffset(GLfloat factor, GLfloat bias) {
         BEFORE_GL_CALL;
         mSymbols.fPolygonOffset(factor, bias);
         AFTER_GL_CALL;
     }
 
     void fPopDebugGroup() {
         BEFORE_GL_CALL;
--- a/gfx/gl/GLContextSymbols.h
+++ b/gfx/gl/GLContextSymbols.h
@@ -198,16 +198,18 @@ struct GLContextSymbols
     typedef void (GLAPIENTRY * PFNGLLINEWIDTHPROC) (GLfloat width);
     PFNGLLINEWIDTHPROC fLineWidth;
     typedef void (GLAPIENTRY * PFNGLLINKPROGRAMPROC) (GLuint program);
     PFNGLLINKPROGRAMPROC fLinkProgram;
     typedef void (GLAPIENTRY * PFNGLPIXELSTOREIPROC) (GLenum pname, GLint param);
     PFNGLPIXELSTOREIPROC fPixelStorei;
     typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param);
     PFNGLPOINTPARAMETERFPROC fPointParameterf;
+    typedef void (GLAPIENTRY * PFNGLPOLYGONMODEPROC) (GLenum face, GLenum mode);
+    PFNGLPOLYGONMODEPROC fPolygonMode;
     typedef void (GLAPIENTRY * PFNGLPOLYGONOFFSETPROC) (GLfloat factor, GLfloat bias);
     PFNGLPOLYGONOFFSETPROC fPolygonOffset;
     typedef void (GLAPIENTRY * PFNGLREADBUFFERPROC) (GLenum);
     PFNGLREADBUFFERPROC fReadBuffer;
     typedef void (GLAPIENTRY * PFNGLREADPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels);
     PFNGLREADPIXELSPROC fReadPixels;
     typedef void (GLAPIENTRY * PFNGLSAMPLECOVERAGEPROC) (GLclampf value, realGLboolean invert);
     PFNGLSAMPLECOVERAGEPROC fSampleCoverage;
--- a/gfx/gl/SkiaGLGlue.cpp
+++ b/gfx/gl/SkiaGLGlue.cpp
@@ -216,16 +216,17 @@ static GrGLInterface* CreateGrGLInterfac
     i->fFunctions.fGetShaderInfoLog = WrapGL(context, &GLContext::fGetShaderInfoLog);
     i->fFunctions.fGetShaderiv = WrapGL(context, &GLContext::fGetShaderiv);
     i->fFunctions.fGetShaderPrecisionFormat = WrapGL(context, &GLContext::fGetShaderPrecisionFormat);
     i->fFunctions.fGetString = getString;
     i->fFunctions.fGetUniformLocation = WrapGL(context, &GLContext::fGetUniformLocation);
     i->fFunctions.fLineWidth = WrapGL(context, &GLContext::fLineWidth);
     i->fFunctions.fLinkProgram = WrapGL(context, &GLContext::fLinkProgram);
     i->fFunctions.fPixelStorei = WrapGL(context, &GLContext::fPixelStorei);
+    i->fFunctions.fPolygonMode = WrapGL(context, &GLContext::fPolygonMode);
     i->fFunctions.fReadPixels = WrapGL(context, &GLContext::fReadPixels);
     i->fFunctions.fRenderbufferStorage = WrapGL(context, &GLContext::fRenderbufferStorage);
     i->fFunctions.fScissor = WrapGL(context, &GLContext::fScissor);
     i->fFunctions.fShaderSource = WrapGL(context, &GLContext::fShaderSource);
     i->fFunctions.fStencilFunc = WrapGL(context, &GLContext::fStencilFunc);
     i->fFunctions.fStencilMask = WrapGL(context, &GLContext::fStencilMask);
     i->fFunctions.fStencilOp = WrapGL(context, &GLContext::fStencilOp);
     i->fFunctions.fTexImage2D = WrapGL(context, &GLContext::fTexImage2D);