summaryrefslogtreecommitdiffstats
path: root/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-input-validation.html
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-input-validation.html')
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-input-validation.html353
1 files changed, 0 insertions, 353 deletions
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-input-validation.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-input-validation.html
deleted file mode 100644
index b28da68..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-input-validation.html
+++ /dev/null
@@ -1,353 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-
-<script>
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var wtu = WebGLTestUtils;
-var gl = null;
-var tex = null;
-var error = 0;
-
-function enumToString(value) {
- return wtu.glEnumToString(gl, value);
-}
-
-function testTexImage2D(testCase)
-{
- var level = 0;
- var width = 16;
- var height = 16;
- var msg = "" +
- " internalFormat: " + enumToString(testCase.internalFormat) +
- " target: " + enumToString(testCase.target) +
- " format: " + enumToString(testCase.format) +
- " type: " + enumToString(testCase.type) +
- " border: " + testCase.border;
-
- gl.texImage2D(testCase.target, level, testCase.internalFormat, width, height, testCase.border, testCase.format, testCase.type, null);
- error = testCase.expectedError;
- glErrorShouldBe(gl, error, msg);
-}
-
-function testTexSubImage2D(testCase)
-{
- var level = 0;
- var xoffset = 0;
- var yoffset = 0;
- var width = 16;
- var height = 16;
- var msg = ""+
- " format: " + enumToString(testCase.format) +
- " type: " + enumToString(testCase.type);
- var array = new Uint8Array(width * height * 4);
- gl.texSubImage2D(testCase.target, level, xoffset, yoffset, width, height, testCase.format, testCase.type, array);
- error = testCase.expectedError;
- glErrorShouldBe(gl, error, msg);
-}
-
-function testTexParameter(testCase)
-{
- var msg = "paramName: " + enumToString(testCase.pname);
- error = testCase.expectedError;
- gl.texParameteri(testCase.target, testCase.pname, testCase.param);
- glErrorShouldBe(gl, error, msg);
- gl.texParameterf(testCase.target, testCase.pname, testCase.param);
- glErrorShouldBe(gl, error, msg);
-}
-
-function testGetTexParameter(testCase)
-{
- var msg = "paramName: " + enumToString(testCase.pname);
- error = testCase.expectedError;
- gl.getTexParameter(testCase.target, testCase.pname);
- glErrorShouldBe(gl, error, msg);
-}
-
-function testCopyTexImage2D(testCase)
-{
- var level = 0;
- var x = 0;
- var y = 0;
- var width = 16;
- var height = 16;
-
- var msg = "" +
- " colorBufferFormat: " + enumToString(testCase.colorBufferFormat) +
- " internalFormat: " + enumToString(testCase.internalFormat) +
- " target: " + enumToString(testCase.target) +
- " border: " + testCase.border;
-
- gl.renderbufferStorage(gl.RENDERBUFFER, testCase.colorBufferFormat, width, height);
- glErrorShouldBe(gl, gl.NO_ERROR);
- shouldBe("gl.checkFramebufferStatus(gl.FRAMEBUFFER)", "gl.FRAMEBUFFER_COMPLETE");
-
- gl.copyTexImage2D(testCase.target, level, testCase.internalFormat, x, y, width, height, testCase.border);
- error = testCase.expectedError;
- glErrorShouldBe(gl, error, msg);
-}
-
-function testCopyTexSubImage2D(testCase)
-{
- var level = 0;
- var x = 0;
- var y = 0;
- var width = 16;
- var height = 16;
- var xoffset = 0;
- var yoffset = 0;
- var border = 0;
- var type = gl.UNSIGNED_BYTE;
- var msg = "" +
- " colorBufferFormat: " + enumToString(testCase.colorBufferFormat) +
- " internalFormat: " + enumToString(testCase.internalFormat) +
- " target: " + enumToString(testCase.target);
-
- gl.renderbufferStorage(gl.RENDERBUFFER, testCase.colorBufferFormat, width, height);
- glErrorShouldBe(gl, gl.NO_ERROR);
- shouldBe("gl.checkFramebufferStatus(gl.FRAMEBUFFER)", "gl.FRAMEBUFFER_COMPLETE");
-
- gl.texImage2D(testCase.target, level, testCase.internalFormat, xoffset + width, yoffset + height, border, testCase.internalFormat, type, null);
- glErrorShouldBe(gl, gl.NO_ERROR);
-
- gl.copyTexSubImage2D(testCase.target, level, xoffset, yoffset, x, y, width, height);
- error = testCase.expectedError;
- glErrorShouldBe(gl, error, msg);
-}
-
-function testCopyFromInternalFBO(testCase)
-{
- var target = gl.TEXTURE_2D;
- var level = 0;
- var x = 0;
- var y = 0;
- var width = 16;
- var height = 16;
- var xoffset = 0;
- var yoffset = 0;
- var border = 0;
- var type = gl.UNSIGNED_BYTE;
- var msg = "" +
- " colorBufferFormat: " + enumToString(testCase.contextAlpha ? gl.RGBA : gl.RGB) +
- " internalFormat: " + enumToString(testCase.internalFormat);
-
- if (testCase.contextAlpha)
- gl = create3DContext(null, { alpha: true });
- else
- gl = create3DContext(null, { alpha: false });
- shouldBeNonNull("gl");
- shouldBeNonNull("tex = gl.createTexture()");
- gl.bindTexture(target, tex);
- if (testCase.subImage) {
- gl.texImage2D(target, level, testCase.internalFormat, xoffset + width, yoffset + height, border, testCase.internalFormat, type, null);
- glErrorShouldBe(gl, gl.NO_ERROR);
- gl.copyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
- } else {
- glErrorShouldBe(gl, gl.NO_ERROR);
- gl.copyTexImage2D(target, level, testCase.internalFormat, x, y, width, height, border);
- }
- error = testCase.expectedError;
- glErrorShouldBe(gl, error, msg);
-}
-
-description("Validate tex functions input parameters");
-
-shouldBeNonNull("gl = create3DContext()");
-shouldBeNonNull("tex = gl.createTexture()");
-gl.bindTexture(gl.TEXTURE_2D, tex);
-glErrorShouldBe(gl, gl.NO_ERROR);
-
-debug("");
-debug("Checking TexImage2D: a set of inputs that are valid in GL but invalid in GLES2");
-
-var testCases =
- [ {target: 0x8064, // GL_PROXY_TEXTURE_2D
- internalFormat: gl.RGBA,
- border: 0,
- format: gl.RGBA,
- type: gl.UNSIGNED_BYTE,
- expectedError: gl.INVALID_ENUM},
- {target: gl.TEXTURE_2D,
- internalFormat: 0x1903, // GL_RED
- border: 0,
- format: 0x1903, // GL_RED
- type: gl.UNSIGNED_BYTE,
- expectedError: [gl.INVALID_ENUM, gl.INVALID_VALUE] },
- {target: gl.TEXTURE_2D,
- internalFormat: gl.RGBA,
- border: 1,
- format: gl.RGBA,
- type: gl.UNSIGNED_BYTE,
- expectedError: gl.INVALID_VALUE},
- {target: gl.TEXTURE_2D,
- internalFormat: gl.RGBA,
- border: 0,
- format: gl.RGB,
- type: gl.UNSIGNED_BYTE,
- expectedError: gl.INVALID_OPERATION},
- {target: gl.TEXTURE_2D,
- internalFormat: gl.RGBA,
- border: 0,
- format: gl.RGBA,
- type: gl.BYTE,
- expectedError: gl.INVALID_ENUM},
- {target: gl.TEXTURE_2D,
- internalFormat: gl.RGBA,
- border: 0,
- format: gl.RGBA,
- type: gl.UNSIGNED_BYTE,
- expectedError: gl.NO_ERROR} ];
-
-for (var ii = 0; ii < testCases.length; ++ii)
- testTexImage2D(testCases[ii]);
-
-debug("");
-debug("Checking TexSubImage2D: a set of inputs that are valid in GL but invalid in GLES2");
-
-testCases =
- [ {target: gl.TEXTURE_2D,
- format: 0x1903, // GL_RED
- type: gl.UNSIGNED_BYTE,
- expectedError: gl.INVALID_ENUM},
- {target: gl.TEXTURE_2D,
- format: gl.RGBA,
- type: gl.BYTE,
- expectedError: gl.INVALID_ENUM},
- {target: gl.TEXTURE_2D,
- format: gl.RGBA,
- type: gl.UNSIGNED_BYTE,
- expectedError: gl.NO_ERROR} ];
-
-for (var ii = 0; ii < testCases.length; ++ii)
- testTexSubImage2D(testCases[ii]);
-
-debug("");
-debug("Checking TexParameter: a set of inputs that are valid in GL but invalid in GLES2");
-
-testCases =
- [ {target: 0x0DE0, // GL_TEXTURE_1D
- pname: gl.TEXTURE_WRAP_T,
- param: gl.REPEAT,
- expectedError: gl.INVALID_ENUM},
- {target: gl.TEXTURE_2D,
- pname: 0x813A, // GL_TEXTURE_MIN_LOD
- param: 0,
- expectedError: gl.INVALID_ENUM},
- {target: gl.TEXTURE_2D,
- pname: gl.TEXTURE_WRAP_T,
- param: 0x2900, // GL_CLAMP
- expectedError: gl.INVALID_ENUM},
- {target: gl.TEXTURE_2D,
- pname: gl.TEXTURE_WRAP_T,
- param: gl.REPEAT,
- expectedError: gl.NO_ERROR} ];
-
-for (var ii = 0; ii < testCases.length; ++ii)
- testTexParameter(testCases[ii]);
-
-debug("");
-debug("Checking GetTexParameter: a set of inputs that are valid in GL but invalid in GLES2");
-
-testCases =
- [ {target: 0x0DE0, // GL_TEXTURE_1D
- pname: gl.TEXTURE_WRAP_T,
- expectedError: gl.INVALID_ENUM},
- {target: gl.TEXTURE_2D,
- pname: 0x813A, // GL_TEXTURE_MIN_LOD
- expectedError: gl.INVALID_ENUM},
- {target: gl.TEXTURE_2D,
- pname: gl.TEXTURE_WRAP_T,
- expectedError: gl.NO_ERROR} ];
-
-for (var ii = 0; ii < testCases.length; ++ii)
- testGetTexParameter(testCases[ii]);
-
-debug("");
-debug("Checking CopyTexImage2D: a set of inputs that are valid in GL but invalid in GLES2");
-
-var colorBuffer = null;
-var fbo = null;
-
-shouldBeNonNull("fbo = gl.createFramebuffer()");
-gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);
-shouldBeNonNull("colorBuffer = gl.createRenderbuffer()");
-gl.bindRenderbuffer(gl.RENDERBUFFER, colorBuffer);
-gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, colorBuffer);
-glErrorShouldBe(gl, gl.NO_ERROR);
-
-testCases =
- [ {target: gl.TEXTURE_2D,
- colorBufferFormat: gl.RGB565,
- internalFormat: 0x8054, // GL_RGB16
- border: 0,
- expectedError: gl.INVALID_ENUM},
- {target: gl.TEXTURE_2D,
- colorBufferFormat: gl.RGB565,
- internalFormat: gl.RGBA,
- border: 1,
- expectedError: gl.INVALID_VALUE},
- {target: gl.TEXTURE_2D,
- colorBufferFormat: gl.RGB565,
- internalFormat: gl.RGBA,
- border: 0,
- expectedError: gl.INVALID_OPERATION},
- {target: gl.TEXTURE_2D,
- colorBufferFormat: gl.RGB565,
- internalFormat: gl.RGB,
- border: 0,
- expectedError: gl.NO_ERROR} ];
-
-for (var ii = 0; ii < testCases.length; ++ii)
- testCopyTexImage2D(testCases[ii]);
-
-debug("");
-debug("Checking CopyTexSubImage2D: a set of inputs that are valid in GL but invalid in GLES2");
-
-testCases =
- [ {target: gl.TEXTURE_2D,
- colorBufferFormat: gl.RGB5_A1,
- internalFormat: gl.RGBA,
- expectedError: gl.NO_ERROR},
- {target: gl.TEXTURE_2D,
- colorBufferFormat: gl.RGB565,
- internalFormat: gl.RGBA,
- expectedError: gl.INVALID_OPERATION} ];
-
-for (var ii = 0; ii < testCases.length; ++ii)
- testCopyTexSubImage2D(testCases[ii]);
-
-debug("");
-debug("Checking CopyTex{Sub}Image2D: copy from WebGL internal framebuffer");
-
-testCases =
- [ {contextAlpha: true,
- internalFormat: gl.RGBA,
- subImage: false,
- expectedError: gl.NO_ERROR},
- {contextAlpha: false,
- internalFormat: gl.RGBA,
- subImage: false,
- expectedError: gl.INVALID_OPERATION},
- {contextAlpha: true,
- internalFormat: gl.RGBA,
- subImage: true,
- expectedError: gl.NO_ERROR},
- {contextAlpha: false,
- internalFormat: gl.RGBA,
- subImage: true,
- expectedError: gl.INVALID_OPERATION} ];
-
-for (var ii = 0; ii < testCases.length; ++ii)
- testCopyFromInternalFBO(testCases[ii]);
-</script>
-
-</body>
-</html>