| 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
|
|
|
|
|