aboutsummaryrefslogtreecommitdiffstats
path: root/tests/html/test_webgl_triangle.html
diff options
context:
space:
mode:
authorImanol Fernandez <mortimergoro@gmail.com>2016-10-03 16:15:37 +0200
committerImanol Fernandez <mortimergoro@gmail.com>2016-10-03 16:17:19 +0200
commit328dacee8b9abaee40909d11f6c4cf97ecce3870 (patch)
tree14eed013e94123c1cd26747f27c04ca61b7cf6c0 /tests/html/test_webgl_triangle.html
parenta07d6b37cc9baf0896e4a6721da535fbcea4a186 (diff)
downloadservo-328dacee8b9abaee40909d11f6c4cf97ecce3870.tar.gz
servo-328dacee8b9abaee40909d11f6c4cf97ecce3870.zip
Improve test_webgl_triangle.html
Diffstat (limited to 'tests/html/test_webgl_triangle.html')
-rw-r--r--tests/html/test_webgl_triangle.html26
1 files changed, 22 insertions, 4 deletions
diff --git a/tests/html/test_webgl_triangle.html b/tests/html/test_webgl_triangle.html
index 2386f3fa1bf..c1559a1b11f 100644
--- a/tests/html/test_webgl_triangle.html
+++ b/tests/html/test_webgl_triangle.html
@@ -31,6 +31,8 @@ void main() {
</script>
<script type="text/javascript">
+(function() {
+
var canvas;
function initWebGL()
{
@@ -41,6 +43,10 @@ void main() {
}
var gl = initWebGL();
+ if (!gl) {
+ alert("No webgl context found!");
+ return;
+ }
// Setup Shaders:
var v = document.getElementById("vertexshader").firstChild.nodeValue;
@@ -54,7 +60,8 @@ void main() {
gl.compileShader(vs);
if (!gl.getShaderParameter(vs, gl.COMPILE_STATUS)) {
- alert(gl.getShaderInfoLog(vs));
+ alert("Shader failed to compile. Reason: " + gl.getShaderInfoLog(vs));
+ return;
}
var fs = gl.createShader(gl.FRAGMENT_SHADER);
@@ -62,7 +69,8 @@ void main() {
gl.compileShader(fs);
if (!gl.getShaderParameter(fs, gl.COMPILE_STATUS)) {
- alert(gl.getShaderInfoLog(fs));
+ alert("Shader failed to compile. Reason: " + gl.getShaderInfoLog(fs));
+ return;
}
program = gl.createProgram();
@@ -70,8 +78,16 @@ void main() {
gl.attachShader(program, fs);
gl.linkProgram(program);
- // if (!gl.getProgramParameter(program, gl.LINK_STATUS))
- // alert(gl.getProgramInfoLog(program));
+ if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {
+ alert("Shader failed to link. Reason: " + gl.getProgramInfoLog(program));
+ return;
+ }
+
+ gl.validateProgram(program);
+ if (!gl.getProgramParameter( program, gl.VALIDATE_STATUS)) {
+ alert("Program failed to validate. Reason: " + gl.getProgramInfoLog(program));
+ return;
+ }
// Setup Geometry
var vertices = new Float32Array([
@@ -107,6 +123,8 @@ void main() {
// Draw
gl.drawArrays(gl.TRIANGLES, 0, 3);
+
+})();
</script>
</body>
</html>