author | Jeff Gilbert <jgilbert@mozilla.com> |
Mon, 19 Dec 2016 16:37:52 -0800 | |
changeset 326606 | 45d134d04971016d97fc0e3365ed2dccb81358ba |
parent 326605 | df8f3ce70e2ff04d1394760f1f5c7154ac39d2fb |
child 326607 | 11b1af2e7430b7326157974e642efcdfd37b18d4 |
push id | 84992 |
push user | jgilbert@mozilla.com |
push date | Tue, 20 Dec 2016 21:00:47 +0000 |
treeherder | mozilla-inbound@11b1af2e7430 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | daoshengmu |
bugs | 1324604 |
milestone | 53.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
|
--- a/dom/canvas/WebGLContextGL.cpp +++ b/dom/canvas/WebGLContextGL.cpp @@ -1462,17 +1462,17 @@ ValidateReadPixelsFormatAndType(const we } if (pi.type == LOCAL_GL_UNSIGNED_INT_24_8) { webgl->ErrorInvalidEnum("readPixels: Invalid type: 0x%04x", pi.type); return false; } MOZ_ASSERT(gl->IsCurrent()); - if (gl->IsSupported(gl::GLFeature::ES2_compatibility)) { + if (gl->IsGLES()) { const auto auxFormat = gl->GetIntAs<GLenum>(LOCAL_GL_IMPLEMENTATION_COLOR_READ_FORMAT); const auto auxType = gl->GetIntAs<GLenum>(LOCAL_GL_IMPLEMENTATION_COLOR_READ_TYPE); if (auxFormat && auxType && pi.format == auxFormat && pi.type == auxType) { return true; }
--- a/dom/canvas/WebGLContextState.cpp +++ b/dom/canvas/WebGLContextState.cpp @@ -397,32 +397,37 @@ WebGLContext::GetParameter(JSContext* cx case LOCAL_GL_IMPLEMENTATION_COLOR_READ_TYPE: { const webgl::FormatUsageInfo* usage; uint32_t width, height; if (!ValidateCurFBForRead(funcName, &usage, &width, &height)) return JS::NullValue(); GLint i = 0; - if (gl->IsSupported(gl::GLFeature::ES2_compatibility)) { + if (gl->IsGLES()) { + // ES2_compatibility always returns UNSIGNED_BYTE here, so + // branch on actual IsGLES(). + // Also OSX+NV generates an error here. gl->fGetIntegerv(pname, &i); } else { i = LOCAL_GL_UNSIGNED_BYTE; } - return JS::NumberValue(uint32_t(i)); } case LOCAL_GL_IMPLEMENTATION_COLOR_READ_FORMAT: { const webgl::FormatUsageInfo* usage; uint32_t width, height; if (!ValidateCurFBForRead(funcName, &usage, &width, &height)) return JS::NullValue(); GLint i = 0; - if (gl->IsSupported(gl::GLFeature::ES2_compatibility)) { + if (gl->IsGLES()) { + // ES2_compatibility always returns UNSIGNED_BYTE here, so + // branch on actual IsGLES(). + // Also OSX+NV generates an error here. gl->fGetIntegerv(pname, &i); } else { i = LOCAL_GL_RGBA; } // OpenGL ES 3.0.4 p112 Table 3.2 shows that read format SRGB_ALPHA is // not supported. And if internal format of fbo is SRGB8_ALPHA8, then // IMPLEMENTATION_COLOR_READ_FORMAT is SRGB_ALPHA which is not supported
--- a/dom/canvas/test/webgl-conf/generated-mochitest.ini +++ b/dom/canvas/test/webgl-conf/generated-mochitest.ini @@ -4581,17 +4581,16 @@ skip-if = (os == 'android' || os == 'lin skip-if = (os == 'android' || os == 'linux' || (os == 'win' && os_version == '5.1')) [generated/test_2_conformance2__samplers__sampler-drawing-test.html] skip-if = (os == 'android' || os == 'linux' || (os == 'win' && os_version == '5.1')) [generated/test_2_conformance2__samplers__samplers.html] skip-if = (os == 'android' || os == 'linux' || (os == 'win' && os_version == '5.1')) [generated/test_2_conformance2__state__gl-enum-tests.html] skip-if = (os == 'android' || os == 'linux' || (os == 'win' && os_version == '5.1')) [generated/test_2_conformance2__state__gl-get-calls.html] -fail-if = (os == 'mac') skip-if = (os == 'android' || os == 'linux' || (os == 'win' && os_version == '5.1')) [generated/test_2_conformance2__state__gl-getstring.html] skip-if = (os == 'android' || os == 'linux' || (os == 'win' && os_version == '5.1')) [generated/test_2_conformance2__state__gl-object-get-calls.html] skip-if = (os == 'android' || os == 'linux' || (os == 'win' && os_version == '5.1')) [generated/test_2_conformance2__transform_feedback__transform_feedback.html] skip-if = (os == 'android' || os == 'linux' || (os == 'win' && os_version == '5.1')) [generated/test_2_conformance2__vertex_arrays__vertex-array-object.html] @@ -5789,18 +5788,17 @@ skip-if = (os == 'android' || os == 'lin skip-if = (os == 'android' || os == 'linux' || (os == 'win' && os_version == '5.1')) [generated/test_2_conformance__rendering__simple.html] skip-if = (os == 'android' || os == 'linux' || (os == 'win' && os_version == '5.1')) [generated/test_2_conformance__rendering__triangle.html] skip-if = (os == 'android' || os == 'linux' || (os == 'win' && os_version == '5.1')) [generated/test_2_conformance__state__gl-enable-enum-test.html] skip-if = (os == 'android' || os == 'linux' || (os == 'win' && os_version == '5.1')) [generated/test_2_conformance__state__gl-get-calls.html] -skip-if = (os == 'mac' && debug) || (os == 'android' || os == 'linux' || (os == 'win' && os_version == '5.1')) -fail-if = (os == 'mac') +skip-if = (os == 'android' || os == 'linux' || (os == 'win' && os_version == '5.1')) [generated/test_2_conformance__state__gl-geterror.html] skip-if = (os == 'android' || os == 'linux' || (os == 'win' && os_version == '5.1')) [generated/test_2_conformance__state__gl-initial-state.html] skip-if = (os == 'android' || os == 'linux' || (os == 'win' && os_version == '5.1')) [generated/test_2_conformance__state__state-uneffected-after-compositing.html] skip-if = (os == 'android' || os == 'linux' || (os == 'win' && os_version == '5.1')) [generated/test_2_conformance__textures__misc__copy-tex-image-2d-formats.html] skip-if = (os == 'mac') || (os == 'android' || os == 'linux' || (os == 'win' && os_version == '5.1'))
--- a/dom/canvas/test/webgl-conf/mochitest-errata.ini +++ b/dom/canvas/test/webgl-conf/mochitest-errata.ini @@ -528,35 +528,27 @@ fail-if = (os == 'mac' && os_version == fail-if = (os == 'mac' && os_version == '10.8') [generated/test_conformance__glsl__variables__gl-pointcoord.html] fail-if = (os == 'mac' && os_version == '10.8') [generated/test_conformance__limits__gl-max-texture-dimensions.html] fail-if = (os == 'mac' && os_version == '10.8') #################### # failure on OSX -[generated/test_2_conformance2__state__gl-get-calls.html] -fail-if = (os == 'mac') [generated/test_conformance__extensions__angle-instanced-arrays.html] fail-if = (os == 'mac') [generated/test_conformance__glsl__misc__shaders-with-invariance.html] fail-if = (os == 'mac') [generated/test_2_conformance2__extensions__ext-color-buffer-float.html] skip-if = (os == 'mac' && debug) [generated/test_2_conformance__limits__gl-line-width.html] skip-if = (os == 'mac') [generated/test_2_conformance__misc__type-conversion-test.html] skip-if = (os == 'mac' && debug) -[generated/test_2_conformance__state__gl-get-calls.html] -# Hit MOZ_GL_DEBUG_ABORT_ON_ERROR on debug build -fail-if = (os == 'mac') -skip-if = (os == 'mac' && debug) - - ######################################################################## ######################################################################## # Win [generated/test_2_conformance__ogles__GL__built_in_varying_array_out_of_bounds__built_in_varying_array_out_of_bounds_001_to_001.html] # time out crash skip-if = (os == 'win') [generated/test_conformance__ogles__GL__built_in_varying_array_out_of_bounds__built_in_varying_array_out_of_bounds_001_to_001.html]