Bug 1229944 - Add a fixed test. - r=kamidphish - CLOSED TREE HOTFIX
authorJeff Gilbert <jgilbert@mozilla.com>
Wed, 16 Dec 2015 16:44:53 -0800
changeset 276653 6baf1845b9667ddabbf68c40f4030e763bc3f3f5
parent 276652 92dd0bbbf087f1b72da49ae16748faf536a46fd4
child 276654 fadbd842107b6f5f843e75ac2043f13b5238cca8
push id69252
push userjgilbert@mozilla.com
push dateThu, 17 Dec 2015 00:45:02 +0000
treeherdermozilla-inbound@6baf1845b966 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerskamidphish
bugs1229944
milestone46.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 1229944 - Add a fixed test. - r=kamidphish - CLOSED TREE HOTFIX
dom/canvas/test/webgl-mochitest.ini
dom/canvas/test/webgl-mochitest/test_depth_tex_lazy_clear.html
--- a/dom/canvas/test/webgl-mochitest.ini
+++ b/dom/canvas/test/webgl-mochitest.ini
@@ -7,16 +7,17 @@ support-files =
   webgl-mochitest/webgl-util.js
 
 [webgl-mochitest/test_backbuffer_channels.html]
 fail-if = (os == 'b2g')
 [webgl-mochitest/test_depth_readpixels.html]
 [webgl-mochitest/test_capture.html]
 support-files = captureStream_common.js
 [webgl-mochitest/test_cubemap_must_be_square.html]
+[webgl-mochitest/test_depth_tex_lazy_clear.html]
 [webgl-mochitest/test_draw.html]
 [webgl-mochitest/test_fb_param.html]
 [webgl-mochitest/test_fb_param_crash.html]
 [webgl-mochitest/test_hidden_alpha.html]
 skip-if = (os == 'b2g') || buildapp == 'mulet' # Mulet - bug 1093639 (crashes in libLLVM-3.0.so)
 [webgl-mochitest/test_implicit_color_buffer_float.html]
 [webgl-mochitest/test_highp_fs.html]
 [webgl-mochitest/test_no_arr_points.html]
new file mode 100644
--- /dev/null
+++ b/dom/canvas/test/webgl-mochitest/test_depth_tex_lazy_clear.html
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+  <meta charset='utf-8'/>
+  <script src='/tests/SimpleTest/SimpleTest.js'></script>
+  <link rel='stylesheet' href='/tests/SimpleTest/test.css'>
+  <script src='webgl-util.js'></script>
+</head>
+<body>
+<script id='vs' type='x-shader/x-vertex'>
+
+attribute vec2 aVertCoord;
+
+void main(void) {
+  gl_Position = vec4(aVertCoord, 0.0, 1.0);
+}
+
+</script>
+<script id='fs' type='x-shader/x-fragment'>
+
+precision mediump float;
+uniform sampler2D uTexUnit;
+
+void main(void) {
+  vec4 tex = texture2D(uTexUnit, vec2(0));
+  gl_FragColor = vec4(tex.r, 1.0, 0.0, 1.0);
+}
+
+</script>
+<script>
+'use strict';
+
+var gl = null;
+
+do {
+  var c = document.createElement('canvas');
+  gl = c.getContext('webgl');
+  if (!gl) {
+    todo(false, 'Get GL working here first.');
+    break;
+  }
+
+  var ext = gl.getExtension('WEBGL_depth_texture');
+  if (!ext) {
+    todo(false, 'WEBGL_depth_texture not supported, which is fine.');
+    break;
+  }
+
+  var prog = WebGLUtil.createProgramByIds(gl, 'vs', 'fs');
+  if (!prog) {
+    ok(false, 'Program linking should succeed.');
+    break;
+  }
+
+  var tex = gl.createTexture();
+  gl.bindTexture(gl.TEXTURE_2D, tex);
+  gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT,
+                gl.UNSIGNED_INT, null);
+
+  var uTexUnit = gl.getUniformLocation(prog, 'uTexUnit');
+  gl.useProgram(prog);
+  gl.uniform1i(uTexUnit, 0);
+
+  gl.drawArrays(gl.POINTS, 0, 1);
+
+  ok(!gl.getError(), 'Should have no errors.');
+} while (false);
+
+ok(true, 'Test complete.');
+
+</script>
+</body>
+</html>