зеркало из https://github.com/mozilla/gecko-dev.git
59 строки
1.3 KiB
HTML
59 строки
1.3 KiB
HTML
<!DOCTYPE html>
|
|
<html class="reftest-wait">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
|
|
<script type="text/javascript" src="webgl-utils.js"></script>
|
|
<script type="text/javascript">
|
|
/* Hanging Framebuffer Test
|
|
*
|
|
* Clear the canvas to green, but create and bind a new framebuffer
|
|
* before returning. This will fail if we blindly read from the bound
|
|
* framebuffer, instead of binding to the screen and reading from that.
|
|
*
|
|
* How failure looks isn't well defined, since this is an empty framebuffer,
|
|
* thus is incomplete, and should cause errors if it's read from.
|
|
*/
|
|
|
|
"use strict";
|
|
|
|
function renderGL(gl) {
|
|
gl.clearColor(0.0, 1.0, 0.0, 1.0);
|
|
gl.clear(gl.COLOR_BUFFER_BIT);
|
|
|
|
var fb = gl.createFramebuffer();
|
|
gl.bindFramebuffer(gl.FRAMEBUFFER, fb);
|
|
|
|
gl.finish();
|
|
}
|
|
|
|
function renderFailure(canvas) {
|
|
// This will also trigger RAF for us.
|
|
var context = canvas.getContext("2d");
|
|
context.fillText('WebGL failed.', 64, 64);
|
|
}
|
|
|
|
function runTest() {
|
|
var canvas = document.getElementById("canvas");
|
|
var gl = initGL(canvas);
|
|
|
|
if (gl)
|
|
renderGL(gl);
|
|
else
|
|
renderFailure(canvas);
|
|
|
|
waitForComposite(testComplete);
|
|
}
|
|
|
|
function testComplete() {
|
|
document.documentElement.removeAttribute("class");
|
|
}
|
|
</script>
|
|
</head>
|
|
|
|
<body onload="rAF(runTest);">
|
|
<canvas id="canvas" width="256" height="256"></canvas>
|
|
</body>
|
|
|
|
</html>
|