Bug 1324721 - Coersion of GLFloat to GLint in TexParameter should round. - r=daoshengmu draft
authorJeff Gilbert <jgilbert@mozilla.com>
Tue, 20 Dec 2016 00:56:33 -0800
changeset 451426 972e28c3026676aa7950e9f4f52784c81fe3a5c3
parent 451419 c46534833e49787b5064333c88cd0b5ecac9e2a8
child 540018 882dc891c9ada98437cc9c6a70d50ec48921e235
push id39169
push userbmo:jgilbert@mozilla.com
push dateTue, 20 Dec 2016 08:56:58 +0000
reviewersdaoshengmu
bugs1324721
milestone53.0a1
Bug 1324721 - Coersion of GLFloat to GLint in TexParameter should round. - r=daoshengmu MozReview-Commit-ID: 4hpmgWgheYU
dom/canvas/WebGLTexture.cpp
--- a/dom/canvas/WebGLTexture.cpp
+++ b/dom/canvas/WebGLTexture.cpp
@@ -1019,17 +1019,17 @@ WebGLTexture::IsTexture() const
 // See this discussion:
 //   https://www.khronos.org/webgl/public-mailing-list/archives/1008/msg00014.html
 void
 WebGLTexture::TexParameter(TexTarget texTarget, GLenum pname, GLint* maybeIntParam,
                            GLfloat* maybeFloatParam)
 {
     MOZ_ASSERT(maybeIntParam || maybeFloatParam);
 
-    GLint   intParam   = maybeIntParam   ? *maybeIntParam   : GLint(*maybeFloatParam);
+    GLint   intParam   = maybeIntParam   ? *maybeIntParam   : GLint(roundf(*maybeFloatParam));
     GLfloat floatParam = maybeFloatParam ? *maybeFloatParam : GLfloat(*maybeIntParam);
 
     bool isPNameValid = false;
     switch (pname) {
     // GLES 2.0.25 p76:
     case LOCAL_GL_TEXTURE_WRAP_S:
     case LOCAL_GL_TEXTURE_WRAP_T:
     case LOCAL_GL_TEXTURE_MIN_FILTER: