1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
content / test / data / gpu / pixel_canvas2d_webgl.html [blame]
<!DOCTYPE HTML>
<html>
<head>
<title>Accelerated Retina Canvas 2D and WebGL Test: Red Box and Green Triangle over Black Background</title>
<style type="text/css">
.nomargin {
margin: 0px auto;
}
</style>
<script src="pixel_webgl_util.js"></script>
<script>
var g_swapsBeforeAck = 15;
var gl;
function main()
{
var canvas = document.getElementById("c");
canvas.style.width = canvas.style.height = "150px";
var c2d = canvas.getContext("2d");
c2d.clearRect(0, 0, canvas.width, canvas.height);
c2d.fillStyle = "rgba(255, 0, 0, 0.5)";
c2d.fillRect(50, 50, 100, 100);
var webglCanvas = document.getElementById("c2");
gl = initGL(webglCanvas);
if (!gl) {
console.log('Failed to initialize GL from canvas: ' + webglCanvas);
domAutomationController.send("FAILURE");
return;
}
if (!setup(gl)) {
console.log('Failed to set up GL: ' + gl);
domAutomationController.send("FAILURE");
return;
}
gl.viewport(0, 0, 50, 50);
waitForFinish();
}
function waitForFinish()
{
if (g_swapsBeforeAck == 0) {
domAutomationController.send("SUCCESS");
} else {
g_swapsBeforeAck--;
document.getElementById('container').style.zIndex = g_swapsBeforeAck + 1;
drawTriangle(gl);
window.requestAnimationFrame(waitForFinish);
}
}
</script>
</head>
<body onload="main()">
<div style="position:relative; width:300px; height:300px; background-color:black">
</div>
<div id="container" style="position:absolute; top:0px; left:0px">
<canvas id="c2" width="50" height="50" class="nomargin"></canvas>
<!--
Canvas acceleration requires that the canvas be at least 256x257.
-->
<canvas id="c" width="300" height="300" class="nomargin"></canvas>
</div>
</body>
</html>