зеркало из https://github.com/mozilla/gecko-dev.git
Bug 769812 - ATI OpenGL driver renders point sprite upside-down - r=jgilbert
This commit is contained in:
Родитель
da5aee1123
Коммит
4a30412000
|
@ -746,6 +746,15 @@ WebGLContext::InitAndValidateGL()
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef XP_MACOSX
|
||||
if (gl->WorkAroundDriverBugs() &&
|
||||
gl->Vendor() == gl::GLContext::VendorATI) {
|
||||
// The Mac ATI driver, in all known OSX version up to and including 10.8,
|
||||
// renders points sprites upside-down. Apple bug 11778921
|
||||
gl->fPointParameterf(LOCAL_GL_POINT_SPRITE_COORD_ORIGIN, LOCAL_GL_LOWER_LEFT);
|
||||
}
|
||||
#endif
|
||||
|
||||
// Check the shader validator pref
|
||||
NS_ENSURE_TRUE(Preferences::GetRootBranch(), false);
|
||||
|
||||
|
|
|
@ -265,6 +265,7 @@ GLContext::InitWithPrefix(const char *prefix, bool trygl)
|
|||
{ (PRFuncPtr*) &mSymbols.fReadBuffer, { "ReadBuffer", NULL } },
|
||||
{ (PRFuncPtr*) &mSymbols.fMapBuffer, { "MapBuffer", NULL } },
|
||||
{ (PRFuncPtr*) &mSymbols.fUnmapBuffer, { "UnmapBuffer", NULL } },
|
||||
{ (PRFuncPtr*) &mSymbols.fPointParameterf, { "PointParameterf", NULL } },
|
||||
{ NULL, { NULL } },
|
||||
};
|
||||
|
||||
|
|
|
@ -2453,6 +2453,12 @@ public:
|
|||
AFTER_GL_CALL;
|
||||
}
|
||||
|
||||
void fPointParameterf(GLenum pname, GLfloat param) {
|
||||
BEFORE_GL_CALL;
|
||||
mSymbols.fPointParameterf(pname, param);
|
||||
AFTER_GL_CALL;
|
||||
}
|
||||
|
||||
void fPolygonOffset(GLfloat factor, GLfloat bias) {
|
||||
BEFORE_GL_CALL;
|
||||
mSymbols.fPolygonOffset(factor, bias);
|
||||
|
|
|
@ -163,6 +163,8 @@ struct GLContextSymbols
|
|||
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 * PFNGLPOLYGONOFFSETPROC) (GLfloat factor, GLfloat bias);
|
||||
PFNGLPOLYGONOFFSETPROC fPolygonOffset;
|
||||
typedef void (GLAPIENTRY * PFNGLREADBUFFERPROC) (GLenum);
|
||||
|
|
Загрузка…
Ссылка в новой задаче