Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(702)

Unified Diff: conformance/canvas/buffer-offscreen-test.html

Issue 8342021: Add webgl conformance tests r15841. (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/webgl/sdk/tests/
Patch Set: Created 9 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « conformance/canvas/00_test_list.txt ('k') | conformance/canvas/buffer-preserve-test.html » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: conformance/canvas/buffer-offscreen-test.html
===================================================================
--- conformance/canvas/buffer-offscreen-test.html (revision 0)
+++ conformance/canvas/buffer-offscreen-test.html (revision 0)
@@ -0,0 +1,92 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+<meta charset="utf-8">
+<title>WebGL required buffer clear behaviour test</title>
+<link rel="stylesheet" href="../../resources/js-test-style.css"/>
+<script src="../../resources/js-test-pre.js"></script>
+<script src="../resources/webgl-test.js"> </script>
+<script src="../resources/webgl-test-utils.js"> </script>
+<style type="text/css">
+body {
+ height: 3000px;
+}
+</style>
+<script type="text/javascript">
+
+var iter = 0;
+var gl1;
+var gl2;
+
+var wtu = WebGLTestUtils;
+
+function timer() {
+ if (iter == 0) {
+ // some random hacky stuff to make sure that we get a compositing step
+ window.scrollBy(0, 10);
+ window.scrollBy(0, -10);
+ iter++;
+
+ setTimeout(timer, 500);
+ } else if (iter == 1) {
+ function clear(gl) {
+ // scissor was set earlier
+ gl.clearColor(0, 0, 1, 1);
+ gl.clear(gl.COLOR_BUFFER_BIT);
+ }
+ clear(gl1);
+ clear(gl2);
+
+ debug("check on screen canvas");
+ wtu.checkCanvasRect(gl1, 0, 10, 10, 10, [0, 0, 255, 255], "cleared corner should be blue, stencil should be preserved");
+ wtu.checkCanvasRect(gl1, 0, 0, 10, 10, [0, 0, 0, 0], "remainder of buffer should be cleared");
+ debug("check off screen canvas");
+ wtu.checkCanvasRect(gl2, 0, 10, 10, 10, [0, 0, 255, 255], "cleared corner should be blue, stencil should be preserved");
+ wtu.checkCanvasRect(gl2, 0, 0, 10, 10, [255, 0, 0, 255], "remainder of buffer should be un-cleared red");
+
+ finishTest();
+ }
+}
+
+function go() {
+ description("This test ensures WebGL implementations correctly clear the drawing buffer on composite if preserveDrawingBuffer is false.");
+
+ debug("");
+
+ gl1 = create3DContext(document.getElementById("c"));
+ c2 = document.createElement('canvas');
+ gl2 = create3DContext(c2);
+ shouldBeTrue("gl1 != null");
+ shouldBeTrue("gl2 != null");
+
+ shouldBeTrue('gl1.getContextAttributes().preserveDrawingBuffer == false');
+ shouldBeTrue('gl2.getContextAttributes().preserveDrawingBuffer == false');
+
+ function init(gl) {
+ gl.clearColor(1, 0, 0, 1);
+ gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT | gl.STENCIL_BUFFER_BIT);
+
+ // enable scissor here, before compositing, to make sure it's correctly
+ // ignored and restored
+ gl.scissor(0, 10, 10, 10);
+ gl.enable(gl.SCISSOR_TEST);
+ }
+
+ init(gl1);
+ init(gl2);
+
+ setTimeout(timer, 500);
+}
+
+window.addEventListener("load", go, false);
+
+successfullyParsed = true;
+</script>
+</head>
+<body>
+<div id="description"></div>
+<canvas width="20" height="20" style="border: 1px solid blue;" id="c"></canvas>
+<div id="console"></div>
+</body>
+</html>
+
Property changes on: conformance/canvas/buffer-offscreen-test.html
___________________________________________________________________
Added: svn:eol-style
+ LF
« no previous file with comments | « conformance/canvas/00_test_list.txt ('k') | conformance/canvas/buffer-preserve-test.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698