65 lines
2.5 KiB
HTML
65 lines
2.5 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<script src="../../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body>
|
|
<canvas id="c" width="40" height="40"></canvas>
|
|
<script>
|
|
description("Checks that using WebGL 2 buffer targets don't cause errors");
|
|
|
|
if (window.internals)
|
|
internals.settings.setWebGL2Enabled(true);
|
|
|
|
var canvas = document.getElementById("c");
|
|
var context = canvas.getContext("webgl2");
|
|
shouldBe("context.getError()", "context.NO_ERROR");
|
|
checkBufferSuccess(context, context.ARRAY_BUFFER);
|
|
checkBufferSuccess(context, context.COPY_READ_BUFFER);
|
|
checkBufferSuccess(context, context.COPY_WRITE_BUFFER);
|
|
checkBufferSuccess(context, context.ELEMENT_ARRAY_BUFFER);
|
|
checkBufferSuccess(context, context.PIXEL_PACK_BUFFER);
|
|
checkBufferSuccess(context, context.PIXEL_UNPACK_BUFFER);
|
|
checkBufferSuccess(context, context.TRANSFORM_FEEDBACK_BUFFER);
|
|
checkBufferSuccess(context, context.UNIFORM_BUFFER);
|
|
|
|
canvas = document.createElement("canvas");
|
|
canvas.width = 40;
|
|
canvas.height = 40;
|
|
context = canvas.getContext("webgl");
|
|
shouldBe("context.getError()", "context.NO_ERROR");
|
|
shouldBe("context.getError()", "context.NO_ERROR");
|
|
checkBufferSuccess(context, context.ARRAY_BUFFER);
|
|
checkBufferFailure(context, context.COPY_READ_BUFFER);
|
|
checkBufferFailure(context, context.COPY_WRITE_BUFFER);
|
|
checkBufferSuccess(context, context.ELEMENT_ARRAY_BUFFER);
|
|
checkBufferFailure(context, context.PIXEL_PACK_BUFFER);
|
|
checkBufferFailure(context, context.PIXEL_UNPACK_BUFFER);
|
|
checkBufferFailure(context, context.TRANSFORM_FEEDBACK_BUFFER);
|
|
checkBufferFailure(context, context.UNIFORM_BUFFER);
|
|
|
|
function checkBufferSuccess(context, target) {
|
|
var buffer = context.createBuffer();
|
|
shouldBe("context.getError()", "context.NO_ERROR");
|
|
context.bindBuffer(target, buffer);
|
|
shouldBe("context.getError()", "context.NO_ERROR");
|
|
context.bufferData(target, new Int32Array(16), context.STATIC_DRAW);
|
|
shouldBe("context.getError()", "context.NO_ERROR");
|
|
context.deleteBuffer(buffer);
|
|
shouldBe("context.getError()", "context.NO_ERROR");
|
|
}
|
|
|
|
function checkBufferFailure(context, target) {
|
|
var buffer = context.createBuffer();
|
|
shouldBe("context.getError()", "context.NO_ERROR");
|
|
context.bindBuffer(target, buffer);
|
|
shouldBe("context.getError()", "context.INVALID_ENUM");
|
|
context.bufferData(target, new Int32Array(16), context.STATIC_DRAW);
|
|
shouldBe("context.getError()", "context.INVALID_ENUM");
|
|
context.deleteBuffer(buffer);
|
|
shouldBe("context.getError()", "context.NO_ERROR");
|
|
}
|
|
</script>
|
|
<script src="../../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html> |