Bug 1319801 - Move Linux64 mochitest-gl to Ubuntu 16.04. r=jgilbert

This patch has a few parts to make this work:
1) more tests pass on ubuntu 16, so remove old fail-if conditions
2) no support for GL_ARB_gpu_shader5, we cherry pick from updated ANGLE code
3) disable test_capture.html as it leaks on ASAN

MozReview-Commit-ID: BSSiTFvF9jN
This commit is contained in:
Joel Maher 2017-02-02 06:33:46 -05:00
parent 9050f77b55
commit 64f1bc3955
6 changed files with 22 additions and 32 deletions

View File

@ -8078,7 +8078,7 @@ skip-if = 1
[generated/test_conformance__ogles__GL__biConstants__biConstants_001_to_008.html]
[generated/test_conformance__ogles__GL__biConstants__biConstants_009_to_016.html]
[generated/test_conformance__ogles__GL__biuDepthRange__biuDepthRange_001_to_002.html]
fail-if = (os == 'android') || (os == 'linux')
fail-if = (os == 'android')
[generated/test_conformance__ogles__GL__build__build_001_to_008.html]
[generated/test_conformance__ogles__GL__build__build_009_to_016.html]
[generated/test_conformance__ogles__GL__build__build_017_to_024.html]
@ -8125,7 +8125,7 @@ skip-if = (os == 'win')
[generated/test_conformance__ogles__GL__floor__floor_001_to_006.html]
[generated/test_conformance__ogles__GL__fract__fract_001_to_006.html]
[generated/test_conformance__ogles__GL__functions__functions_001_to_008.html]
fail-if = (os == 'android') || (os == 'linux')
fail-if = (os == 'android')
[generated/test_conformance__ogles__GL__functions__functions_009_to_016.html]
[generated/test_conformance__ogles__GL__functions__functions_017_to_024.html]
[generated/test_conformance__ogles__GL__functions__functions_025_to_032.html]
@ -8142,7 +8142,7 @@ fail-if = (os == 'android') || (os == 'linux')
[generated/test_conformance__ogles__GL__functions__functions_113_to_120.html]
[generated/test_conformance__ogles__GL__functions__functions_121_to_126.html]
[generated/test_conformance__ogles__GL__gl_FragCoord__gl_FragCoord_001_to_003.html]
fail-if = (os == 'android') || (os == 'linux')
fail-if = (os == 'android')
[generated/test_conformance__ogles__GL__gl_FrontFacing__gl_FrontFacing_001_to_001.html]
[generated/test_conformance__ogles__GL__greaterThanEqual__greaterThanEqual_001_to_008.html]
[generated/test_conformance__ogles__GL__greaterThan__greaterThan_001_to_008.html]
@ -8185,7 +8185,7 @@ skip-if = (os == 'linux')
[generated/test_conformance__ogles__GL__sign__sign_001_to_006.html]
skip-if = (os == 'linux')
[generated/test_conformance__ogles__GL__sin__sin_001_to_006.html]
fail-if = (os == 'android') || (os == 'linux')
fail-if = (os == 'android')
[generated/test_conformance__ogles__GL__smoothstep__smoothstep_001_to_006.html]
[generated/test_conformance__ogles__GL__sqrt__sqrt_001_to_006.html]
[generated/test_conformance__ogles__GL__step__step_001_to_006.html]

View File

@ -148,9 +148,9 @@ fail-if = (os == 'mac') || (os == 'win') || (os == 'android') || (os == 'linux')
[generated/test_conformance__attribs__gl-vertexattribpointer.html]
fail-if = (os == 'android')
[generated/test_conformance__ogles__GL__biuDepthRange__biuDepthRange_001_to_002.html]
fail-if = (os == 'android') || (os == 'linux')
fail-if = (os == 'android')
[generated/test_conformance__ogles__GL__gl_FragCoord__gl_FragCoord_001_to_003.html]
fail-if = (os == 'android') || (os == 'linux')
fail-if = (os == 'android')
[generated/test_conformance__textures__misc__texture-size-limit.html]
fail-if = (os == 'linux') || (os == 'android')
@ -369,9 +369,9 @@ skip-if = (os == 'android') || (os == 'linux')
# connect to 127.0.0.1 after 5 attempts" on 'Android 2.3 Opt'.
skip-if = (os == 'android') || (os == 'linux')
[generated/test_conformance__ogles__GL__functions__functions_001_to_008.html]
fail-if = (os == 'android') || (os == 'linux')
fail-if = (os == 'android')
[generated/test_conformance__ogles__GL__sin__sin_001_to_006.html]
fail-if = (os == 'android') || (os == 'linux')
fail-if = (os == 'android')
[generated/test_conformance__reading__read-pixels-test.html]
# Causes consistent *blues*: "DMError: Remote Device Error: unable to
# connect to 127.0.0.1 after 5 attempts" on 'Android 2.3 Opt'.

View File

@ -30,7 +30,7 @@ fail-if = (os == 'android')
[ensure-exts/test_WEBGL_compressed_texture_atc.html]
fail-if = (os == 'android') || (os == 'linux') || (os == 'mac') || (os == 'win')
[ensure-exts/test_WEBGL_compressed_texture_es3.html]
fail-if = (os == 'android') || (os == 'linux') || (os == 'mac') || (os == 'win')
fail-if = (os == 'android') || (os == 'mac') || (os == 'win')
[ensure-exts/test_WEBGL_compressed_texture_etc1.html]
fail-if = (os == 'linux') || (os == 'mac') || (os == 'win')
[ensure-exts/test_WEBGL_compressed_texture_pvrtc.html]

View File

@ -257,20 +257,14 @@ void TranslatorGLSL::writeExtensionBehavior(TIntermNode *root)
}
// Need to enable gpu_shader5 to have index constant sampler array indexing
if (getOutputType() != SH_ESSL_OUTPUT && getOutputType() < SH_GLSL_400_CORE_OUTPUT)
if (getOutputType() != SH_ESSL_OUTPUT && getOutputType() < SH_GLSL_400_CORE_OUTPUT &&
getShaderVersion() == 100)
{
sink << "#extension GL_ARB_gpu_shader5 : ";
// Don't use "require" on WebGL 1 to avoid breaking WebGL on drivers that silently
// support index constant sampler array indexing, but don't have the extension.
if (getShaderVersion() >= 300)
{
sink << "require\n";
}
else
{
sink << "enable\n";
}
// Don't use "require" on to avoid breaking WebGL 1 on drivers that silently
// support index constant sampler array indexing, but don't have the extension or
// on drivers that don't have the extension at all as it would break WebGL 1 for
// some users.
sink << "#extension GL_ARB_gpu_shader5 : enable\n";
}
TExtensionGLSL extensionGLSL(getOutputType());

View File

@ -547,16 +547,11 @@ void GenerateCaps(const FunctionsGL *functions, gl::Caps *caps, gl::TextureCapsM
LimitVersion(maxSupportedESVersion, gl::Version(2, 0));
}
// Check if index constant sampler array indexing is supported
if (!functions->isAtLeastGL(gl::Version(4, 0)) &&
!functions->isAtLeastGLES(gl::Version(2, 0)) &&
!functions->hasExtension("GL_ARB_gpu_shader5"))
{
// This should also be required for ES2 but there are some driver support index constant
// sampler array indexing without meeting the requirements above. Don't limit their ES
// version as it would break WebGL for some users.
LimitVersion(maxSupportedESVersion, gl::Version(2, 0));
}
// Non-constant sampler array indexing is required for OpenGL ES 2 and OpenGL ES after 3.2.
// However having it available on OpenGL ES 2 is a specification bug, and using this
// indexing in WebGL is undefined. Requiring this feature would break WebGL 1 for some users
// so we don't check for it. (it is present with ESSL 100, ESSL >= 320, GLSL >= 400 and
// GL_ARB_gpu_shader5)
// Check if sampler objects are supported
if (!functions->isAtLeastGL(gl::Version(3, 3)) &&

View File

@ -804,6 +804,7 @@ mochitest-webgl:
description: "Mochitest webgl run"
suite: mochitest/mochitest-gl
treeherder-symbol: tc-M(gl)
docker-image: {"in-tree": "desktop1604-test"}
chunks:
by-test-platform:
android.*: 10