aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/script/dom/webgl2renderingcontext.rs68
-rw-r--r--components/script/dom/webglrenderingcontext.rs2
-rw-r--r--components/script/dom/webidls/WebGL2RenderingContext.webidl8
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/__dir__.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r11f_g11f_b10f-rgb-float.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r11f_g11f_b10f-rgb-half_float.html.ini74
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r11f_g11f_b10f-rgb-unsigned_int_10f_11f_11f_rev.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r16f-red-float.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r16f-red-half_float.html.ini50
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r32f-red-float.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r8-red-unsigned_byte.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r8ui-red_integer-unsigned_byte.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rg16f-rg-float.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rg16f-rg-half_float.html.ini74
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rg32f-rg-float.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rg8-rg-unsigned_byte.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rg8ui-rg_integer-unsigned_byte.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb10_a2-rgba-unsigned_int_2_10_10_10_rev.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb16f-rgb-float.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb16f-rgb-half_float.html.ini74
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb32f-rgb-float.html.ini26
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb565-rgb-unsigned_byte.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb565-rgb-unsigned_short_5_6_5.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb5_a1-rgba-unsigned_byte.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb5_a1-rgba-unsigned_short_5_5_5_1.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb8-rgb-unsigned_byte.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb8ui-rgb_integer-unsigned_byte.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb9_e5-rgb-float.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb9_e5-rgb-half_float.html.ini74
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba16f-rgba-float.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba16f-rgba-half_float.html.ini74
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba32f-rgba-float.html.ini26
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba4-rgba-unsigned_byte.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba4-rgba-unsigned_short_4_4_4_4.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba8-rgba-unsigned_byte.html.ini26
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba8ui-rgba_integer-unsigned_byte.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-srgb8-rgb-unsigned_byte.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-srgb8_alpha8-rgba-unsigned_byte.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r11f_g11f_b10f-rgb-float.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r11f_g11f_b10f-rgb-half_float.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r11f_g11f_b10f-rgb-unsigned_int_10f_11f_11f_rev.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r16f-red-float.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r16f-red-half_float.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r32f-red-float.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r8-red-unsigned_byte.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r8ui-red_integer-unsigned_byte.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rg16f-rg-float.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rg16f-rg-half_float.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rg32f-rg-float.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rg8-rg-unsigned_byte.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rg8ui-rg_integer-unsigned_byte.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb10_a2-rgba-unsigned_int_2_10_10_10_rev.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb16f-rgb-float.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb16f-rgb-half_float.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb32f-rgb-float.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb565-rgb-unsigned_byte.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb565-rgb-unsigned_short_5_6_5.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb5_a1-rgba-unsigned_byte.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb5_a1-rgba-unsigned_short_5_5_5_1.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb8-rgb-unsigned_byte.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb8ui-rgb_integer-unsigned_byte.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb9_e5-rgb-float.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb9_e5-rgb-half_float.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgba16f-rgba-float.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgba16f-rgba-half_float.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgba32f-rgba-float.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgba4-rgba-unsigned_byte.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgba4-rgba-unsigned_short_4_4_4_4.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgba8-rgba-unsigned_byte.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgba8ui-rgba_integer-unsigned_byte.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-srgb8-rgb-unsigned_byte.html.ini2
-rw-r--r--tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-srgb8_alpha8-rgba-unsigned_byte.html.ini2
72 files changed, 739 insertions, 7 deletions
diff --git a/components/script/dom/webgl2renderingcontext.rs b/components/script/dom/webgl2renderingcontext.rs
index 7dd7ddd0279..41d3cd5b66c 100644
--- a/components/script/dom/webgl2renderingcontext.rs
+++ b/components/script/dom/webgl2renderingcontext.rs
@@ -2917,7 +2917,6 @@ impl WebGL2RenderingContextMethods for WebGL2RenderingContext {
}
/// https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.6
- #[allow(unsafe_code)]
fn TexImage2D__(
&self,
target: u32,
@@ -2928,6 +2927,73 @@ impl WebGL2RenderingContextMethods for WebGL2RenderingContext {
border: i32,
format: u32,
type_: u32,
+ source: ImageDataOrHTMLImageElementOrHTMLCanvasElementOrHTMLVideoElement,
+ ) -> Fallible<()> {
+ if self.bound_pixel_unpack_buffer.get().is_some() {
+ return Ok(self.base.webgl_error(InvalidOperation));
+ }
+
+ let validator = TexImage2DValidator::new(
+ &self.base,
+ target,
+ level,
+ internalformat as u32,
+ width,
+ height,
+ border,
+ format,
+ type_,
+ );
+
+ let TexImage2DValidatorResult {
+ texture,
+ target,
+ width: _,
+ height: _,
+ level,
+ border,
+ internal_format,
+ format,
+ data_type,
+ } = match validator.validate() {
+ Ok(result) => result,
+ Err(_) => return Ok(()),
+ };
+
+ let unpacking_alignment = self.base.texture_unpacking_alignment();
+
+ let pixels = match self.base.get_image_pixels(source)? {
+ Some(pixels) => pixels,
+ None => return Ok(()),
+ };
+
+ self.base.tex_image_2d(
+ &texture,
+ target,
+ data_type,
+ internal_format,
+ format,
+ level,
+ border,
+ unpacking_alignment,
+ pixels,
+ );
+
+ Ok(())
+ }
+
+ /// https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.6
+ #[allow(unsafe_code)]
+ fn TexImage2D___(
+ &self,
+ target: u32,
+ level: i32,
+ internalformat: i32,
+ width: i32,
+ height: i32,
+ border: i32,
+ format: u32,
+ type_: u32,
src_data: CustomAutoRooterGuard<ArrayBufferView>,
src_offset: u32,
) -> Fallible<()> {
diff --git a/components/script/dom/webglrenderingcontext.rs b/components/script/dom/webglrenderingcontext.rs
index 1c45f14b3d3..c602b294548 100644
--- a/components/script/dom/webglrenderingcontext.rs
+++ b/components/script/dom/webglrenderingcontext.rs
@@ -638,7 +638,7 @@ impl WebGLRenderingContext {
}
}
- fn get_image_pixels(&self, source: TexImageSource) -> Fallible<Option<TexPixels>> {
+ pub fn get_image_pixels(&self, source: TexImageSource) -> Fallible<Option<TexPixels>> {
Ok(Some(match source {
TexImageSource::ImageData(image_data) => TexPixels::new(
image_data.to_shared_memory(),
diff --git a/components/script/dom/webidls/WebGL2RenderingContext.webidl b/components/script/dom/webidls/WebGL2RenderingContext.webidl
index d410f8899e4..7595fd951cf 100644
--- a/components/script/dom/webidls/WebGL2RenderingContext.webidl
+++ b/components/script/dom/webidls/WebGL2RenderingContext.webidl
@@ -508,10 +508,10 @@ interface mixin WebGL2RenderingContextOverloads
//[Throws]
//void texImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height,
// GLint border, GLenum format, GLenum type, GLintptr pboOffset);
- //[Throws]
- //void texImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height,
- // GLint border, GLenum format, GLenum type,
- // TexImageSource source); // May throw DOMException
+ [Throws]
+ void texImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height,
+ GLint border, GLenum format, GLenum type,
+ TexImageSource source); // May throw DOMException
[Throws]
void texImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height,
GLint border, GLenum format, GLenum type, /*[AllowShared]*/ ArrayBufferView srcData,
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/__dir__.ini b/tests/wpt/webgl/meta/conformance2/textures/image/__dir__.ini
index 163ca23a12f..8b137891791 100644
--- a/tests/wpt/webgl/meta/conformance2/textures/image/__dir__.ini
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/__dir__.ini
@@ -1 +1 @@
-disabled: for now
+
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r11f_g11f_b10f-rgb-float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r11f_g11f_b10f-rgb-float.html.ini
new file mode 100644
index 00000000000..26a2a4ad713
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r11f_g11f_b10f-rgb-float.html.ini
@@ -0,0 +1,4 @@
+[tex-2d-r11f_g11f_b10f-rgb-float.html]
+ expected:
+ if os == "mac": TIMEOUT
+ if os == "linux": CRASH
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r11f_g11f_b10f-rgb-half_float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r11f_g11f_b10f-rgb-half_float.html.ini
new file mode 100644
index 00000000000..e4a5001a682
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r11f_g11f_b10f-rgb-half_float.html.ini
@@ -0,0 +1,74 @@
+[tex-2d-r11f_g11f_b10f-rgb-half_float.html]
+ expected: ERROR
+ [WebGL test #15: shouldBe 0,255,0\nat (4, 4) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #8: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #19: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #4: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #2: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #1: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #18: shouldBe 0,255,0\nat (4, 4) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #12: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #10: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #7: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #3: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #20: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #23: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #13: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #0: shouldBe 0,255,0\nat (4, 4) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #5: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #6: shouldBe 0,255,0\nat (4, 4) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #11: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #21: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #17: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #16: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #22: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #14: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #9: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r11f_g11f_b10f-rgb-unsigned_int_10f_11f_11f_rev.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r11f_g11f_b10f-rgb-unsigned_int_10f_11f_11f_rev.html.ini
new file mode 100644
index 00000000000..89a925e0ab1
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r11f_g11f_b10f-rgb-unsigned_int_10f_11f_11f_rev.html.ini
@@ -0,0 +1,4 @@
+[tex-2d-r11f_g11f_b10f-rgb-unsigned_int_10f_11f_11f_rev.html]
+ expected:
+ if os == "mac": TIMEOUT
+ if os == "linux": CRASH
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r16f-red-float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r16f-red-float.html.ini
new file mode 100644
index 00000000000..40ed6b72206
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r16f-red-float.html.ini
@@ -0,0 +1,4 @@
+[tex-2d-r16f-red-float.html]
+ expected:
+ if os == "mac": TIMEOUT
+ if os == "linux": CRASH
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r16f-red-half_float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r16f-red-half_float.html.ini
new file mode 100644
index 00000000000..0136c4e4925
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r16f-red-half_float.html.ini
@@ -0,0 +1,50 @@
+[tex-2d-r16f-red-half_float.html]
+ expected: ERROR
+ [WebGL test #11: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #8: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #2: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #1: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #12: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #7: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #3: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #20: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #22: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #23: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #13: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #5: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #21: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #17: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #14: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #9: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r32f-red-float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r32f-red-float.html.ini
new file mode 100644
index 00000000000..19ad01a3404
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r32f-red-float.html.ini
@@ -0,0 +1,4 @@
+[tex-2d-r32f-red-float.html]
+ expected:
+ if os == "mac": TIMEOUT
+ if os == "linux": CRASH
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r8-red-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r8-red-unsigned_byte.html.ini
new file mode 100644
index 00000000000..58870f641d2
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r8-red-unsigned_byte.html.ini
@@ -0,0 +1,4 @@
+[tex-2d-r8-red-unsigned_byte.html]
+ expected:
+ if os == "mac": TIMEOUT
+ if os == "linux": CRASH
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r8ui-red_integer-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r8ui-red_integer-unsigned_byte.html.ini
new file mode 100644
index 00000000000..54138aef04c
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-r8ui-red_integer-unsigned_byte.html.ini
@@ -0,0 +1,4 @@
+[tex-2d-r8ui-red_integer-unsigned_byte.html]
+ expected:
+ if os == "mac": TIMEOUT
+ if os == "linux": CRASH
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rg16f-rg-float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rg16f-rg-float.html.ini
new file mode 100644
index 00000000000..cf622d08cea
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rg16f-rg-float.html.ini
@@ -0,0 +1,4 @@
+[tex-2d-rg16f-rg-float.html]
+ expected:
+ if os == "mac": TIMEOUT
+ if os == "linux": CRASH
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rg16f-rg-half_float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rg16f-rg-half_float.html.ini
new file mode 100644
index 00000000000..dc0b5427ea6
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rg16f-rg-half_float.html.ini
@@ -0,0 +1,74 @@
+[tex-2d-rg16f-rg-half_float.html]
+ expected: ERROR
+ [WebGL test #15: shouldBe 0,255,0\nat (4, 4) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #8: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #19: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #4: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #2: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #1: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #18: shouldBe 0,255,0\nat (4, 4) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #12: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #10: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #7: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #3: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #20: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #23: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #13: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #0: shouldBe 0,255,0\nat (4, 4) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #5: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #6: shouldBe 0,255,0\nat (4, 4) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #11: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #21: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #17: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #16: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #22: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #14: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #9: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rg32f-rg-float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rg32f-rg-float.html.ini
new file mode 100644
index 00000000000..bb09913d6e1
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rg32f-rg-float.html.ini
@@ -0,0 +1,4 @@
+[tex-2d-rg32f-rg-float.html]
+ expected:
+ if os == "mac": TIMEOUT
+ if os == "linux": CRASH
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rg8-rg-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rg8-rg-unsigned_byte.html.ini
new file mode 100644
index 00000000000..8da99edb7de
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rg8-rg-unsigned_byte.html.ini
@@ -0,0 +1,4 @@
+[tex-2d-rg8-rg-unsigned_byte.html]
+ expected:
+ if os == "mac": TIMEOUT
+ if os == "linux": CRASH
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rg8ui-rg_integer-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rg8ui-rg_integer-unsigned_byte.html.ini
new file mode 100644
index 00000000000..0b616fcd3a3
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rg8ui-rg_integer-unsigned_byte.html.ini
@@ -0,0 +1,4 @@
+[tex-2d-rg8ui-rg_integer-unsigned_byte.html]
+ expected:
+ if os == "mac": TIMEOUT
+ if os == "linux": CRASH
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb10_a2-rgba-unsigned_int_2_10_10_10_rev.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb10_a2-rgba-unsigned_int_2_10_10_10_rev.html.ini
new file mode 100644
index 00000000000..1f63cd85b42
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb10_a2-rgba-unsigned_int_2_10_10_10_rev.html.ini
@@ -0,0 +1,4 @@
+[tex-2d-rgb10_a2-rgba-unsigned_int_2_10_10_10_rev.html]
+ expected:
+ if os == "mac": TIMEOUT
+ if os == "linux": CRASH
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb16f-rgb-float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb16f-rgb-float.html.ini
new file mode 100644
index 00000000000..3330449255f
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb16f-rgb-float.html.ini
@@ -0,0 +1,4 @@
+[tex-2d-rgb16f-rgb-float.html]
+ expected:
+ if os == "mac": TIMEOUT
+ if os == "linux": CRASH
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb16f-rgb-half_float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb16f-rgb-half_float.html.ini
new file mode 100644
index 00000000000..1fe09103483
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb16f-rgb-half_float.html.ini
@@ -0,0 +1,74 @@
+[tex-2d-rgb16f-rgb-half_float.html]
+ expected: ERROR
+ [WebGL test #15: shouldBe 0,255,0\nat (4, 4) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #8: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #19: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #4: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #2: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #1: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #18: shouldBe 0,255,0\nat (4, 4) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #12: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #10: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #7: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #3: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #20: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #23: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #13: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #0: shouldBe 0,255,0\nat (4, 4) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #5: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #6: shouldBe 0,255,0\nat (4, 4) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #11: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #21: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #17: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #16: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #22: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #14: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #9: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb32f-rgb-float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb32f-rgb-float.html.ini
new file mode 100644
index 00000000000..d704ce22b0a
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb32f-rgb-float.html.ini
@@ -0,0 +1,26 @@
+[tex-2d-rgb32f-rgb-float.html]
+ expected: ERROR
+ [WebGL test #10: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #16: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #9: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,255,0]
+ expected: FAIL
+
+ [WebGL test #19: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #17: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,255,0]
+ expected: FAIL
+
+ [WebGL test #14: shouldBe 0,255,0\nat (4, 4) expected: 0,255,0 was 255,0,0]
+ expected: FAIL
+
+ [WebGL test #13: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #12: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 255,0,0]
+ expected: FAIL
+
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb565-rgb-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb565-rgb-unsigned_byte.html.ini
new file mode 100644
index 00000000000..59c5e18e3ae
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb565-rgb-unsigned_byte.html.ini
@@ -0,0 +1,4 @@
+[tex-2d-rgb565-rgb-unsigned_byte.html]
+ expected:
+ if os == "mac": TIMEOUT
+ if os == "linux": CRASH
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb565-rgb-unsigned_short_5_6_5.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb565-rgb-unsigned_short_5_6_5.html.ini
new file mode 100644
index 00000000000..275e606626d
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb565-rgb-unsigned_short_5_6_5.html.ini
@@ -0,0 +1,4 @@
+[tex-2d-rgb565-rgb-unsigned_short_5_6_5.html]
+ expected:
+ if os == "mac": TIMEOUT
+ if os == "linux": CRASH
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb5_a1-rgba-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb5_a1-rgba-unsigned_byte.html.ini
new file mode 100644
index 00000000000..6b6aaf63e65
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb5_a1-rgba-unsigned_byte.html.ini
@@ -0,0 +1,4 @@
+[tex-2d-rgb5_a1-rgba-unsigned_byte.html]
+ expected:
+ if os == "mac": TIMEOUT
+ if os == "linux": CRASH
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb5_a1-rgba-unsigned_short_5_5_5_1.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb5_a1-rgba-unsigned_short_5_5_5_1.html.ini
new file mode 100644
index 00000000000..b1f2d170035
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb5_a1-rgba-unsigned_short_5_5_5_1.html.ini
@@ -0,0 +1,4 @@
+[tex-2d-rgb5_a1-rgba-unsigned_short_5_5_5_1.html]
+ expected:
+ if os == "mac": TIMEOUT
+ if os == "linux": CRASH
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb8-rgb-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb8-rgb-unsigned_byte.html.ini
new file mode 100644
index 00000000000..2f5225a6965
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb8-rgb-unsigned_byte.html.ini
@@ -0,0 +1,4 @@
+[tex-2d-rgb8-rgb-unsigned_byte.html]
+ expected:
+ if os == "mac": TIMEOUT
+ if os == "linux": CRASH
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb8ui-rgb_integer-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb8ui-rgb_integer-unsigned_byte.html.ini
new file mode 100644
index 00000000000..2170ee52d4d
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb8ui-rgb_integer-unsigned_byte.html.ini
@@ -0,0 +1,4 @@
+[tex-2d-rgb8ui-rgb_integer-unsigned_byte.html]
+ expected:
+ if os == "mac": TIMEOUT
+ if os == "linux": CRASH
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb9_e5-rgb-float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb9_e5-rgb-float.html.ini
new file mode 100644
index 00000000000..ae67bf1da59
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb9_e5-rgb-float.html.ini
@@ -0,0 +1,4 @@
+[tex-2d-rgb9_e5-rgb-float.html]
+ expected:
+ if os == "mac": TIMEOUT
+ if os == "linux": CRASH
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb9_e5-rgb-half_float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb9_e5-rgb-half_float.html.ini
new file mode 100644
index 00000000000..34e2df18778
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb9_e5-rgb-half_float.html.ini
@@ -0,0 +1,74 @@
+[tex-2d-rgb9_e5-rgb-half_float.html]
+ expected: ERROR
+ [WebGL test #15: shouldBe 0,255,0\nat (4, 4) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #8: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #19: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #4: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #2: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #1: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #18: shouldBe 0,255,0\nat (4, 4) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #12: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #10: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #7: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #3: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #20: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #23: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #13: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #0: shouldBe 0,255,0\nat (4, 4) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #5: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #6: shouldBe 0,255,0\nat (4, 4) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #11: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #21: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #17: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #16: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #22: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #14: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #9: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba16f-rgba-float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba16f-rgba-float.html.ini
new file mode 100644
index 00000000000..3c704931fc4
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba16f-rgba-float.html.ini
@@ -0,0 +1,4 @@
+[tex-2d-rgba16f-rgba-float.html]
+ expected:
+ if os == "mac": TIMEOUT
+ if os == "linux": CRASH
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba16f-rgba-half_float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba16f-rgba-half_float.html.ini
new file mode 100644
index 00000000000..d7da42c3067
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba16f-rgba-half_float.html.ini
@@ -0,0 +1,74 @@
+[tex-2d-rgba16f-rgba-half_float.html]
+ expected: ERROR
+ [WebGL test #15: shouldBe 0,255,0\nat (4, 4) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #8: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #19: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #4: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #2: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #1: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #18: shouldBe 0,255,0\nat (4, 4) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #12: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #10: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #7: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #3: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #20: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #23: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #13: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #0: shouldBe 0,255,0\nat (4, 4) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #5: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #6: shouldBe 0,255,0\nat (4, 4) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #11: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #21: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #17: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #16: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #22: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
+ [WebGL test #14: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #9: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,0,0]
+ expected: FAIL
+
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba32f-rgba-float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba32f-rgba-float.html.ini
new file mode 100644
index 00000000000..a2c4b409cd8
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba32f-rgba-float.html.ini
@@ -0,0 +1,26 @@
+[tex-2d-rgba32f-rgba-float.html]
+ expected: ERROR
+ [WebGL test #10: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #16: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #9: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,255,0]
+ expected: FAIL
+
+ [WebGL test #19: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #17: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,255,0]
+ expected: FAIL
+
+ [WebGL test #14: shouldBe 0,255,0\nat (4, 4) expected: 0,255,0 was 255,0,0]
+ expected: FAIL
+
+ [WebGL test #13: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #12: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 255,0,0]
+ expected: FAIL
+
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba4-rgba-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba4-rgba-unsigned_byte.html.ini
new file mode 100644
index 00000000000..28112e8ef6b
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba4-rgba-unsigned_byte.html.ini
@@ -0,0 +1,4 @@
+[tex-2d-rgba4-rgba-unsigned_byte.html]
+ expected:
+ if os == "mac": TIMEOUT
+ if os == "linux": CRASH
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba4-rgba-unsigned_short_4_4_4_4.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba4-rgba-unsigned_short_4_4_4_4.html.ini
new file mode 100644
index 00000000000..b72f3aa640c
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba4-rgba-unsigned_short_4_4_4_4.html.ini
@@ -0,0 +1,4 @@
+[tex-2d-rgba4-rgba-unsigned_short_4_4_4_4.html]
+ expected:
+ if os == "mac": TIMEOUT
+ if os == "linux": CRASH
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba8-rgba-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba8-rgba-unsigned_byte.html.ini
new file mode 100644
index 00000000000..43911da91c4
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba8-rgba-unsigned_byte.html.ini
@@ -0,0 +1,26 @@
+[tex-2d-rgba8-rgba-unsigned_byte.html]
+ expected: ERROR
+ [WebGL test #10: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #16: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #9: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,255,0]
+ expected: FAIL
+
+ [WebGL test #19: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #17: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,255,0]
+ expected: FAIL
+
+ [WebGL test #14: shouldBe 0,255,0\nat (4, 4) expected: 0,255,0 was 255,0,0]
+ expected: FAIL
+
+ [WebGL test #13: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);]
+ expected: FAIL
+
+ [WebGL test #12: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 255,0,0]
+ expected: FAIL
+
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba8ui-rgba_integer-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba8ui-rgba_integer-unsigned_byte.html.ini
new file mode 100644
index 00000000000..cd72d1ad5cb
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba8ui-rgba_integer-unsigned_byte.html.ini
@@ -0,0 +1,4 @@
+[tex-2d-rgba8ui-rgba_integer-unsigned_byte.html]
+ expected:
+ if os == "mac": TIMEOUT
+ if os == "linux": CRASH
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-srgb8-rgb-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-srgb8-rgb-unsigned_byte.html.ini
new file mode 100644
index 00000000000..00c1ff482e9
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-srgb8-rgb-unsigned_byte.html.ini
@@ -0,0 +1,4 @@
+[tex-2d-srgb8-rgb-unsigned_byte.html]
+ expected:
+ if os == "mac": TIMEOUT
+ if os == "linux": CRASH
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-srgb8_alpha8-rgba-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-srgb8_alpha8-rgba-unsigned_byte.html.ini
new file mode 100644
index 00000000000..87a3fb33e8b
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-srgb8_alpha8-rgba-unsigned_byte.html.ini
@@ -0,0 +1,4 @@
+[tex-2d-srgb8_alpha8-rgba-unsigned_byte.html]
+ expected:
+ if os == "mac": TIMEOUT
+ if os == "linux": CRASH
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r11f_g11f_b10f-rgb-float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r11f_g11f_b10f-rgb-float.html.ini
new file mode 100644
index 00000000000..891fd8a60ef
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r11f_g11f_b10f-rgb-float.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-r11f_g11f_b10f-rgb-float.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r11f_g11f_b10f-rgb-half_float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r11f_g11f_b10f-rgb-half_float.html.ini
new file mode 100644
index 00000000000..38eb923f87a
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r11f_g11f_b10f-rgb-half_float.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-r11f_g11f_b10f-rgb-half_float.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r11f_g11f_b10f-rgb-unsigned_int_10f_11f_11f_rev.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r11f_g11f_b10f-rgb-unsigned_int_10f_11f_11f_rev.html.ini
new file mode 100644
index 00000000000..ca5821ea8c4
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r11f_g11f_b10f-rgb-unsigned_int_10f_11f_11f_rev.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-r11f_g11f_b10f-rgb-unsigned_int_10f_11f_11f_rev.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r16f-red-float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r16f-red-float.html.ini
new file mode 100644
index 00000000000..cf7a1ada8ca
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r16f-red-float.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-r16f-red-float.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r16f-red-half_float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r16f-red-half_float.html.ini
new file mode 100644
index 00000000000..24850b9e77a
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r16f-red-half_float.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-r16f-red-half_float.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r32f-red-float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r32f-red-float.html.ini
new file mode 100644
index 00000000000..7077e2d71db
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r32f-red-float.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-r32f-red-float.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r8-red-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r8-red-unsigned_byte.html.ini
new file mode 100644
index 00000000000..29f36999764
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r8-red-unsigned_byte.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-r8-red-unsigned_byte.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r8ui-red_integer-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r8ui-red_integer-unsigned_byte.html.ini
new file mode 100644
index 00000000000..18b05c80807
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-r8ui-red_integer-unsigned_byte.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-r8ui-red_integer-unsigned_byte.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rg16f-rg-float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rg16f-rg-float.html.ini
new file mode 100644
index 00000000000..83de459e161
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rg16f-rg-float.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-rg16f-rg-float.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rg16f-rg-half_float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rg16f-rg-half_float.html.ini
new file mode 100644
index 00000000000..efbe16c7939
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rg16f-rg-half_float.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-rg16f-rg-half_float.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rg32f-rg-float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rg32f-rg-float.html.ini
new file mode 100644
index 00000000000..757c346224b
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rg32f-rg-float.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-rg32f-rg-float.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rg8-rg-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rg8-rg-unsigned_byte.html.ini
new file mode 100644
index 00000000000..c83250c6878
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rg8-rg-unsigned_byte.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-rg8-rg-unsigned_byte.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rg8ui-rg_integer-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rg8ui-rg_integer-unsigned_byte.html.ini
new file mode 100644
index 00000000000..aa2acd096fe
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rg8ui-rg_integer-unsigned_byte.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-rg8ui-rg_integer-unsigned_byte.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb10_a2-rgba-unsigned_int_2_10_10_10_rev.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb10_a2-rgba-unsigned_int_2_10_10_10_rev.html.ini
new file mode 100644
index 00000000000..b91f4c8d860
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb10_a2-rgba-unsigned_int_2_10_10_10_rev.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-rgb10_a2-rgba-unsigned_int_2_10_10_10_rev.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb16f-rgb-float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb16f-rgb-float.html.ini
new file mode 100644
index 00000000000..99c22baacc1
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb16f-rgb-float.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-rgb16f-rgb-float.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb16f-rgb-half_float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb16f-rgb-half_float.html.ini
new file mode 100644
index 00000000000..25ee84de06c
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb16f-rgb-half_float.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-rgb16f-rgb-half_float.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb32f-rgb-float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb32f-rgb-float.html.ini
new file mode 100644
index 00000000000..3cfdb2c2053
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb32f-rgb-float.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-rgb32f-rgb-float.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb565-rgb-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb565-rgb-unsigned_byte.html.ini
new file mode 100644
index 00000000000..83f41de3f8a
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb565-rgb-unsigned_byte.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-rgb565-rgb-unsigned_byte.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb565-rgb-unsigned_short_5_6_5.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb565-rgb-unsigned_short_5_6_5.html.ini
new file mode 100644
index 00000000000..a7fbec4bab3
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb565-rgb-unsigned_short_5_6_5.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-rgb565-rgb-unsigned_short_5_6_5.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb5_a1-rgba-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb5_a1-rgba-unsigned_byte.html.ini
new file mode 100644
index 00000000000..1ee3df0f0f1
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb5_a1-rgba-unsigned_byte.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-rgb5_a1-rgba-unsigned_byte.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb5_a1-rgba-unsigned_short_5_5_5_1.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb5_a1-rgba-unsigned_short_5_5_5_1.html.ini
new file mode 100644
index 00000000000..f2ac9910aaa
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb5_a1-rgba-unsigned_short_5_5_5_1.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-rgb5_a1-rgba-unsigned_short_5_5_5_1.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb8-rgb-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb8-rgb-unsigned_byte.html.ini
new file mode 100644
index 00000000000..6f478230660
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb8-rgb-unsigned_byte.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-rgb8-rgb-unsigned_byte.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb8ui-rgb_integer-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb8ui-rgb_integer-unsigned_byte.html.ini
new file mode 100644
index 00000000000..3de259623b2
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb8ui-rgb_integer-unsigned_byte.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-rgb8ui-rgb_integer-unsigned_byte.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb9_e5-rgb-float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb9_e5-rgb-float.html.ini
new file mode 100644
index 00000000000..c004cadbd20
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb9_e5-rgb-float.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-rgb9_e5-rgb-float.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb9_e5-rgb-half_float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb9_e5-rgb-half_float.html.ini
new file mode 100644
index 00000000000..0eccfba4a25
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgb9_e5-rgb-half_float.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-rgb9_e5-rgb-half_float.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgba16f-rgba-float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgba16f-rgba-float.html.ini
new file mode 100644
index 00000000000..f6db1b14207
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgba16f-rgba-float.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-rgba16f-rgba-float.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgba16f-rgba-half_float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgba16f-rgba-half_float.html.ini
new file mode 100644
index 00000000000..8c22fcd4c11
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgba16f-rgba-half_float.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-rgba16f-rgba-half_float.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgba32f-rgba-float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgba32f-rgba-float.html.ini
new file mode 100644
index 00000000000..9bfddba474f
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgba32f-rgba-float.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-rgba32f-rgba-float.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgba4-rgba-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgba4-rgba-unsigned_byte.html.ini
new file mode 100644
index 00000000000..b577dc962cf
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgba4-rgba-unsigned_byte.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-rgba4-rgba-unsigned_byte.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgba4-rgba-unsigned_short_4_4_4_4.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgba4-rgba-unsigned_short_4_4_4_4.html.ini
new file mode 100644
index 00000000000..742e2896cc0
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgba4-rgba-unsigned_short_4_4_4_4.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-rgba4-rgba-unsigned_short_4_4_4_4.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgba8-rgba-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgba8-rgba-unsigned_byte.html.ini
new file mode 100644
index 00000000000..9477993058e
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgba8-rgba-unsigned_byte.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-rgba8-rgba-unsigned_byte.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgba8ui-rgba_integer-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgba8ui-rgba_integer-unsigned_byte.html.ini
new file mode 100644
index 00000000000..9b3670900fe
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-rgba8ui-rgba_integer-unsigned_byte.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-rgba8ui-rgba_integer-unsigned_byte.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-srgb8-rgb-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-srgb8-rgb-unsigned_byte.html.ini
new file mode 100644
index 00000000000..811128425ac
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-srgb8-rgb-unsigned_byte.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-srgb8-rgb-unsigned_byte.html]
+ expected: ERROR
diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-srgb8_alpha8-rgba-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-srgb8_alpha8-rgba-unsigned_byte.html.ini
new file mode 100644
index 00000000000..10842df1689
--- /dev/null
+++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-3d-srgb8_alpha8-rgba-unsigned_byte.html.ini
@@ -0,0 +1,2 @@
+[tex-3d-srgb8_alpha8-rgba-unsigned_byte.html]
+ expected: ERROR