Index: third_party/webgl/sdk/tests/conformance/buffer-preserve-test.html |
diff --git a/third_party/webgl/sdk/tests/conformance/buffer-preserve-test.html b/third_party/webgl/sdk/tests/conformance/buffer-preserve-test.html |
index 17327f697689faf1abe38ae34e12b8df8b7de4d9..53a96a8bf6f534f5391e10ae29262e3bab785041 100644 |
--- a/third_party/webgl/sdk/tests/conformance/buffer-preserve-test.html |
+++ b/third_party/webgl/sdk/tests/conformance/buffer-preserve-test.html |
@@ -15,37 +15,30 @@ body { |
<script type="text/javascript"> |
var iter = 0; |
-var gl; |
+var gl1; |
var wtu = WebGLTestUtils; |
-function checkPixel(gl, x, y, c) { |
- var buf = new Uint8Array(4); |
- gl.readPixels(x, y, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, buf); |
- |
- return buf[0] == c[0] && |
- buf[1] == c[1] && |
- buf[2] == c[2] && |
- buf[3] == c[3]; |
-} |
- |
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++; |
+ // 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); |
+ setTimeout(timer, 500); |
} else if (iter == 1) { |
- // scissor was set earlier |
- gl.clearColor(0, 0, 1, 1); |
- gl.clear(gl.COLOR_BUFFER_BIT); |
+ function clear(gl) { |
+ // scissor was set earlier |
+ gl.clearColor(0, 0, 1, 1); |
+ gl.clear(gl.COLOR_BUFFER_BIT); |
- wtu.checkCanvasRect(gl, 0, 10, 10, 10, [0, 0, 255, 255], "cleared corner should be blue, stencil should be preserved"); |
- wtu.checkCanvasRect(gl, 0, 0, 10, 10, [0, 0, 0, 0], "remainder of buffer should be cleared"); |
+ wtu.checkCanvasRect(gl, 0, 10, 10, 10, [0, 0, 255, 255], "cleared corner should be blue, stencil should be preserved"); |
+ wtu.checkCanvasRect(gl, 0, 0, 10, 10, [0, 0, 0, 0], "remainder of buffer should be cleared"); |
+ } |
+ clear(gl1); |
- finishTest(); |
+ finishTest(); |
} |
} |
@@ -54,21 +47,26 @@ function go() { |
debug(""); |
- gl = create3DContext(document.getElementById("c")); |
- if (!gl) { |
- finishTest(); |
- return; |
+ gl1 = create3DContext(document.getElementById("c")); |
+ if (!gl1) { |
+ finishTest(); |
+ return; |
} |
- shouldBeTrue('gl.getContextAttributes().preserveDrawingBuffer == false'); |
+ shouldBeTrue("gl1 != null"); |
+ shouldBeTrue('gl1.getContextAttributes().preserveDrawingBuffer == false'); |
- gl.clearColor(1, 0, 0, 1); |
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT | gl.STENCIL_BUFFER_BIT); |
+ 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); |
+ } |
- // 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); |
setTimeout(timer, 500); |
} |