[Piglit] [PATCH V3] etc2: Add test to verify texturing with etc2 miptree

Anuj Phogat anuj.phogat at gmail.com
Fri Nov 30 19:00:21 PST 2012


Verifies texturing with following etc2 formats:
GL_COMPRESSED_RGB8_ETC2
GL_COMPRESSED_SRGB8_ETC2
GL_COMPRESSED_RGBA8_ETC2_EAC
GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC
GL_COMPRESSED_R11_EAC
GL_COMPRESSED_RG11_EAC
GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2
GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2

Each format requires a compressed and decompressed texture data file,
which are added as a part of this commit. Tests for above formats
currently passes on 'gles3' branch using Intel hardware.

Signed formats (GL_COMPRESSED_SIGNED_R11_EAC & GL_COMPRESSED_SIGNED_RG11_EAC)
are excluded from this test case because the decompressed image (.ppm)
generated by ericsson's etcpack tool converts a decoded 16 bit signed data
to 16 bit unsigned data by adding 2 ^ 15. But gles 3.0 specification doesn't
suggest this conversion. This conversion results in a slightly different image
than the decoded image by mesa.

Note: mesa (gles3 branch) currently passes all etc2 tests in gles3 conformance
on intel h/w, including the signed formats.

V3: Made changes to run only with gles3.

Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
---
I'll push this test upstream.

 tests/all_es3.tests                                |   19 ++
 tests/spec/CMakeLists.txt                          |    1 +
 tests/spec/gles-3.0/CMakeLists.gles3.txt           |    5 +
 tests/spec/gles-3.0/CMakeLists.txt                 |    1 +
 .../gles-3.0/oes_compressed_etc2_texture-miptree.c |  311 ++++++++++++++++++++
 .../waffles-compressed-etc2-r11-64x32-miptree.ktx  |  Bin 0 -> 1476 bytes
 .../waffles-compressed-etc2-rg11-64x32-miptree.ktx |  Bin 0 -> 2860 bytes
 .../waffles-compressed-etc2-rgb8-64x32-miptree.ktx |  Bin 0 -> 1476 bytes
 ...ompressed-etc2-rgb8-pt-alpha1-64x32-miptree.ktx |  Bin 0 -> 1476 bytes
 ...waffles-compressed-etc2-rgba8-64x32-miptree.ktx |  Bin 0 -> 2860 bytes
 ...waffles-compressed-etc2-srgb8-64x32-miptree.ktx |  Bin 0 -> 1476 bytes
 ...-compressed-etc2-srgb8-alpha8-64x32-miptree.ktx |  Bin 0 -> 2860 bytes
 ...mpressed-etc2-srgb8-pt-alpha1-64x32-miptree.ktx |  Bin 0 -> 1476 bytes
 ...waffles-decompressed-etc2-r11-64x32-miptree.ktx |  Bin 0 -> 11016 bytes
 ...affles-decompressed-etc2-rg11-64x32-miptree.ktx |  Bin 0 -> 11016 bytes
 ...affles-decompressed-etc2-rgb8-64x32-miptree.ktx |  Bin 0 -> 11016 bytes
 ...ompressed-etc2-rgb8-pt-alpha1-64x32-miptree.ktx |  Bin 0 -> 11016 bytes
 ...ffles-decompressed-etc2-rgba8-64x32-miptree.ktx |  Bin 0 -> 11016 bytes
 ...ffles-decompressed-etc2-srgb8-64x32-miptree.ktx |  Bin 0 -> 11016 bytes
 ...ecompressed-etc2-srgb8-alpha8-64x32-miptree.ktx |  Bin 0 -> 11016 bytes
 ...mpressed-etc2-srgb8-pt-alpha1-64x32-miptree.ktx |  Bin 0 -> 11016 bytes
 21 files changed, 337 insertions(+), 0 deletions(-)
 create mode 100644 tests/all_es3.tests
 create mode 100644 tests/spec/gles-3.0/CMakeLists.gles3.txt
 create mode 100644 tests/spec/gles-3.0/CMakeLists.txt
 create mode 100644 tests/spec/gles-3.0/oes_compressed_etc2_texture-miptree.c
 create mode 100644 tests/spec/gles-3.0/waffles-compressed-etc2-r11-64x32-miptree.ktx
 create mode 100644 tests/spec/gles-3.0/waffles-compressed-etc2-rg11-64x32-miptree.ktx
 create mode 100644 tests/spec/gles-3.0/waffles-compressed-etc2-rgb8-64x32-miptree.ktx
 create mode 100644 tests/spec/gles-3.0/waffles-compressed-etc2-rgb8-pt-alpha1-64x32-miptree.ktx
 create mode 100644 tests/spec/gles-3.0/waffles-compressed-etc2-rgba8-64x32-miptree.ktx
 create mode 100644 tests/spec/gles-3.0/waffles-compressed-etc2-srgb8-64x32-miptree.ktx
 create mode 100644 tests/spec/gles-3.0/waffles-compressed-etc2-srgb8-alpha8-64x32-miptree.ktx
 create mode 100644 tests/spec/gles-3.0/waffles-compressed-etc2-srgb8-pt-alpha1-64x32-miptree.ktx
 create mode 100644 tests/spec/gles-3.0/waffles-decompressed-etc2-r11-64x32-miptree.ktx
 create mode 100644 tests/spec/gles-3.0/waffles-decompressed-etc2-rg11-64x32-miptree.ktx
 create mode 100644 tests/spec/gles-3.0/waffles-decompressed-etc2-rgb8-64x32-miptree.ktx
 create mode 100644 tests/spec/gles-3.0/waffles-decompressed-etc2-rgb8-pt-alpha1-64x32-miptree.ktx
 create mode 100644 tests/spec/gles-3.0/waffles-decompressed-etc2-rgba8-64x32-miptree.ktx
 create mode 100644 tests/spec/gles-3.0/waffles-decompressed-etc2-srgb8-64x32-miptree.ktx
 create mode 100644 tests/spec/gles-3.0/waffles-decompressed-etc2-srgb8-alpha8-64x32-miptree.ktx
 create mode 100644 tests/spec/gles-3.0/waffles-decompressed-etc2-srgb8-pt-alpha1-64x32-miptree.ktx

diff --git a/tests/all_es3.tests b/tests/all_es3.tests
new file mode 100644
index 0000000..36fa6cc
--- /dev/null
+++ b/tests/all_es3.tests
@@ -0,0 +1,19 @@
+from framework.core import Group, TestProfile
+from framework.exectest import PlainExecTest
+
+def concurrent_test(args):
+    test = PlainExecTest(args.split() + ['-auto', '-fbo'])
+    test.runConcurrent = True
+    return test
+
+profile = TestProfile()
+
+spec = Group()
+profile.tests['spec'] = spec
+
+gles30 = Group()
+spec['!OpenGL ES 3.0'] = gles30
+for tex_format in ('rgb8', 'srgb8', 'rgba8', 'srgb8-alpha8', 'r11', 'rg11', 'rgb8-punchthrough-alpha1', 'srgb8-punchthrough-alpha1'):
+	test_name = ' ' .join(['oes_compressed_etc2_texture-miptree', tex_format])
+	executable = '{0} -auto'.format(test_name)
+	gles30[test_name] = concurrent_test(executable)
diff --git a/tests/spec/CMakeLists.txt b/tests/spec/CMakeLists.txt
index c2a7886..46a91bd 100644
--- a/tests/spec/CMakeLists.txt
+++ b/tests/spec/CMakeLists.txt
@@ -51,6 +51,7 @@ add_subdirectory (gl-2.0)
 add_subdirectory (gl-2.1)
 add_subdirectory (gl-3.0)
 add_subdirectory (gl-3.1)
+add_subdirectory (gles-3.0)
 add_subdirectory (glx_arb_create_context)
 add_subdirectory (glx_ext_import_context)
 add_subdirectory (glx_oml_sync_control)
diff --git a/tests/spec/gles-3.0/CMakeLists.gles3.txt b/tests/spec/gles-3.0/CMakeLists.gles3.txt
new file mode 100644
index 0000000..f72be34
--- /dev/null
+++ b/tests/spec/gles-3.0/CMakeLists.gles3.txt
@@ -0,0 +1,5 @@
+link_libraries(
+	piglitutil_${piglit_target_api}
+	)
+
+piglit_add_executable(oes_compressed_etc2_texture-miptree oes_compressed_etc2_texture-miptree.c)
diff --git a/tests/spec/gles-3.0/CMakeLists.txt b/tests/spec/gles-3.0/CMakeLists.txt
new file mode 100644
index 0000000..144a306
--- /dev/null
+++ b/tests/spec/gles-3.0/CMakeLists.txt
@@ -0,0 +1 @@
+piglit_include_target_api()
diff --git a/tests/spec/gles-3.0/oes_compressed_etc2_texture-miptree.c b/tests/spec/gles-3.0/oes_compressed_etc2_texture-miptree.c
new file mode 100644
index 0000000..fceafab
--- /dev/null
+++ b/tests/spec/gles-3.0/oes_compressed_etc2_texture-miptree.c
@@ -0,0 +1,311 @@
+/*
+ * Copyright 2012 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+/**
+ * \file
+ * \brief Test texturing from an ETC2 miptree of a real image.
+ *
+ * This test uses two data files for each etc2 format:
+ * The file waffles-compressed-etc2-xxxx-64x32-mipmap.ktx contains a full
+ * miptree in compressed ETC2 format of a 2D texture of waffles and fruit [1].
+ * The base level size is 64x32 pixels.
+ * The file waffles-decompressed-xxxx-64x32-mipmap.ktx contains a parallel
+ * miptree in corresponding decompressed format. Each of its images was
+ * obtained by decompressing the corresponding ETC2 image with etcpack [2].
+ *
+ * This test draws each miplevel i of the ETC2 texture such that the image's
+ * lower left corner is at (x=0, y=sum(height of miplevel j for j=0 to i-1)),
+ * and it draws each miplevel of the RGB texture to the right of its
+ * corresponding ETC2 image. Then it compares that the images are identical.
+ *
+ * [1] The reference image is located at:
+ * http://people.freedesktop.org/~chadversary/permalink/2012-07-09/1574cff2-d091-4421-a3cf-b56c7943d060.jpg.
+ * [2] etcpack version 2.60 is the reference ETC2 compression tool, available at:
+ * http://devtools.ericsson.com/etc.
+ */
+
+#include "piglit-util-gl-common.h"
+#include "piglit_ktx.h"
+
+static const int num_levels = 7;
+static const int level0_width = 64;
+static const int level0_height = 32;
+static const int num_vertices = 4;
+static const int window_width = 128;
+static const int window_height = 64;
+
+PIGLIT_GL_TEST_CONFIG_BEGIN
+	config.supports_gl_es_version = 30;
+	config.window_visual = PIGLIT_GL_VISUAL_RGB | PIGLIT_GL_VISUAL_DOUBLE;
+
+PIGLIT_GL_TEST_CONFIG_END
+
+
+static GLuint prog;
+
+/* Texture objects. */
+static GLuint compressed_tex;
+static GLuint decompressed_tex;
+
+/**
+ * The \a filename is relative to the current test's source directory.
+ *
+ * A new texture is created and returned in \a tex_name.
+ */
+static void
+load_texture(const char *filename, GLuint *tex_name)
+{
+	struct piglit_ktx *ktx;
+	const struct piglit_ktx_info *info;
+	char filepath[4096];
+	bool ok = true;
+
+	piglit_join_paths(filepath, sizeof(filepath), 5,
+	                  piglit_source_dir(),
+	                  "tests",
+	                  "spec",
+	                  "gles-3.0",
+	                  filename);
+
+	ktx = piglit_ktx_read_file(filepath);
+	if (ktx == NULL)
+		piglit_report_result(PIGLIT_FAIL);
+
+	info = piglit_ktx_get_info(ktx);
+	assert(info->num_miplevels == num_levels);
+	assert(info->target == GL_TEXTURE_2D);
+	assert(info->pixel_width == level0_width);
+	assert(info->pixel_height== level0_height);
+
+	*tex_name = 0;
+	ok = piglit_ktx_load_texture(ktx, tex_name, NULL);
+	if (!ok)
+		piglit_report_result(PIGLIT_FAIL);
+
+	piglit_ktx_destroy(ktx);
+}
+
+void
+print_usage_and_exit(char *prog_name)
+{
+        printf("Usage: %s <format>\n"
+               "  where <format> is one of:\n"
+	       "    rgb8\n"
+	       "    srgb8\n"
+	       "    rgba8\n"
+	       "    srgb8-alpha8\n"
+	       "    r11\n"
+	       "    rg11\n"
+	       "    rgb8-punchthrough-alpha1\n"
+	       "    srgb8-punchthrough-alpha1\n", prog_name);
+	piglit_report_result(PIGLIT_FAIL);
+}
+
+void
+piglit_init(int argc, char **argv)
+{
+	static const char *compressed_filename;
+	static const char *decompressed_filename;
+	const char vs_source[] =
+		"#version 100\n"
+		"\n"
+		"uniform vec2 window_pixel_size;\n"
+		"uniform vec2 level_pixel_size;\n"
+		"uniform vec2 pixel_offset;\n"
+		"\n"
+		"// vertex is some corner of the unit square [0,1]^2 \n"
+		"attribute vec2 vertex;\n"
+		"varying vec2 tex_coord;\n"
+		"\n"
+		"void main()\n"
+		"{\n"
+		"    vec2 pos = vertex;\n"
+		"    pos *= level_pixel_size;\n"
+		"    pos += pixel_offset;\n"
+		"    pos /= 0.5 * window_pixel_size;\n"
+		"    pos -= vec2(1, 1);\n"
+		"    gl_Position = vec4(pos.xy, 0.0, 1.0);\n"
+		"\n"
+		"    tex_coord = vertex;\n"
+		"}\n";
+
+	const char fs_source[] =
+		"#version 100\n"
+		"\n"
+		"uniform sampler2D tex;\n"
+		"varying vec2 tex_coord;\n"
+		"\n"
+		"void main()\n"
+		"{\n"
+		"    gl_FragColor = texture2D(tex, tex_coord);\n"
+		"}\n";
+
+	/* Draw a square triangle fan. */
+	const GLfloat vertices[8] = {
+		0, 0,
+		1, 0,
+		1, 1,
+		0, 1,
+	};
+
+	GLuint vs;
+	GLuint fs;
+
+	GLint vertex_loc;
+	GLuint vertex_buf;
+
+	if (argc < 2)
+		print_usage_and_exit(argv[0]);
+
+	if (strcmp(argv[1], "rgb8") == 0) {
+		compressed_filename =
+			"waffles-compressed-etc2-rgb8-64x32-miptree.ktx";
+		decompressed_filename =
+			"waffles-decompressed-etc2-rgb8-64x32-miptree.ktx";
+	} else if (strcmp(argv[1], "srgb8") == 0){
+		compressed_filename =
+			"waffles-compressed-etc2-srgb8-64x32-miptree.ktx";
+		decompressed_filename =
+			"waffles-decompressed-etc2-srgb8-64x32-miptree.ktx";
+	} else if (strcmp(argv[1], "rgba8") == 0){
+		compressed_filename =
+			"waffles-compressed-etc2-rgba8-64x32-miptree.ktx";
+		decompressed_filename =
+			"waffles-decompressed-etc2-rgba8-64x32-miptree.ktx";
+	} else if (strcmp(argv[1], "srgb8-alpha8") == 0){
+		compressed_filename =
+			"waffles-compressed-etc2-srgb8-alpha8-64x32-miptree.ktx";
+		decompressed_filename =
+			"waffles-decompressed-etc2-srgb8-alpha8-64x32-miptree.ktx";
+	} else if (strcmp(argv[1], "r11") == 0){
+		compressed_filename =
+			"waffles-compressed-etc2-r11-64x32-miptree.ktx";
+		decompressed_filename =
+			"waffles-decompressed-etc2-r11-64x32-miptree.ktx";
+	} else if (strcmp(argv[1], "rg11") == 0){
+		compressed_filename =
+			"waffles-compressed-etc2-rg11-64x32-miptree.ktx";
+		decompressed_filename =
+			"waffles-decompressed-etc2-rg11-64x32-miptree.ktx";
+	} else if (strcmp(argv[1], "rgb8-punchthrough-alpha1") == 0){
+		compressed_filename =
+			"waffles-compressed-etc2-rgb8-pt-alpha1-64x32-miptree.ktx";
+		decompressed_filename =
+			"waffles-decompressed-etc2-rgb8-pt-alpha1-64x32-miptree.ktx";
+	} else if (strcmp(argv[1], "srgb8-punchthrough-alpha1") == 0){
+		compressed_filename =
+			"waffles-compressed-etc2-srgb8-pt-alpha1-64x32-miptree.ktx";
+		decompressed_filename =
+			"waffles-decompressed-etc2-srgb8-pt-alpha1-64x32-miptree.ktx";
+	} else {
+	        printf("Invalid format\n");
+		print_usage_and_exit(argv[0]);
+        }
+
+	if((strcmp(argv[1], "rgba8") == 0) |
+	   (strcmp(argv[1], "srgb8-alpha8") == 0) |
+	   (strcmp(argv[1], "rgb8-punchthrough-alpha1") == 0) |
+	   (strcmp(argv[1], "srgb8-punchthrough-alpha1") == 0))
+	{
+		/* Enable blending */
+		glEnable(GL_BLEND);
+		glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+	}
+
+	load_texture(compressed_filename, &compressed_tex);
+	load_texture(decompressed_filename, &decompressed_tex);
+
+	glClearColor(0.3, 0.5, 1.0, 1.0);
+	glViewport(0, 0, window_width, window_height);
+
+	vs = piglit_compile_shader_text(GL_VERTEX_SHADER, vs_source);
+	fs = piglit_compile_shader_text(GL_FRAGMENT_SHADER, fs_source);
+	prog = piglit_link_simple_program(vs, fs);
+	assert(prog != 0);
+	glUseProgram(prog);
+
+	vertex_loc = glGetAttribLocation(prog, "vertex");
+	glGenBuffers(1, &vertex_buf);
+	glBindBuffer(GL_ARRAY_BUFFER, vertex_buf);
+	glEnableVertexAttribArray(vertex_loc);
+	glVertexAttribPointer(vertex_loc, 2, GL_FLOAT, GL_FALSE, 0, NULL);
+	glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices,
+	             GL_STATIC_DRAW);
+
+	glUniform1i(glGetUniformLocation(prog, "tex"), 0);
+	glActiveTexture(GL_TEXTURE0);
+	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_NEAREST);
+	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+
+	glUniform2f(glGetUniformLocation(prog, "window_pixel_size"),
+	            window_width, window_height);
+}
+
+static void
+minify(int *x)
+{
+	assert(*x > 0);
+
+	if (*x > 1)
+		*x >>= 1;
+}
+
+enum piglit_result
+piglit_display(void)
+{
+	GLint pixel_offset_loc = glGetUniformLocation(prog, "pixel_offset");
+	GLint level_pixel_size_loc = glGetUniformLocation(prog, "level_pixel_size");
+
+	int level = 0;
+	int level_width = level0_width;
+	int level_height = level0_height;
+	int y_offset = 0;
+
+	bool pass = true;
+
+	glClear(GL_COLOR_BUFFER_BIT);
+	for (level = 0; level < num_levels; ++level) {
+		glUniform2f(level_pixel_size_loc,
+		            (float) level_width,
+		            (float) level_height);
+
+		/* Draw miplevel of compressed texture. */
+		glBindTexture(GL_TEXTURE_2D, compressed_tex);
+		glUniform2f(pixel_offset_loc, 0, y_offset);
+		glDrawArrays(GL_TRIANGLE_FAN, 0, num_vertices);
+
+		/* Draw miplevel of decompressed texture. */
+		glBindTexture(GL_TEXTURE_2D, decompressed_tex);
+		glUniform2f(pixel_offset_loc, level0_width, y_offset);
+		glDrawArrays(GL_TRIANGLE_FAN, 0, num_vertices);
+
+		y_offset += level_height;
+		minify(&level_width);
+		minify(&level_height);
+	}
+
+	pass = piglit_probe_rect_halves_equal_rgba(0, 0, window_width, window_height);
+	piglit_present_results();
+
+	return pass ? PIGLIT_PASS : PIGLIT_FAIL;
+}
diff --git a/tests/spec/gles-3.0/waffles-compressed-etc2-r11-64x32-miptree.ktx b/tests/spec/gles-3.0/waffles-compressed-etc2-r11-64x32-miptree.ktx
new file mode 100644
index 0000000000000000000000000000000000000000..10a62ccfb92c1d3b2ac1a9af637fc0d0100fb905
GIT binary patch
literal 1476
zcmV;#1v~nyOH^1OF)_Oh3K|Ll0s{m900001000000001Rk^le$82|u40000W00000
z00000000010000700000000001ONb+g8VO0<c^GkQ0iE9GSha7Yg*%W8)<*FByLnl
zVgx&`y#qmNHZcR6Nwhg-7jbr{YeGhe2~OR+c;%m({2%<LrQd7+8~6UR=yKMsWMoK9
zU&jvX%o>PCGK^slgV`xYZKBO$;!jL<LJ6}|gbYEgu7tc1 at UMcsj@qxi|9}6HjS@?x
zup0w#b<{mt)vrl^bh(=tr3esXV$h9B)gFy{bgWWkGg-ZzH=E%$Ce(#-d$!%A`Y(fZ
zdHtP;npt(vTa6E(|L_0yAKM8w_uIUfrJwPCCiG{Hn*>BMM!`p(k&<$DXJoWuMod&z
zNu-NRZ6u%(Bp!*MmnAZjp+5t0h=gLuWF~?`F)S2H5FPM_N<^|iCgLw#Vw-U_qA&A+
zQNO$R-|PRRMl)0;XjYV;i6m5Ia)qLyQk=a>!2k)iQUNeZ)}R0PEr~;E$stAa7pGrF
zpM9?K5&LKCA8<Fln~LccR*H1USD5vsqxbj5*LPMmYgXp3$!uoUZPwgpa{FljNwnKB
zMF}uj3G!BCuSt-SrMyp7e#G$5ZIp>pX-Jld3SOXzj;%Tw{11SnhoP91DrTgNS!dvA
zide?0k^~?VnLk^tfyKO9;hqV!QsJzW#!P~}RLmT~>7N|gRMDGa*4eG_E3{9EyD#kb
z81{{(+HH0G9lL9mn8Rv+r?+t?Y*y5KscpucLE>IviwO3&m;bhFY1?~mGUgL8IHj(e
z>6lS+aZRF<5h?bbh`wI{peZ7LRGbN%sDzVMV;LzDg<=<VYGErN+FSpNYcq6rF5<|M
zVvN`~lY6DPQV_5T)=!||E4VrW1WR}P9Z4VrmRWB69lPmm7UVABM)zHAn%Az-X?Nvz
zBXG9PSub?=D|AP|lK^0MCw4cI-e-32PGYBknoD-2AWaNxTBKrc4)o`5k4RG7ZN|i!
zfMAhH*sT(fZwSVAlkN7sJvf4FDpv&0N&yXFwwa at wRG0xF+Ph=QSp_*Iw}1cq9YjfO
zyKT1r0wuEBq>@eh18uhIci;c~14`P}O?y}U0%Vp+G?Hoj0Fy{zk~t&%9SYzEDD5oG
zTmSKYW at gl<GDuKLxGBS%LXa^d6G1nrX(Cc3Qr9=eLuOKK17T*zIuK(=lxkXknBhMg
z(YhO(dVx89S9f>jV`fP%yIrpS0CGv;lga1)16S6szuK+%6Os#T+goh=9k3grx+^04
z9on6!+MTNQANx=A-&^(iEhigrw$U#4AHUyh)?v1}n!E9LQ)XwC*hFU4ZG_o+sE3+y
zq>dHULJeST00>HerP|LS;JjK+U?ikLBa~&O+ihVt-~Ipj6I)xikX^O at 1GdzXskKx5
z9p7!X*Il9j0RRAybLvVV60vK4Xqvm>zCFU2K(&gEqG^P-gG8c3$UhO6l>b@(U-dto
zs!H_MXoQSv-79dHi3<{=m4&=h^snMhc^BggB{&gVXSF-wn2Z{ApV6(zz8QFhKst$6
z;OzyYn1CH?{y*ulWB#w;{txlvFlM%GBSp2Kupi~WQ}jNppc7_pYGh`bsA6#^5 at bhN
z`~+}E1ZymPV))Gzp^{mLpDYA<1W7KOQd?#&SLuGwQY|`5up4&$9Z1P7mcw at Y0c5+d
zo16Ol1QV-!lentlQ{Qd2n`U;aq5}8^1%Vr$WfcK~n)~&Sg4+$Ft+?5-ssU4XyMO=w
z0uT#>I@@DF0001BWcUpW@}DB6y$U%3D4c?%n%a^0cgB3SyJA%C41AZQz8m#_6Y)Ql
zl4JBYhGL?4n=?s&o6Ew{TP=$>|Ns9G0001gql)-%u=@q0qtL^lTH${P00022QhQ=a
egpvOU0001{5N*Hz|Ns980001`0Jht0w%cv%KDp)q

literal 0
HcmV?d00001

diff --git a/tests/spec/gles-3.0/waffles-compressed-etc2-rg11-64x32-miptree.ktx b/tests/spec/gles-3.0/waffles-compressed-etc2-rg11-64x32-miptree.ktx
new file mode 100644
index 0000000000000000000000000000000000000000..a2a952a8ec2e118fa332dc15168274ef6e60c854
GIT binary patch
literal 2860
zcmXw*2~^VA7sqj_+{%R+Esc>Zoy-umNv3fc)J$_B6&1Id6#1iOh+9xv;exrfIFc(B
z?zw|nXrYj$jh2p6qnI*^OO{rSJ18K(Kb|>r&wKCl-hJ=f^UizUbI+}J_YHtrTXS}6
z7-}dftEhq$rnEgMEG`cO`aTr|vRBNZivFK%@9+9=p#}nRir+Wx>%G-qTP$Pl>)YSU
zh^_M?*i4ZrUY`RJZ2ls=3 at 6PZ5TTUJGl_oDM&6V;X!yEi80KpEF}G=uP0ERPVYJa^
z{ijjavf2c!XPmGplLBj^zt}e2eaNngzRBxC8{lw<zmD8ZGjXz~PGH^yEucpKhHP=u
zdyIoNAT_LVp%kzab01X!QF5bC^2WJ%d=n0TCSBmaMsbW&^>C{H?#tYMSBHR^KWck5
zoPM;bi`+$<PdIOX^o8F}Wk<*JH{W1Cd+N9lQU|cpgC1BL^;TNtS$mR`daDmr%b}u)
z+M&C|c+tj7|JiUEo- at _?>|_T(lz;4GpS&i#&g0#-acyKn!fxKqb^jmBP=(jQ;utk|
zf<rG4oeUagx)w6Fj02{$bnxEex6eI)t at R+Y%R;mHyIT?HG9z$v)9{Os23(bodnX~J
z0gd+w<W6`3n-nu#Pl=t;knKf&cX2v<0Vgs(6^mw%mr9Un#dVvI%#uJt%$2PNnTCOv
z`M=(}P$^s#zq*(?*dSa4WDtPKoB3EOG14=se78H6oo93z5iR=t!DGfU#d$5f$P2Zz
zK03|w4qesJ#<|PoS|xi4d1~cad3#<QDI6yY at btj>yH at 6$CS+XI24$L at CLGGuIrLqY
z8v$yr3;oWasL<4gR)*AM{7aRTr0Tfd2-`Hj?CLnG^S#hO>!aoFI<OkIV2^@qD~lSM
zn^TLu8P at W)M at S3EY#L7Uvhjr`BUdq4&hqhc`0A6(!p;prFi?=D|Fne@$o~9;|C%KZ
z<4X%fOj|nPZ?ma+%LxCTIU4Q^raFGd%$Vyrj??pL(>$;Hoo-!f>az!UX;2PQ{^XvL
zl}3v;SG at mE)YR08KnX0>ue}<~6B*Va1B66Cte5d+7bbGY5*#2m>MxnC>xe#mHI5 at c
z at xFW2n3UZyQoP3t61TUe%f4v6x<V}O^DkPjQt-tH8FM at eGutyl#w+--w)YZgguwrs
z*>?%gS1_qv8hOa{kN`)QjDpM`3w|c5Ta~C!`&s|0ZdI(lg1OR!%FRo!bHVdmbMvY?
z&f>7WE4R+PFoh0?WIIfC-1595oT*3TgcC{ThqAQJcJ*VvKHMi`(i8G)f6|p{C%0y=
zYwgL1v%OjTRs*$jjWFUEJ{R-q>my?1silaU0oBY at DJr!S8T{ZkRj6h at 5?vcN&-GsR
zRIO|8=?I#7sLr?V$>e8CDqm!D)#XyvvIV|PZXf0bwOh!&`%`9(zY$uk-(Hb!0)x@(
zyUWCpBC*axN-n)~ZWW&E+1ti!kibUh&W{O~rLYw`YH0DY48n{0qsY5i3g!f--*Y&S
zE2J;OFX9Ih1Z}Zq9+;tmvPkEA2P`J2K9Y~Ijxk71*Ag*ll%@-zYNED6fL#zFO=9ZL
zXkv;5NkqL5>d}-gu3nFtn%<$TJvj?|(Iv4kJ+!X5m{5aiq3fE9rcQBhfIixB3a}GG
zrS5i>ZY)>xR^>PDk>2;!&(%<Al=yFr^vb-ogCea<^~`-Qw0eis9vu?^H?WcI>MRFR
zf4D&$*>bWsG3Qtu`N(wlU+6|RMBCQaf;gBXQF-3!i%pTWGXH!sI|szlU}=|1!O!Zj
z9;x_oi;0t=sqSRJD9<S~Qu&M&4BZDC`@)v1073#F-IBnBUkLg$mg}g`@^ChJQGfx2
zjSq*LCasfZw`gCl4 at 8hZQ4YqiKOpW-ax<p2$L^l>ojrnfo*38pljkm?3 at kvW+uTXy
z=EZPa(-ALx=0D-2#pr}bO`#U}4<Ju9Qi&(&0~Do|?=l%+S-12l5SJPQ*I0QJ7~h(x
zt+vJtjBtu8aOJ1>(?V4GWK2C;Wyo)??;G_7iE0=MZ41coReQyz5k<0twxdVcBOxq{
zzg=x_e!{PzQi!4K+Lr_FDcYrDSu-DfI?AvBry||2NC`Tj$iK%~M$sGqcp16lglXG#
z9-v&!Cy at BA5*P?Y5D>XCh>|_}`EF;$I{*{_05)O6 at I1Nkq!ebBKsMR5l)wPvr at S{Z
z2~2rzCpF4U3SsnYA!jHuh>2^>#N9b5OeKbSbAu at X%LgYXjHWihb4l=H^UD&LbP at l2
z5iaxr0!fY^PQURNE>rOMKVMt9eaKYO^<f1cPS$8QfBDQY_e2y&z^nAhwNWuqwH&er
zhr$rylybDAFDyQsvS5Kb*R)Fceb5K*L^v2`wrH{;{at<|_?5eUY<R&%z2f#Irrz5+
zJ^zs<W7nYvN`J(poH%Yf47-<@a^i+RnX-943`H6VKFvpC1tdjYl|ht+%i;ymq8V=s
z5CVV%#tB1k7DU at R0Dv(-26o2U9>bYQ42L=$_z)!t?4UQnu<Nh{wxK;GH?Ea}C^oS_
zovaia0_WESs3jRB^PEd%qRWPn5VFisUt84yc$>5^#D=l^)#DP+#!ax at -DNodh;*bx
zcuRcrAda`mMex6GDB&$rd_?fNIVb!uA$2UX*NHStppKT-WIwyuedk+ZN=8Ynf-~0L
zl<UCx&c2{q8 at 74plxl^5=YgqTf=Hv1!O+PDbm%xp<p+Z_TXd$mZMI7_^~w87Q<h`n
zjYSF~gj>MI{u0La&u$n6&yzvp>`ky>6Ur)v%2jv(07wD33Ren<rP58XaEm9nPzq88
zfy&WeqJFSzmS#16_At?Jt$#>mSWHd8rmi}aaJo89zI<n&-+Q|4YWlT+(SDZ}>Bm>`
z`YINWPTDubIhCI3MXEpHOuPjsB1GXmAP~5)jx5f1OW;RPsf=1Tk%G6%3NGQsQRTrG
z$1P$Cvo!S{=BIb~tnsERw>iX|4$CTB0h|7)>k(xz3qIYx?`qO-PgC;u==d`p*H0E{
z7_qXJAM{V;w1?A&dGEO9?E~(=95;TR6rSanSZh50I-tHt;MppN*HqQ2Hb%*jpC=VT
z``^DQtqPGdCgs{oGxqp`=!1Tj$6UkAY{7qV at 24Tf09iySWf{-%eAaB~y>v1HyMjm`
zEfgV~SKyoq?6PGZ*5zItHWscY$|x+{9e3yO{L$3c1knU40MwZGez(Wlz5A|YtiApw
zUAed`#zVCk6iiG_ at X${@+-E8D2^Jxa1t;WTgYlOB^EW;tvth^hnr-b@)aq0eltBs;
z6oUCGgFx?!IO`OV!3zppL}--2?95pPSyyC`cJ;|1zbYAoHfTN5P`Zi|3{)55DerwH
zTU>_7wtwr`6=(Hg`t3a0^<61_K|S8ZwP_q8kHOGYN-L4Bm*)eX6^(m)Np-+rec!Xu
z!T9tpt`GotF{V8TIz_Yz=8u=sx40Ynyz63VQbV$$9!v{)|G;MjejpURaUZ;Dd9dFn
z?IdfbT4VWwhL!T+`)=J8oE^(y&QBP1W4asU?w=pkU~!9ku6ed`u)hCjT`PP^wF at U9
zLT$^bNHGtwN at 3T8VJ*u8Dsqy;)(|(b<(+hNF^Qo`%c^rsu{BW7nLm)yNfs{hdZS?O
z2!%4CiaS(=+_}OWl2#^FWN#3Yr8`>bY(Ew`4EfZnEaOz7A5uqg=DB0iMNr;p;1N0r
i=SnRGwtc@&2#AUh0Id06Zu_{PZ4UsHg4hCrqWvFSuD=NY

literal 0
HcmV?d00001

diff --git a/tests/spec/gles-3.0/waffles-compressed-etc2-rgb8-64x32-miptree.ktx b/tests/spec/gles-3.0/waffles-compressed-etc2-rgb8-64x32-miptree.ktx
new file mode 100644
index 0000000000000000000000000000000000000000..a1df9f2cf5b5c8d410e0b5af6a325f7384f21a8b
GIT binary patch
literal 1476
zcmXw33sjO<9RCE(N2z>*Q%pOErJdZGh=S%>;v)@T`Ak!{UP#sv%Lg(k!4(w}F4Nhx
zsZ%SRnmS9DMuzq<aDZ!OWg(ngOUne&O;plvA3LZ2IrrZG`~L3l-1BdXOiaNM2qJ4M
zCo2;K(iDKj#JItdUk(7~SOB2FIu2f+#27dKWWW{D$B(4+>8okNLgsasCg71+kaW~#
z0&r1ZNwTaReT~F;ji)jzkRM)_B@;m<XmN|5(Mi|+0nF#ms(3g($TfJ9Kmdh`N>3jf
zBghncf?`KBtpIOFa71`<7*DY$nQ=t35LZmk{vi^tcI+5>_TswWxbE0Yp;m9&Y<Oxz
z=uJ2tp58ZB9%t>rCanAItoKoRXlqy(=GD~-Vn<_tCiv?{QV`NP_nm``Kv9ifCJ^2e
zueeDr$1?~~Qd7;u%PwGK at v|k}975!m7$Y5j`IJZy*DT172#~kat}qy!(px?awljsH
zd!f8*=KetuHrf!>9IvuTE)c~6%tUXYXg+Cch$pzMbj1&Gn(gn2(DE%yihOgw at 9K4&
zZFUL(tGzs at YEcn+1Z=Iccw>1r*|$vDlt3j}?r_qS`e)h7URdaLQn#3OmBROPlXz(`
z0(>{8_aKyo5^vm<Gh2f5h7}6crT8%~jQK8&mVy_4 at b{0v(!!#ojX4C~^c>m*hsB`_
zG@<~~7PrLgsTxd1kSm|Oh&;;1+nsHM(v^npYfdr^5OKE<!}QK_N>Zetsq}`fQfVfs
zTP9g6mh{|eao4zT<$aYUjoH5xP4w|fVp^XQwd!`7N?6g)HLz0ovZ(u912m7 at U>dOm
z=@4Zhh~lBEhr07}M2@?CLzuf*is$L}4HW?SFH$cL{QOC5T}?j9HHiMUlauOz_OczC
zMb9=TWC`9#M~7+ntof+#4xOX;Bp1lb5$!1;&DnO<vVET&brPHusMtO^1KYjMX at 1(B
zFO#A8T<f*_<{x*Aa1GoQ{RtL_TeJe{AqX-+!xvHTuT_gV85wc>0Ch*q7kdk05#o;M
zOG%6}({EfnsbM+F;f6zrH^Ygjor2wV(ezL^v-#WvEAruj{NYN<BT0qCM8USBA;}(p
zLbq}2?0kJjne!YG%S*`{Kkc0>so^8E_lh#jZ3l%*OFHD>1PWgS69GZ$wY512X+nHR
z;j#?SG9(ro at s-rJ_3I!Vl1~HxIPE<Ep24rqOlReJ`D1#!V<Pzr_3H=9h_;}zyiIXo
z3l$u at 3Ft*`Ar$hBlI3e3$sR1fiHD6r2Rn{6?UxD2m7oo{L96cMMIucG;r at mPfdByC
z&w&9zC%MZfA^j>;#9c8!Q!4KNe!coDBaXmT at hl8$MaD`O8SNu1)vUUc)6R??KTURb
zFPu6NDyS+TRc5!27HDOMGbc$F!`7~^b|SLTg~@1)Pk<99w)0}040IUy-B?dvJCB8y
zbO_-FU;yR;p_Tz?<G>L8m|rPs<Rix~Cq!3Q^Q|YUg5u({aGQsl&&aJr&I51WJYy4_
z)ody?)js-w+w`(3>DW*nMDOVt>fvj1yw~Ar+ld6^rn7n8)YsMrGPCTd>-jR at m<Q*#
zWz+YW4J4Q?s#qsvORFn-OR?zHmkNb4+7U~`wl1((3Jn^?`8ujS86~f)J+-wze^;?3
zo9xbf%pz$dOhReF0a{5-imTB4=J{at1)oyO)ligS=3N?~wGkNK1g&CW%D5|HgBUWN
z94$x7Sb)|>AQ0%Q3g7qa;M*!p#!QSp!7_(o--6Z at b0xF#+G>+PZwF((9vW0o;Ca}?
zi)XY>((7g4ZZ7K(pe)+kTAuXPBu$?>B^;ysz5v8ObN`;G1rRl9{)KPBhKqO1KGX#+
zmJqoH<~@K6>_NdjZm|7&hUig(_O at mwsCv+20s9ts$~&Nq4lwF{jVJMtEdUwy{q=_Z
J_5c2}=|7l}!M*?h

literal 0
HcmV?d00001

diff --git a/tests/spec/gles-3.0/waffles-compressed-etc2-rgb8-pt-alpha1-64x32-miptree.ktx b/tests/spec/gles-3.0/waffles-compressed-etc2-rgb8-pt-alpha1-64x32-miptree.ktx
new file mode 100644
index 0000000000000000000000000000000000000000..38aa1a1337ed00c3f4863ecfcc049caebbd773be
GIT binary patch
literal 1476
zcmYk6e^3;46u{r!?s9v}akqOeAfCt`0_x}_#})WvMh`fXf{c_j0Vfcp8g7v0ko&_Q
zY%b=Sm!d}DkFwItQW3?UosNv-7}<JdQ=*BI4yh^JA&edubl;XWW_mNbpZ9k6`+n?u
z-|xZPf;V`p)f+{Rp)n0kfFjuNO_7>y08|`+UD0{v8j<1m+7Uxpk!vyL*=oOSi(pO?
zDYyKxA+?=e>pzy#UvfX9sq5}U1K&=&z3gxO`Rx&VgDYaS%n52ynJ=&@3;3W5av*XP
z=0}P{%7kscZDIgpQ)+UO>_Rlq7nh%}5u$}{eiT5EFekI#*XpAtEFoLW0v%~~075|Z
z<<}Vmg8-qDEUnz8m%ri4aMo7fEaWEPPC4b6lb9}I>0 at qIb7kvX%u$P$ITcxsUKffu
ztGHgCR{U!n&LcN$#%<Zd{s0oD!j*spfK9^=U(aj-is!F%;;BL(Y(s7oBsk0x7|v&$
zgR~}QCGH?z79r|P@)z9bbrjm*EiD8shw9_TRxLMfK at vnUe;H8_1SP)4#lFB-6Iu9H
z>&=)8t0CF6$-KkA8n7pgnvRZcP~+!sQ0szO9{aO=Qi`$gIRNvFMXHT4JfN_R8Qg+d
z(0RAZQvjc#-f*iR5F3Cg!LvC=tVHpFT!P2Z(^yxis*0Xa`>18Gc{?rn9F?K^Ix@~-
za~2XV{FYq%UZ^CK3JY>uwwcPwaC`3UT>uVihI3y_3A}RER+1=J;GpEMKXGEN8eaob
zR31NGr;>z|6miH?Mq;N(N)n`ct{4xuEnVBpEfAkW`%@c<e4J%dmy~h57=>c)-Cu)E
zk at _}vyNH*>a9;3nGgl-^P~20&Wr|=N8=6m4i+bOLQ7eh1Vt)ov`E<QeXZ3>j$q@|D
zY{;QUSF3S%?b at aC>@vWVZouUVfbKvV+qw$CH<V?)xEr4Dc);-4K!NXy346rv*B$Yk
z7tV0GqWnWmsh;`R(Dtc4da${{D0c!@$gLJp8$M&rK4Mj)_L}`^Gb9~=EvYW9P$M-y
zNPgl068#9~@wqlN?$FSX%J}$a|3jlu`Z7E}iu|8R at g~(i_zqyZ(R|3`ig3vzzh$tW
zrf0fkM}Nsf;>+&JZue%Q_JY<6q57eSSa;N|;~rS$_xlG!^)5=1Sbf(TWlsMA-0StK
z{ssmHR3`8RDly$8l^N+1RVK$<RO)ok=4m{hsoGsDLEjNDL3BQYVW*Kxi?xx$oUQEL
zz2In_clDD4+{*XaTDf~6=peq)d?OV!7W4p^#<NZ8`jNOJ^$#By5vH$5=3Gs88DSNr
zjZ3aa+uOCSqRtz7%Sp1|a%n|}M>7@$Spc0G``kAr3v?E^B(-x!We>S*MB-77!hiaC
z=#H}(Uj1`VmEK9%MM;jH=UoBi3m4D5+_emgLw%CiS_-_YmXhQubtVCriO?CgvLxF;
zH3gPh^ro-Lft~Iet~8&BY|^^Rl)XQc_u?Oa*VoaS7BZpF{*eC8U&G&V86BaW^anF@
zi`1H8#!Xcj8^fqP<iypPI#dVKeTVN^qbv`psG^`tkNr-wZ?kV+tiu+g+mPPV)1!WG
zS9-3sG?3+1ciJP%_axdL2=-ScO>_5K1>7_l+Y?B%7EOjEf0$(>ObyhGushAb-=O2t
zXa91o0x&cH81tWxjt_&ceN-OVJ7^;rN_i&c#w0xs7#<Jn?`B5=>Q#<PML%1hpH+~3
GS^5`CE+tt2

literal 0
HcmV?d00001

diff --git a/tests/spec/gles-3.0/waffles-compressed-etc2-rgba8-64x32-miptree.ktx b/tests/spec/gles-3.0/waffles-compressed-etc2-rgba8-64x32-miptree.ktx
new file mode 100644
index 0000000000000000000000000000000000000000..4ae0670182af450ad3162790847900b98ac78c0c
GIT binary patch
literal 2860
zcmZ8jdpJ~EA6_%FF~%?#BbDQu86mneE=N95R0c`8rRhq91~JSysb*);I65^($w{KG
zI8@}4nR6OUbsXI$P0A&crcP3HTq3td_BYORe1ClJ^Q^u1`>x-!pWnOI`mMFD`v&cx
z+1beqaf@*%GzJ1%pynQ0q>2H+E&{+q`%TlfdCc|e%@ZsDv8Az5PN9)03yk-*I~}#~
zI(LKX87U645>Z%~A;nU46=~>r at 0%3{MWG-Q6%3pF$61o&B>sWgbP%l1-F652ER1>f
z)r#IMBU&epCnL50>bc}FJHv)K7SO4CWir9^tXdovx8VMY0?N*;*5S~Im}{Iq37gxs
zbP0W&m&9X)&RU9?8JC#QM|*0KsoXjH)*p>5r5jBbGBI!2 at p@O|=HUCCdxA>=ie%08
zw)ChBly6DA#fpSY0IoSw&aH4!vE*sva at YhG4<W-ynU867)f!U>K1)Gc+yNd(>q0&_
z#&+~+5R}iW)>@ZkjW)?$aT3)MhIr<9)9gN}XNJhj;;r*&K!y=)1OuhlrUOn(q8wj@
z11r1+|A)eXp!~P%`djsZASQ}!;q}@%d_$@4L8qM*TMS!aUHjT4jWz!I*cLYAB0xDU
zR=p=)u6Re?AD>K#Naql1=w0;uw_HZ(N<E^~APNbFTb(^a*ehz=SQI-!rsDfuAvdWL
zrE&S)8z9}iS;TP^mS}m;+bhExa$sKU3r#_G|7N&s at zl*fbxf_?I#+=WhqG@#-8%JX
zIkXJr!$TGYr2hiRSnZ7kqb2A)by9v}xqr90O!Z9)j{-5mLng0pk_^U6+9ePLwPaX3
zKHIvaX;Ra%)lezQSuuO_iOMs`^|JCw at XwHs02uye)w}ezZ(LSLrh_qn&d6d`JoAJD
zuqgY${X2mk1raS$FiR at 0s*g#dBZ0%|nsW1AtCAhT**|VGB=!@KNdWiTJd at p16;EmX
zqd6o;T4gpe*w{7 at pA2ol<l3ngTsd-mWS!Z|rYD(z=`=_-$gPm3acLpqY2^nT9x+hZ
zI$n5KzV>|W^cz<*5hwr_Yx!l at qa`XG^BC&a^4=kemA8Mk{vy&YieS~ZFACq_l!evy
z&A;!^3r8o&Cm|1?1Gu&6b`8%VYXt!U8Q3HD9yXY at H|C+q^kCN>Ve6rf-79NV=G72+
z3ISLkd>nSb*Q4%`91Z{(e~!Gn^K?()v{WXmfnn$*AnwB`y;YATuH$u{6rvy=F&}>I
z%G0k`e?xpB8U~p#<-B%RBNJ1yvoS=F8O8t3>%G<Yo(}#kUo_QuIAN<-{1aaO!x#sb
z^=!%p41*oq(c(33mUZdj=baD-)1%;@NKtDC^JFp)PwXII_(bo-N1-V^4%fMYLW?JX
zrSaPzg^o2*BPJo6vqpBu)#8L}?hzBL at uPQ7fkT^?ciP8Sc!od+ZskC%$3`~ltqq%#
z{5SQnLzF+Af<M2<aOlAJd|I4 at xk8UXq{_z-&HVmw^=k4=Pc!nVXsp`Bwp%@}10)6+
z{dj97N9AXKt#+9XN~(ty!on9c?rN4jDOyC?g_(U2e*FD%k7bw(#pBhKK*1`cY)${F
z{P#^}amNdw01Sz=X1A1&AoAy5D<dd0fg!S>uar;NxQ?nx_*&9#H2X#f6uwov9P<aA
zIS^AY>o at tib#u<BdtpyQHH9S*f?b1y7KMi-jKkTLJ3z+22xs-xE)v^{#dl|`m|)8X
z(mV8Bmb_m;tiF)~g$u@<q4?0Q&TrBMf3AX3KNvklXu|zG@~1e7M<C_!Cj<WMK7By!
z_-HA{0<=ZaEB**FI=}TLBqY2g88aB`$}PoA=pqxUrxRKS)q at As{Y_ at iWO;YP(Yg3D
zeyvfZJ#IN&@+)I7*bBq3Fr~huD5u at s7eam^Abb%x`SOeW_ZheJ(|DJYlf1M#QTeOl
z-mg9NY|47U at T6DT8=`3CwPM##+0KB;jSAQKu)MpnT;<z{C*~VHDDp7r^67jdPe^gs
zRG%X#)Bx2-SMNPBA`<ST92FoBFl&{xvcLS4#U;nCLTLqh9Ui{~6~3^xQMP<7`9`?8
zMhNcu7{o61`?85c*@+ewe6)(Xpw{fuaVR`7+N<l1G~o3YR*M6-loe_aG}ZQ~Eq~s>
z1_5ZAmi&Ea%)RwU1Y{BN8|I$?hyVypY805~S{aRK@&6qCzjzXLc-=4(QxR8P_`>a$
zP$y7#(upLOIL{ak{kWsgPkWvSPbm)Gap>56^-FQi#Z++0RfrY-8r?x)PY`@tkARJ&
zo;t5i*XhP>q6#$cG{nEBCj%{3n&QNCyX0xnjIJrqu;=;rp%d;AoSSvIsF<MvYexOS
z+m8)K+|g``i-3f;kZm96AZ}+`ip#hQFH-wwoBv4<%=rc6c?Q7L)YRXp>-;0>EHb7Z
zf5uBh5yfHF;uvelmPAP6ae06!?za~AuQCx4*D)9}*&JUbj?vY{kqA5nPuow9u at Z+x
z!g%aSp0ir2<pEaW-H;`;@ztf!7T)&v8AbYEiZ4sUpq^ZRtj~!lNo9 at talH=(i$=y!
z4*8GkRl&Dk-Z}s+G>9L%cm4dCe0PtpTW at NV14cv6K=<KB@&0&LqP(1vl11Vx{;IpK
zimPgmE5W1St=5PI;y;O)>FZl;KcKNYQzOsd&)0WBL)EOFF)}>wc-}8W)UJ1s?lmzn
z@!ey9XlE6G5>=9?6*<OQmt2Y?|CL<QwcfkA*?UuF1Y{==X7BEL;Jul1oY5vX@#xg!
zu+%Sqn3l$HoqAWYAi9BzsLgKs1DhSW52<9&2*>22#NfEJ=Ut7p-A_u)SK2;e at GfKb
z$YzVC)q`?~OgTdml0fvYrsKR#eJ$B|eY2UNqTwET_U)w|pA%~+Sj<!9%-b$6bX#*4
zi<=w{w!Ej>8TQ#=_FZq at x|<Do2!sj~|36roZLw*nWLW};3JKf%2>w|;YU(}FdA|-7
zHzV-QI(Q+P+ZR7^--o*<m$r-M#pJ=M`Z{+C#%dhm8H`{?!i%476y9w#(`YQ*YY<h)
z>3f&ufnBZ<+0dh`s0i2Tw4sj5itaN5B_ at Gc$i(NoD{7TntxBJ52(rwkU>I9-nh}<A
z{*(NE5QyRKOU~}}U7Hq)sBU}}W#G_tI at G5TZClDupm&aX4B&1LacRfoGEM^7Bk<J^
zAn4;II319sOd5;@v9U*{QT(d!=4(($!CvV<eXx4I#{OkW67zU`#7nK6Gaah_2D<T2
zxXF>^bCcCB%Op9DWf`cH)+H^lG`6jQJ?h3bqz at RWIkatU4sd`T^=%y<)r})XllF#u
z(hz(yEyWe7Hen%qY^>+kga(N^1cN&$SSwsh4cyPq at 0aS)&*7r%d25tU*1nU3v_PNe
z_i at 8{%X`BMH>W;%tKK8lQDq7JTnd83BZd!~9P9i>_09OaDwoKq(iP-qtI0x>4LJ<@
z#>lF%yE5ba<yUpd=M3zV;*ym1U8}Dsw+|Z8Ug8!xxwmnj%ZSF>dzdW8H8n5c5KPnN
zuxF~tykBkBsLjFPMdDI=yp%EET!v-&dNYFEdh+av+L)yD-r_jwh<NO9q&sPN#Ar^-
gwnipY+JD`KWQ&mzK$z2n+BS!VApE)@&qu=l0$7{EIRF3v

literal 0
HcmV?d00001

diff --git a/tests/spec/gles-3.0/waffles-compressed-etc2-srgb8-64x32-miptree.ktx b/tests/spec/gles-3.0/waffles-compressed-etc2-srgb8-64x32-miptree.ktx
new file mode 100644
index 0000000000000000000000000000000000000000..d5fa604f84df4d30160011d62c4b51023d604d42
GIT binary patch
literal 1476
zcmXw33sjO<9RCE(N2z>*Q%pOErJdZGh=S%>;v)@T`Ak!{UP#sv%Lg(k!4(w}F4Nhx
zsZ%SRnmS9DMuzq<aDZ!OWg(ngOUne&O;plvA3LZ2IrrZG`~L3l-1BdXOiaNM2qJ4M
zCo2;K(iDKj#JIu2EC&E{EC5ho9S5&ZVvL)AGT;j7<402Z^wl(BA at jOR6YxkZNIL2=
z0l28IBw5yuzD8oa##5OU$PX{el8K-aw7A93=%nlZ0Os>&RXm&?<QhClAb>(erKgXL
z5oC%zL9rv6R)Du7I3m0_jHlR>%s8T1h%2UN{}72+J9Z2`dvRTGTz71yP^&j>HaxW<
z^d=k+PwyKmkF)k*6W0B9*83<uv^A^?^Xh5^v7 at m+6Z~}}DG2GD`_4f|ps2<#6A15#
zSKK6*;~9h~si|h-Wfw5A_}P+f4k7YOjFFDNd`cvUYZl~31jyTIR~QUV=`EiI+nK`9
zy-?mYbN`?S8*K<`j#t?v7l>j3W}>%HG at rCJ#1q_By5fg8&Gz?1X!({UMZUS;clA2X
zHai7?)n1-cwWx?Z0=8CJys^BR>|3U6N}!S~cQ|QE{j+RkFD&#rsawptO5yvtNxU=|
z0lu5ldl1S(i8t=bnJvM2!wQA!Qv8?~#(bAXOTi02`1?m-X<<>)#vB4~dJb)Z!{X2d
z8c_ggi(6v$R1GF0$dylCL>^`1?anqr=}JTQH7A({h`3vbVR~mdB`H$SRC+^KsWg++
zEt9MjOL}g#xNBUv^1jNF#_V5;Ci-|KF|E&uT6H^3C9LS at 8d#}(S=4>50h-5cFpXG(
zbcnJLMDftoL*02fBFEjnA<SJY#q)Igh6;fE7pa#Ae*Pr3t|lMl8bp8F$w_rUd)W at n
zqGy{EvIK9Wqr)_O)_l}=ht5%ak_+VJi1rka=4`ua*}l(?Itfk+RBWG|f$d)BG(YXm
zm&s6kuJzh|^N%}5xCZWu{sfD|En0!}5Cj>Z;fpBv*Q&*wjEp#bfVv~*i at gQ02ysXB
zr6fj~={GK()UX`oaKoX*o8d&%PQh-wXnLrd*?ew-75Q*M{%|Gbk)%RmqF~$6kYtZP
zq1(81cD_EN%z2K8<)!3}pZ3m`)bJ77dqtV%wu8c at B^`2b0);PviGU#W+S(k1G$B5u
za9IXu84`<)_)2Qq`gM>F$tMB;oc107&)`>QrnB<A{4u at VF_HX*`t<{4L|af<-ln*)
zg$j<{1oR at e5DNK5$?~<2WDl0##KXp*gB{13_R9q1O3((}pjCJBB9SJ8aDT&tKmdU6
z=fD7<licN#kbV^^;;tB=DHZpBzh3>75l7&vcov4WB4eeCjP?<hYF6FJX=lccpC-Gz
z7fziB6;u_FDzjTh3$(JsnUf at oVQbe{I}zFF!elhYC%_34+j+50209G<ZmcJ-oyS5;
zI)rcoFaYy_P|E<cabSpk%&!zR@{!}06QZlD`PLIvL2>a}xXr`OXXI8Q=YcnGp0Nqe
zYBrUcY9D>TZF*UibZjUOqWAO+_3*Vh-s|wR?L-1{)7d<4>TBx*nOXMK^?aFc%!BjW
zvg!NG1`^B`Rjd=TrPUR^rC9XpONBxi?TDpeTNhX?g$9k{d>z%EjFQ*Yp4!@<zpL1i
zO?GEKW|1@!CZV+80Ij4Z#Z_p2^L()Sf={XCYADJu^DYh0+6atqf>yCGW!x39K at 1sB
zj+UckEI?}`5D4^Dh3|WI at NE?)V<twQV41_PZ$WE{xsq9VZM8|Dw}UZX4-G0P at I36{
z#WPwb>GiU2H<xt?P!{cNEl>JtlBQ3c5{}V*UjX8txqna80*IP4|H8Lm!^JyhAL;@Z
zONd+p^BzD3_MqS%H`snXL-Z&?ds{OTR6XdifPD)*<sHyQ2N?Cf#*=u+7J!WU{(8gy
J`hWk~^dFu%!M^|i

literal 0
HcmV?d00001

diff --git a/tests/spec/gles-3.0/waffles-compressed-etc2-srgb8-alpha8-64x32-miptree.ktx b/tests/spec/gles-3.0/waffles-compressed-etc2-srgb8-alpha8-64x32-miptree.ktx
new file mode 100644
index 0000000000000000000000000000000000000000..627a95313590fd6dda40b22493b2924c17d6cc77
GIT binary patch
literal 2860
zcmZ8jdpMNYA3rnmVvJ!fMk;G(Mu_f=%gRp_l|fQ&X}S`jK at 2mMYTgVQtF19gHi>@4
zQjtq$b{kB!R<}u$a>=BrO^Vhfa%<$>vCsPb@%uc_dEfW*Ip61fzMpf>_ndRxH)tEp
z&Q4~CTZluUF%ZxKHT%%wuowXB0suU;-!yHT!)(9a9Kiw*TM`@P6dIW_&v;Lp(@_hr
zb2qr2k>W5b5ru^rR4i6kk_M0Wyjf;Y7z#2_!LZ4Hoh8{$;=|O&{a|g*mOI#IVa&6y
zmi1&B(K>KE8L918&qW8>={C&KfDYX&6A7kg)#9+YdH0v)Q?_Te424F-T;udg*xb&=
zi|Av#BpxGl#!|#gzr=(-+EWWn<<42R{%Bw+-DtXyiFxz3*E<?E2H)@46<h*PBx|m>
zrAI}ed{g2rRwQf!a7~eNZn=w!B~Klb!zQqJ5E(*BeN3Y(SD8ZaSqj?X4)8cy8}h+1
zw!K$_pnP7n)VM5Zuu1NWlc*Lk#M8$cXZA=v(?wnuZ=FX1(v4sv7%06q>~mTa<@h2T
zSm8DJKNJoG<$qk)-l_`(F;Q#_uh-7u>q>n0J8h at fV%Q4nn%6F=tg+X}HnAZW0m^Bi
z>OJvt`8(>~_+&~%8i!a- at 1*Cw<uXE->k*{}QAjY{;_Mm1URKk}qSy&C6hG_;xk()_
ziOcI+2kGw4B#xo5M9X{LUg_SD1M^~UXbQ6PH^U_hCvX0#V`}Bru>!0+n05Q<=E+A(
zp(Q9E9<m at H?H5SKYHP?JDMs(AmGTqI{JYF$s&7(w1c(tHGI4!_WFTJBCV?oZMMK*0
z+0rRZm70#Ogi27(ikX{FRGvYumz7U~e};Sn!0<P#p2fF)<1#}s9E<^UMi#T|nI{~8
zMcD`L-4669h-iU=SzK{deM}l12^>yWmznoi6>kg9`f-aPv5$aE0JzWQne3jbXj1DR
z%^^9`DzcD)hSvW0WM~~G$4)ix%8~2CYs_9YKFI(~rvb7-PPsIdOA8TCDL>%wh=Ib^
z at xsHh)#q!b-ng2HKt8Zo%`d$kEm7&1$56kP^$b$1y#2HE7m#*P1S`IMQTPU@%&)R<
z`hA;TI66T-0eSfB!>vxUtA7qzD+mxs#~!)&u->e#As0=i2fKC)TMm5eT3(|vuY$;v
z2*3j2<FI|c9<>MLZ~#dEbNJnzr at IQKq%v7G3_~XYaSul6t$HkR9jo=E5C!pw`Os at u
zo_?MB8{!MmFvz$m=e4^U8K0D$jUj at JDE@a|@2!6DbntKfqN&Qo30u74pYZY?#yGgF
zWmDE+80_HoX0I``%u5eHZ-+RTZUz5Dids9ECzE-2VmkrDCweD73Qgg0xX$GiT099X
zj^FwybhMEgF#*|}HL^Rd7AIVDj~Hi-9ld)B9N4h5!#=*;GX&aqD;r`xHnLG~uHTsC
zzoC~MqWtL;{P{hGLkGs^Q{yDeWqJf6RX&Pn=JtoHSCgl^n~+b1qg5`pUFtC%ATdbq
z!&@skDnI*cHA{3*Qa!8?7QUcySF-F$(IUzY%*=!E<L{SxEWunT8mpoN3RWPctNK>t
zy>B#&JDv{(U`V7 at JEeRCkw5=h5ka8|43T-gC49pAHB?Q)*Wxy#nKwe9 at U7h8m^a|e
zftZ3BzlqN+8?#5;3%cv8C at g^x>=+oZC^#Tt9L%cN2GYMLoYhymNNmd&-kqsrf=wSt
z at 6dNy@;(8v>P89_E*N!&;zK(-zDei(xdJ-$!RRSM6Yk}aKgCHr0x1VS8SrQJ=mTQ=
zM at umlpe>SK at rRL-xveiDA>l2_n88?6W+`Su7nx8UozOC%9 at ww$YczW%%e@<p&cUDY
zYl$l9cFXRRUm1nLZWxAzDRu3I*=_E=5b_HF;fuh at mtW++PrId^#=D%H;HB1z%3c-q
zeC at 7dQ`QQGCcIML5Jk(c6}f)Oat2IpRJhKErCk+eD&Gb?G0*5hp@&JQPsba1LW;Yl
z>Ks9#2B==TdiRN8k#IZZr~r9 at S*@g%{^h4EDn51<O3l}6_xL5K;Dxn~viWQAH^R+T
zLU7l|Aa=3emkk`scC;}6qgB)ewPufwL&1rW9$j~&9<M*YN*uVUv_ONPskTRL`E&j?
z2td=c<ex)h_N_-EAPbP+F#iTX1VCt1qre>3%4kH3|L5rc#gnK*Yle`R^0=yk7jCzN
zI)S<qP9(X+dD?LB$8EiS+VezsO0oZrL;KFFUy8CX9s;Lag;?RQ(d`8GIKj8&2v|?*
zuJ!70ood)3Do689L;QPsGSF<LDN0PUOP&%<>zeWmyPy9MI_ at 69xmlZoiW%&;X4LJ!
z{n%jG9nGe=2uOGf+1CDc;#Q`mxRg8pBDHU(>EHCgtY1K$V*pG}PX3d+&cBk*0%Pj&
zXS_rdQ5<G1j<JSpNrWUGmj{UAK5KE`3KJ1=4TB+*&GHrE7+qZ)iNIs<wEg55D{)vP
zjK`kjIjf~w9$+Qj30XqxUtJ1q=52kSUa0 at 2=(02n>dx`U`ka`QR8*@U*ZEMeXk--S
zkoUMw6 at 2^Ut$omZgZROF*Uz8HbNBeV`KCtMZ#3u(bRVu4?~P|A%F8GznIyjAuiERX
zxXQM;Vmu1oY>ikT{u79qzP`oQeHyzn)$(-yTz%))SI+1eBSUkJ=lnuM?Rp1kUgP8A
z-#rG1c2)r>Rwa2_kz=fN$t5`QU&+OtYrUJAyf<V-Kz0IQ*3Qlc-Wxf`8Le^?j}AQ!
zOa1cjlr)Cx)U%ug(G6Tgt#(@<*lf#rNF{qlI3^b+2FIm7?`){)dQxn at -1ZTJcNx1&
zHd8pI9*{$1${CW71fqX69pi22ZO+2$n at tZE4t3MBZZB^CoLEi4VxB6e-*$STTbnXj
z+~jbu={?oXu-68&=X%rToovWMAXJ$6|H0C1iA_Z%%Mw6TNZ7_l at XzWIQ}6MP`?aXJ
zX at Pg<{tMCE-uUtRKHOC~v>h}rCJ#QOuX87VwAvw_!3bs~y!h!x!QBQkjmE;g8c~Iu
zzIRz3*y$RP1wG1)ig2Au9c-^C?>f_8Y!aA>jDOC(qE at -psPx%}Ak%CThOyPB8DS~s
zKgsV0ff(+d<g5<g)v2L~>c&@5Iu2c{Lwy?2x~c30di#h+KkoJ*mv&4p<0Ozh0$&{l
zK_4%{X at D$c(qJrzjXg4j;#Yn*SA#+d_DbLB{Z(@{_Pr at d%;WJ9FST~gbg264=*B<c
zCWe#GO;ouokz_lTrlV3?7B$1t*w%XXh#T9G-fyJl(6+QXzyW&Hx3zdw7mgH7+8y#q
zL-5J46qg^e2 at Ba}V?DPfG)U9|7~Da at TH)HEz`gvuKB*r494^Y9w at UeB^*c#OGxUjm
zA2*b{v?sh^<Dn;S)w{$xs!XAuOMZ}e*zjSaW3Ataz8Rla=@L0vvW)y}C0S^)E}KDL
zA6YqiS7w~I^r|lToPm8(T$0khbLAD~)&V2hOWXn{_g3z68PQmK50hoP9?DHP0MoQN
z?3!#e?^ByKXmc=lk+_&1FJ<&QmttAI-i%<k?p%AKHYO>prznm(EFL`==}sCNHk#G4
ftdVh*_FuOl*+OI(5N0)@w#}kG2)`!C^O5jxW2?eC

literal 0
HcmV?d00001

diff --git a/tests/spec/gles-3.0/waffles-compressed-etc2-srgb8-pt-alpha1-64x32-miptree.ktx b/tests/spec/gles-3.0/waffles-compressed-etc2-srgb8-pt-alpha1-64x32-miptree.ktx
new file mode 100644
index 0000000000000000000000000000000000000000..6c0cdf4710c822fe2d3b4305bb71855b086218e9
GIT binary patch
literal 1476
zcmYk6e^3;46u{r!?s9v}akqOeAfCt`0_x}_#})WvMh`fXf{c_j0Vfcp8g7v0ko&_Q
zY%b=Sm!d}DkFwItQW3?UosNv-7}<JdQ=*BI4yh^JA&edubl;XWW_mNbpZ9k6`+n?u
z-|xZPf;V`p)f+{Rp)n0kfFjuNO%eAt04ff^uIRjSjmYqO?TDeQ$h8>rY_;FEMKC9c
zlv{q;klIeK^&d;=FS#Gl)OB~Ffp4eXUiP>C{Pu{w!4<Ju<^;8<%oo^{1$@v2IS at Gt
z^CQI}Wx_V!HZg#)DK$Asb|D(*i_6c~2+_heKMEj7n3GxWYxPkRmXIxGfsQmg03o3I
z^6LzOL4Z(6mR4 at l%inNiIBP3#7IKqtr<`)kNlX{9^f5Q9xw3UG=BP!>oQf<*uM0(-
zRa`GmEB>_(=aCyW<F at Q!e*g(n;Yz>)z@}k`uV=OZ#q(D>@l>G?wjnnP5*%g;4Cgb>
zL0S{D5_b?Uix71t`3r9JItp#@mKK7RL-lcEtCkzLAPJ(Fzl<mdf)ZcjVqf5^i7b4p
z^=8b4)sSr3WZvOl4cL=LO-DyJsPXeRsCB_CkNsIbDaBa$9DsSoBGtwi9#GiE3~s?J
z=)BwIDS*#VZ at 5(uhz-D$;Mp7_R-*VoF2UpIX{;+$RYgyzebh48yq%VOj>=Gd9U14a
zISUCFeoL->FI19Ag$21S+f3zTxIOpwE&zu$!?~}e1YWsnD at l|qa8UBspExmBjjw?z
zDvuwpQ%S-}ia6vcBe7E?B?(eJSB!_-mac8)7KqQG{i%&aKF+eKOUgK2j6yN@?yte7
zNPQc-UBpXbI4}6PnJW?{DDJ7?GDR?s4b3O2MZIsrsFlQ0u|I>Te7fGKvwFe%<Ol|6
zHssKwtJS!>cI{Gmb{SwwH{fywKzAUGZCwT68_Kd?+zronJYe{2pul&<ggxT->yCKN
z3um}oQU0N(RL^{DX#3P2J=ok}lsf?{<W`HQ4WF at QAF--Yd(Hl|8IlgbmQ)v4sF4~U
zBtP*0iGBq0_*|PBcW7uxWqkaz|Dn++eHoq~MgGsEc#~=$d<U at IXg=g|MY!aV-!j-w
z(=*+&qrc=K at nv^qw|g^DdqL}kQ2kIutUKz~aSyEW`~8EVdKV>0tiEfFGN=Cl?)7?A
ze**&pDiinum6&dl%8c}hDwE?aDs{SN^E4jMRPC;npzjEnAUdDHu+zw;#o9<=&Q|vB
zUU0O|yZXriZsq%It=zp3bP(TYzL5$V3wi)d<Jl&4{Yc!A`iBpU2-8<2bFQYljIfH*
z#wFLI?d at 7uQRfZ4<s{i}xwN9gqZx~WEP&38eeRo*1v(2{lG-_=vWHwYBJn6k;XnO6
zbjMi?ul~8GO7A4>q9jMp^R9sMg^TB2?plV$p*~4$Ed}0HOG$E-I+Fm*MCc4#S(0s_
zngUBLdehhBz)p7!SDH^mHfh~u%HAK!d-0FI>+5Ju3z^Voe at K7lui@{wjE>Mw`h%Id
zMQTkk<EE;NjbT(Ca^mVt9jb%rzQgydQI>~PR8i2S$9|{Tx7jx@)?tg$ZAkCw=~2J8
zD?Qg*8pv|1JMEF>dlGFA1pBL!rn&pA0&bd&?Fl4WizY*oKg_ZbrUq(8*qvtJZ_sh+
zvwyi(0T>zpjQP(;$A`h!J}Qsw9kh`Qr92aJW0D>R43CHPce5h_^(sfDqMt3$&nn2i
GEd2{m)+Jg1

literal 0
HcmV?d00001

diff --git a/tests/spec/gles-3.0/waffles-decompressed-etc2-r11-64x32-miptree.ktx b/tests/spec/gles-3.0/waffles-decompressed-etc2-r11-64x32-miptree.ktx
new file mode 100644
index 0000000000000000000000000000000000000000..26315752fcabbdaf5c582f8fcf58b3dc35f3ddeb
GIT binary patch
literal 11016
zcmaLd1<V{r5(VJR-9=|vNu(qfIt3h7I1V#2!-c_NW at d+(nH^?kc9 at yjVP@vO{aSge
z_J7We^!}Qiotf_Us=B(m_rHAU|ExY>;K18Q?f>uoBmM2~{}}0Coz6&|PN&~^ozCC?
z!~)&V1G>oJ`+w%cfKKPfAAc+ at 9(m-Ea at 0{rm5n#vxMIEa)+<|WwN=??pMA=)#~xeG
zI_s=*;e{9W?D^-PU*ObJPp$Uy%P%iOh72huoNz+L-h1y|w%l^da>f~FlsDdZqx|yA
zFT>%7AATtByz@>u^w2}g9COT3rkrxh9u{7B;ri^(JMUcW`s=S>mRf45vfzRXR_lD3
zWtJ%`t+Z0vYp=a3w%&T{;=bK?- at P1n+;Qcx#~v%+e*10t{rBH1zW at IF-nnbI-+c4U
zW!r7HEvv1zT3L0~RV!~AoO$M%<*KW$D(9VdUeDrx>7|#JtFOMg0{2^Qy|u!<__x5D
z2GK#EKKtymo(AR5gAR^+?zyMnJ!sINidklvr3 at G_pknH&r>?fuV1We|s2aqsvdSvu
zpo0#o8qi_;?YFO=qXYh}28SGSNac+`;I03-v*C{0-FM$zdE$?=ciw;h{XOoq;CKF~
zDO`EwmF2L*4(svfOK at E*g!i8^l%Ie8x#E;lPO1FG4j%K(H(#Lz--{F1S6+GL%6+lL
z7Ar8<Tyxd$X&?>&|8>?`r>DdF at 4r7>9Pl~bbkJ|S1N`w0 at E<yKXwUaz!FM#HKkT^U
zj#W4JwfymQjsFig;DBoHz4zYX_|pRa95le2|8aM|_S$RrxYGe|-$euZK*j-$q5&Pm
zVKfl`d~@1qr}c2jC6|=orkif6{ucv)XAAn!V1*S{s4#}bz=<cGSdKpW=o)wKHwLb`
z=9-EdZn&XbbkRk<@%sGp&zIkR`)xS<^wUq}k3asX at o~i!SCl>W*rSed{EhSFmtVfZ
zx%Uq0j+LpVnyM_a$RcH-g%%nPd_o&`|NZwbJM6GS#eMhPSGDGkbI(1u`osC at r=LC?
zydMWKwZ#@&l+8EayzIH>o)t6CJad_1iYa>B>2ck4*HsPr@}~iWKMk};zt2Da{D1fx
z8_|VEavT^7c(d9He;VLF+ibH{zR{uOZ+ze{<_|pZz;f-i*Y<de16XUVwaTQEPFgYl
z{PUM-rkSQ<@x>P}u;`+TR^aa3Ji+g{KlIQ;<@Vceul<rE!~yMg+ikas4L97d%rL_Y
zy?jjr{vA;a at ISN~xEFUh2lx2@%P+qy0gZ5v4*27p7{EQC0UwC}{r20hjvL$u4jfp4
zfBeq(;Ms5&2mIGUzW{#-fBm4P{%yMHraj#sc;JBoi2-vJ&irp2gnz7 at ApY55!-myV
z5$<BaSTR>e1KhP8%rnnCrG<G?zL<F8i7Td`e)=-`<dav;)?IhqvdJc!lwEe&rH2hR
z*r3MyPCM;XF1X-=a`xG0SIBS9#R6U9^Idn{wTMl9X8D}|00%yWS6+FgeDlpWbv~xS
zufP6U=PC2EJY~+JiI|YT!ui1mA1r|L+i$;Jo_+S&a?UyDl-FN>y=pxB?6a5uhj3^4
zef;sqFEm(k$tA0wTJG97_~3&}G{FCkJMI_`d?4;=0Qkej7hhandg-NF1KoJzjg@=&
zi=RgyeYEob`s=T2UW)zVi!Z7sG{B!O85=avC;V|&pMCo2rxoUB_k($jFGr+<Jc2t5
z;st-!Gx%%c_~VbSz&{$WefgUsTMdpm=9tRe+(!fP0pgC8C;y6neE!u}UsWDr0e|Cy
z1-$i-6*uZKF at QHM+T*Ra-m1Eb#b{xS;+-*{_-{4ve)HdDmt9t4UhGdh?X+dI(MBtB
zg!xtc_tk<9cmo{<b>m+>jW^%3YN2S*#((^eGcK+Fzx(dHUJT$2@~=2>uh?h%qSZp~
zkgH*vZMLa-S#CD=gR#aMt4uiIgf({_dE}9GT=DswbIw`D9((LE!2}bONhX=3p3ATJ
zm{Y(y0*rHWo?NX~Uvteh>pU#)Cilv}?s23(O<(!mxC!_WXaMpe-Pm{EeYeJjXT?a4
zj2D)U;C}j8w}k&Fql{8U9d*=#cP#!e(@Zl}$l<uR{AmyvOKJq%)$(-PXrqmKP#=P8
zv=CePfAYyE<*BEhs_`HuPCDtN3Nhy$Y6sRl1->`m;*5VZXy*+4 at eKd=JX+wt#u{rB
z+{1t5kw-2-gZ};dSN<#w at aK2@ovS at z_0?CekT;_N9rzqq{snnSe&&1i81Cu<FlVQ}
zVCg_Bygf&Y)Z)=W?r1fzw))_M4=V3y!9sLUWAnW@=*u5({-?=`E3Q~M^FRLjZ$20Q
zxVQY(2F3vHp2Z!+z2}TcR(`^p2F}A9_wZMz;|}4Dzw;s8Tppy}GTsscEdJKi&W)$=
zZvF3^4sx>mH~Q$KSByLExCP`l>r5K>4i~vn+*!XYyX>+xXQ(Uq7{r0+Xn at 1M`|ewF
zlK#j|=6*RM`OjKgyr?;0-g)P(+GZ`rW*w9DoV*$6PuAh|#r30)KC1B9IgaKDd?91s
zweYuQZTaJ{*=Czn{?-*B-o$M9%lU)4`Fx^@CMx5NH(rJFamE>^YS41WTaIVV{ni_}
zgZK`2TF_ZtIi%}nIbEB$XU$`8!1|sBa`#<#-BmSs;)y3}jER5TUwrY!;rJ)-W!(Er
z1GOjqVnF_n|6|3vKG3 at 5F9znGd+svkm}B-phw!JNxD5C3x7Jphng{XEyc=uWXMKf#
z{A*oF2YO}RqJeP)bO77~TD1Ph*%2*Rxq}AA0UgY5>N;z4z&pU7??4>T3uhYeJ>VVS
zFYa+yO9B4kKRSdrUUC`!VnFQUZw>)E3?4kV_C>7>`lZg+uf)OQk3U}PpNxO}6Zgpj
zc;`HNSbvC3wJSZXVa(mGC2rZ|Uwb4=FTHe~3(N=hrmR2hNmvuxrx at C;d-&4apl0^H
zy30B;`+Vk2`S8_OU#&17nisuazRW%nYfQ*_>blond#yb8+;ep=QeMR0{pwHi=$mi8
zS?lHz at yFf4`W_M!$sf4WA$vj50RLQbjuZaT0Dn+ZSWjnOR8Ir`;m+bN&hR(CS#MdR
zYXcYi6u9Gd=bd*}{<s4j at U|Zt{$j4>pLs6+W?TO|j|QxxtsB*$0ZnigD=qlJ`~-ZC
zH~wOP-!q=&OzY?Hcb;`MYi*2s{22e!0r%T(yRD7`?Zy9mkH33abvpj~m-RwlzU}Au
zJ~rH=gB;nyd)p)TyYBp%XP&9GTJ}@a{c4=RXX7{sf7~H)j}PFCdo&RLGzK{fe|vi7
zB2dpH_VFLl*bjd^THm{lt7lr9bJzPK+Tbp>STURZE_~(7>#x7Q#<wvn&jv>vaYO;@
zLHXS})4rp42DwkZw?2OQ>8E?}oqdDsO{$~p)!;AhtM?rG+c);xYvGSa_{XO$SMSK@
zRu9kn%=+H5)}nkz1N`;L+R%PE{w?Hu$UKL8_*=)eyy-xr)KJdVqt=<hlTSWb`B(DY
zKl<%xEuIcG{dW#H#HTG!*S#b6L<^tYhqv=+r|<F^-{YToli%@AUJq}6Hm>pYtbFJ^
z^B-%zlRvXQW%=E`<~?YA-`4#2wi at I!{`!nV%gwzIo~;dE&*i?{8~$=L9^zgMfSS<W
zAJ9NNwETv3*W{iFf4tN(=5m%+EqCW)9&h&o{*J`Ie&NMBTI;;^e_wy&?AaEc0pH>3
zH;ZVaP494c#`@get~`}`dAjMQ>(z_S?U7{<(7o!|K#gO}zxUpI70%TeYSUQzwem;y
zLD=*yeGUKETxa|8PaL?nJ@*;ByM4apPY;LZ at +?j8GRLbK)jn;_>^F_T+;5zS2^z3C
ztI5ox>Ib~R9xjW&S}jNV*2ZS~?mGwT8rzq@=hA;RzWpnk_VT^=d(L~c;h+J~KrPV5
z0By`|G{8r_X at 58T<xTu?A7hL$dferGb)q#YpXW$_%zZhJ- at -Z9^*O(}rO)~e>9cd1
zwAXy+8hGAk at ABTfM_b_^4OshG)@F1N3$5>s1GQH8rydV?b#-E&R(_XnxqH8U#HLT-
zpU?W~8cv;losRLPc2bLi^=0NIIXB~zRTEnyoqY1iwa(BM9o&~Ss=WcQc4YlNXg@%$
zV=o*p`7s)ad+l1!>4$f at C(y1vSGCS9x7<?O*1mqI1LBMHqix%{HFKa3*^iT7^db8R
z+6LTd0M=#dSh*W_ebBb`0O$jMwtX;9Yd3p1a$MSH?U|_c^aDrj<2UQ9vsSpro&ZZz
zZPEbu=)c@@%N5WUb$Q#q*tf1#gUY?by7LO~LE29r^uu}fv&<(rgL#Su)}f$=&7O?9
zLtRQQeKSX8PgY#DNKK<Qe)!>s%iwPPYp*BZ6Yc7QzG#~!+O{X6O>KcbXp>bl>WB5O
zJo#7cYZuIq#;3!W)h~VV4sB;&*E#O`XMI1}WRsO8mRO?K4{h5oQGe+}+NXnlWX-0=
zu@=eRoVL?`?Zlsd^r2tBeiho*rnYhS*}kA$rw^<)qrJZ9hkGG4VPe_$c<RH)AAeje
z?m3*>p9pvHpgnO7@@w`pSl6;&Vm=$xU2~*w@{#t$viN1qXWAE!fmqGhr-%H%-FDm6
zF~MrX9t_ws$@-ejZ)x_QQd2}9{m}l<?%K#YA~i97`e3fnhqT|$18;Ws3-klhHmfgv
z`QvPS+y4Q)`I$9Nw6E=#Uw*m57}P%9_yOm%%@6W&i^Oq$=g4m!YDxTY2mJu;hP$}X
zehd7gf%a*iIY9fys`m9O{cumtU55`p{IL4d*i7DXE<b^K-yCm^3hGtg%cpV?jU3u`
zXv4uDX)Eo<YS)oISl at Uj7zg^HP1nH~Py5+t(7v|iMMv7NAG&|izBWgMv>j`mqW$a*
z+bhOD{m{Pe)4p7x?Y8~&fu+B9>j$Krzq0zRPDmfLZH~fS9|m{xN!pgjqI>vilim)t
z^S4e%J$3luhxgXg)~@C^zbUK1j2mN0J^;DMKBf6c4)Lrw4CHRlv*3CA^FzC_nYq+E
z@*Z=Un%4fGcX(DGw9k4jzYVf#V{?x7^~3XOBk!1T#u at 7#oOV6WYE%FHP79uG^PqiH
zzhUJ67W~hZG46jF_}5-%esemryEkVpR;SSt_`{x*F%B7{p7kEjdd~it-v)<t*MI7U
zJfHZF<s11b|6h^kJgZ*vyx;%--}8A#+V`w}sLRA?o at Mv#{!eK3tWx{E at WKnVP8CDe
zuWAQ-cDav^?g9SDbMEo~d1_qu_|B0rz`ECW?(w{%`|qe7&)FlekD0x^>=oIY?Ut(@
Nac_U+AKi0t@?TT3T$ca<

literal 0
HcmV?d00001

diff --git a/tests/spec/gles-3.0/waffles-decompressed-etc2-rg11-64x32-miptree.ktx b/tests/spec/gles-3.0/waffles-decompressed-etc2-rg11-64x32-miptree.ktx
new file mode 100644
index 0000000000000000000000000000000000000000..623a6b5fc2d62f8f744649466cd20b6e67ed1304
GIT binary patch
literal 11016
zcmZvi33OFemWGeRvTavet6FWBwxw+q%W8^pX)B=8VFnSQ#DD`s$s`2=X+asp1_U&S
zsEBA7WG;sQAxvRP2m;CwWDpD*AOsSoL=sFw$oMjy{{D0BC8_GlTL0ST-FNTV`~UYo
z(|t+o{(PVNA9-Z^t+)L9E!SOt!;RP7Va#>Ln49l5rq48Q+w=K;5dP`=e+oa`Z%lQy
zu at 0B8;J`j(KX~8RQG>DI?Lo%I4L3G^nz2dX;2dL*&&LW&j6E43EwC4s8hd7*vFY@&
zA0&@9cHux{S1mC1VzIGR^~M(20JJM;pS)n~6z+Yfm9f8V)(D-A9W=_=H-*0#JG`H<
zPd#aDTcM}79iQUbbH<K-%j2by#y&TI_@@{<<5Oe5{odI8h_R*k5q>E#wzAe(8$jIm
zZZvi*Tn9gEY~Nm<`&!~T at R_k$Um1H8Zn9a})A0WVdp at 2v5dSNi;U>_|hkHI62+|^B
zD%_<3m?k>|4T`)D(!vsxP*Lf%*uKr!Ht_Bn<MH6*#{TARV;=-9nizZUZv*~lAT6Hg
zfPKc;=GczdZZ8@;;RCOMba;iFO(Iv)p%fh|#UD7owZ_h#?0L_IzuJ!XO3yu8{AU?k
z2(Lo;+chB3*sFZ5!rC;jH{j2;i__su9`eyHl3;8xxJcg9LJbBQ`{f&GFpPLscpWUf
zLk*lIAEn?EawiRjllwvBy*)a#0LuNtt&DwnsIk%1fVis$#Jzcxu~A*T2C4($71hJ@
z-cCY`b9vsMs{wRZ-o-ls>?Ky^`~dNbdnpii3wLM5KZ&@xCJj!bt8$+DKgLdf&|`mp
zxKjgv&;KHt)+HPJ!wkj*8YE*+t)Rck2B-!s+(Sr%7G20cc^7xJqv8GX>z;dCbP)IE
zExm0+Tl|Hg;!pmc4!DOpjD6E<PziTo{S0Gw&1S5Equ}hq23TUwiEF_3<TqoovHJq#
zqRZJ2jh*#0AilHzYi#{oWAol+Zs4BX-~jDRuH~=wC|yr~pHl}fg9*mw9_E=^^t$4$
zt%83!AhxUEt4)kY`swhbM-1&}$k{W`8at8pI{F<ji1E>a8tG<iYwmMs=WVOD#<t_S
ztnwc-#^dWf^dEsc{Kb1ecK;Ok!KX2DzA$z>yeIee_y|qoU-jt!pVa5=p8pZJUuC at 4
zQzJ$2JqYhq;uHS^d=8Nl at RtV3Xq!L{h1{ist)Y)nV{5RHdSlDcVAoG@|Feg<hZ-bp
zY~U{q+M_{>R>pRg2I3D|bq at Gro1=mFN5kbUIIX6ZcfncQWresu8Qb#?k1_vcY at Y{=
z?E?CA^61~**jItL%Wfd9kh}es*td8M@>UpoOuXTrK)nlZzd}7WGxqf^KKIFJuzMXf
zaFS=>9trqM1ECh~;xC*+1J#1KC+!7r5A$D8Y^($K{fRlDH5!CEh=21Z&;YBpxQB?D
z4rk?^{I4gz(T at e(e}@&|KT>&rtpWY1yJrIK at x*eKdO1tpj|8?J-l~BLY!TNp#UI{-
z>8k?}_jjp%<z6VJ{xt@|8i<g4R|AZLnqV9>o*&;|;A>wtI|try4*AbvEW9>}wGt at z
zEt<nw+{wG at UufC-Z?TkG9>Dw&^=}@X;nw*sG<w9?aRZnihZ-CERs+V5GIki_X(={y
z8S^6g70Qyw9PF`)9%(Vm`_yXM5M!5hH}(yIcIp!1O+_D|JwwSNV^4sR^URNMsjCKM
zXi$qL6#yNiM;$qKa|8Ee=h4Si&wJNCatOu|<Bw;lw;zd(y2?0%&YzNda at rV=JZ@}b
zgxsUiKzJ1H(qJHY9>=~X_U!=l{~_(A)0pR90%#!qHSn(434b6PS;_p$`f+k1kOpuT
zvX>Ko2DNdLxD(MR)}s#Y`Ji&Y=k55`8(RkVYHSfaLk%2%^wGGe0?NC1i@&(XevI#5
zJhr6r9J*C7$1PrFY`^|qhsNC1p2_tAPm*WqU at Yy<<XwnnY{v}nc^B^m3yob4meN<K
z!FIIxd;a#D1`SjT**se$?mN5&Y2)Ax(uVRGTZiBLsR4gDmBBB9y at D;oYK{7(ocmM<
z*jlbv33c2H&ci#*eF=OMHuxG4cWKdh?3~VFU%|L}n%ssue6!T^jw1ICaDSBiM**h+
zaf<)?c#vf58u(AA_PhQb+|2y{kg<OqM(qc6V7KBEM8FklLHh-9PoocwgN;wYn?5VZ
ze*ye+SUYpj;Lswtmhl{QUkcYk^6&Pm_3%W4I;@));apWon`^2AaTZpr_I2QRpP?VF
zx%_jFYQTYZs7G#&v0Jti%NF*@_-{omG<m?-X7 at JWzT1s$dN(>eY3zK)(&|<0m1eOX
zJi*)o_bzuZN8Sl&kNzWb;G5JpaX1{of|`BCUgp|%xW=_*-fzdAlJQVF-ow6Q?9brn
zdLLUI+#HBi^Fal<&Sq}NK89YP?1G0I3#tk3sf3?w?m0LI+K9WZ)q`3zlU8a=N1+y-
zYk2NEba(vWe(Np9-uBN85dZt&FAZ8h?9t*uxWilg`+z|q3>tuWO^i+H>$w+yO<oz3
zU-CH)$nJsro}M1b?chGZ^S8`fN5SjEi3e<$>#-B<7NO5Z;@pT`KG9<n{pK>(iVEQw
zK?7O%UE5Cw{A;m}zcc{u9%+FFT64dfiN9Xt9_}Ikn{G5#kQVpd;Q7l&qd^z=EAL(4
zIuh=&0yVIK{0j;2mj(%Nod?FY_1skhf{iEd at 4=b;X94AYIU0=a#9kisXpIH|7Nf(W
zk)C$}&t{`R?oy8(=pbxd4tMe{4TK0f6y<xK;%?!r at ggYyLN)g(_y35$<4xWN^)>eS
z=Y7tV|E4#f)hfn6^*<5~#C<XvEWs{;|B?3a$0qzMXvtoM=f(faah`Y032#f`e{_h~
zz%FDD0O!$7;VuOHm5&X>Jr1Hzg>(~t+PTVm0L`_>lR38}dhSjGc$T5TrCcm+ohj<k
zARGrS at 8rIY+*k9R#`K7O#@++Rd*H(>1cyh7C%Oys+cR*7)0`O2F3e|#=NY>h-9KP2
zHRe~weg@|i-1`}rOnbz=;1SkdxUZVPJVuN*8(?*YIz2W3H8A&apX<3jXe;N<=#xFt
z4)$ed=kpF>4EqJNSQkL;pLyP4Cfulnq7~=?>~R3EdU7w6=TH}Dpz%-zSM4FSp6VWV
z_Gj*>uRzmPXu#au65itfD77u_dfy=aO`CAW26JMK{RZw1 at ZUU;yrV(i>pi;jY~P#M
zYcXb|fw&j##~0i);hoOhSpET@$$t^tSHNAEJBaZIe{r9I24B(M0q?VDP>co_$+`G{
z&=GLYr%|kL(g6N;BY?X!sN6|A4-|XeMVSHri07~ULN#!6B6>Its`+j=^#lLa)WEaU
zz at woC(gAd(mN$quxpy|mziMF2A2^G{zYV<GV7r6o;qQP3nVZPXIxM_%;cu}A at uPZ4
z>EijnaG$X+z)KiHdk*<eM-%0~nB1uLg^P>OVWhE%1Nbc7KpN!E_HcE82K712bD&a|
zI?$L<-u15K|M5qMD(;a6sspFPJM2%;UGH=R)qDu${xF{fwfl+xzra1ny=q}ZBmPD3
zx8e`?wOu_@;D3<(t-!v~6wdG#_qp)>aSmrB)xY>F|HNd8O^^nu#CDRJw*_FoZ|@z(
zb5r2E0v$m40q`U9ApBJes(-iUSu6<WeK%InBwP<7^!YvUZu^8Y8OTduj{KH2_Y3A}
zP=MYUAU(+=`Agm}bYM?;3v~lxz<YPGH+qP<^EZr*Uc|fwE<@QbKE-(%yx)?uJerNd
zcE>(Ujr6{Uu`- at Gs8?YJS}p93Phu$D$sG1IG2>VHKEH&|>9kA8ndUdz<;;br-{9I>
z+Qd|v4A7u7i)+k-+9!l-zWCP!2-kvqJ{O{c_MFnB<}w!K!Tk_g at A;H`gAD0F4B5Mw
zv+*PBO at em|&);bP|1ofP{Fy&er@~ph!Fc$N0E0sA;tx{AeII~(#!7S=$k`T%zlFbY
z at A#8jn?g-;ueb}+!SO}|3vWwIKgWCik$`_a{I$-7`4)eT2U+PM-sOxDAp*jBaQg^q
z$JH9OA)7%g;%xI9f$RB4s2#KsE^hI>m%x8|FSrkd(*%#Dv?sHkw1IaUazBc8YH#u%
zV16g^KZ3qjH^Lg))PT54hfDZZ-mA`_1@;)ZzbyW6mpvKh`McbU5B%L+2WRD6e1)(M
z+?uKT1nB~2y?4_0S7}G88z5~ii#zrj)IZ1%?8W__zjD6>#4jeFU`K$p#JDyVOz;T#
zi at WgiC-m2tKb-5uA5?+beVm8DC2%;NJqi4U_#PgI-y>e-KIBCF*Z9Lv`{0nj^w3`0
zy>FAP0ph_kI%l~(GFI!S-bIDlh0oX2aW8$S&vL$Z^J at _`K%C#s^;o}va}%}u?Os4_
z>`Va6bNU_O;0(stM2}sA(F0`8#t%8R+XL)mZUgopIF7GOk34kw0h~rx;j5R7{TL1Q
z&*MI7QvAhF at 6oge6!clK>Nf{j&4tRh(?ELZUifRw*a`r5ca8f(p5m^(gwCb1rF>V7
zKGlJ4@>7)K=gLE9u>PZf{}H&I@%#@iV&4|v)Mvcg0(p%6ysf-H-_Cgu6q8^36S2YB
z?QO8R=<wC+;6smC+S}0ZG at 6zG*|NjL4}WoW{IQB%V_jC)lqXr$MJb$h&WsSZ;N}W(
z3HfkOs9$L7cqW8&P_0NWJ*#uMP?UiNjLA&$pAyu7>Okih at h>3O0 at j=2fVcQoWiyW8
zT#k)g^6gymei at X2jMc0ctdAY;H1>}`@6$eh3E!-DB|Kk(4RbH9W#rVYdEyE}O&s^&
zbNIVZn9~aKDQJ##^CX;fju2m03$oG%z7E_M&aLXBDB!Q(c#6Je%~I`C11VtX6!v&S
zJe&qQ;J?-9J>*{w|424{!r!3)D{xKx#l10xQu85q at z*-;YCoud at elLu_$yv<$Lh1j
zg7$`j+KoT!n(95&qLya_J*)FWoyJTFAphd7_cgNW-)VJ)Ys`mP<U5h|;JseP{x^G`
z`+n{5BJI^vnZuW(K{9 at h(l_J82B`mqcCa2ho6g?ycbt>1$KK{`bM#m|h5Jf9suhpo
zQhtJ1#b4uHJREPV`;Kd>)oM^DOK!DKbaO*+f2g11&NZh;@SU6QLjF9bIZ*w(`cRFi
zR_Hf^28GOhJJ8|9_6_`{L-gau{w2Vy-kc*B(9bTOLxXx*IPW3v?@;H%TYBDu;XVo-
zWW|3s>wwdoxSW4-bB(`ZZ3K5;7$>$)It8)n9h>GpH}{iM&HrJ}Yq<9xK{^UG++QQV
zwCmwr+lYTSZ)Bmv?AQLb29A;QW655F=>K3YL?=t$T^;OVo`w6KSl$c3y~VFQ|4DGy
z{5h#3zw33QX32e6yIQwh45|mk7I0TxhT|aAz|HT}=(Vwo7K*zTTMep!)_?s*taq?_
zA72;LnR|vhyGXx<@D_i~r<M4;HU{Kh`3Hr-=}^YLg|*P>KrOT;_o at NqUgJRhmczgN
zBtQ#sSKh_Fhxk+b%Dd`+Qa|ojJj4+4FAF$_Yreh<*D6`ZT~@iRG}hc~O!ft1w=QL`
zHkEVyc+OdG^S<&EG#0piYPm<=JS<2V$GBa_xIV)iO<$F8U(S5~)UzI4v0bB#eGI7G
zHkz|>e=w5YE+=q~+{$=|W0gR>6Jv~BiSK=J?62{sbA1K<g~-Ey>HwZ0uB%+ndY`=}
zSWO&Ro8Tht11Jvp41GKQorod8%fv8nsK-yIy#IalC1lG#5bt%bHefzAmNo|8aMycW
z`OboWK1iW`?s$WLX^}{s%WpsWm;&@$Tj*alssq2_Jm+JO7V^Ck4F*5pq4)8l(92oc
zr|_xsm<7^8`p5M2aQ>;MkiV>c=RcQ=Z}tg^JaaaO-&lZh5c*dPQN*A)VyMF?#*`4#
zi~m!Y6kr6tXjhSsODTZ<eqj7=dx1SI>sjtL{?}t6>o|JVUIx~~og;`rwivA3=yB*6
z at 2Jx_15Bl!+cY4Swc$DZMm>Zj7Ww~jIq%Q#5!0F&@LPp{;S#Zw#B&DayM4rWW<37K
zg73X={T?QtS_9-?kYC|MHnqz5a&cDi4hQWOOX54c|Ac#!UwbrfhF|*bitnyBab~-f
z-$_`j#9c9 at FJ!Nc2Kzud2>owf&-sHm4(|a;9=RFbr~JD4sJ=m`Fpfm}y&d0zG-!So
z>jb{VJqG_X at t=bKzY6$^C$^Gp;3Gh7Z01@|@;L-7q`jMKxp5xHv4>LejsMDmfIr;B
zTxq^r`6;|_0QaJQXMPK4#kCpm197w`-@^M&0gV!7bN=`ad<JGRZ$z^;bpyn`rVsPs
z9QHde^IHe~9KsfH-<8$)%L4g~X<2Gi>!_O#BjgJ%s{dG?iN!kKi}4TQUZPI$t at E{z
zFw*<hJ0kgB`~>ge@%;|I*L3s#bxz74_KU0W4>G3t7 at Tin&|XgKgj*}?@J~F&XQ>b3
zP%N4F&D?;0pjhNL<iC9+KJhyZzeB+j_v80f_#6%RQ=9IrhTp1F9#_z;md{sqc at 66E
zC*O*}?aTSxc>HSLR~SI;k|O4$<6wp7zgW71X=pHwSfu-cZl1f{<ozoK?LT!E6aS-Q
zm=lP>o$KMRS`7C^ZV#Xss)z at xy`AbqInudLaq1jZdY+svVP2e1Z69VoBMXjB_qagK
zTWY`d2al8Z-aMDM=TQ^HaFwy4^+(*b_jKzqZJnXC4(J>u-|h?|i_d!ML%s#AUzZPf
zpNe7mB*q>-uL>Cfe)hf#@ZIkB;5K77;otdYy_0`&b9>>yI^T+c&x%QW!~LH2K-%N#
zoS^I4(-nw2z8|~GV>)@*iUwEVuHSeI;4j`i at jV2Ldy(t%9YFr&$F0TqwPirs1Dzwa
zkJ5fZ`)k#z^NkJtYi=t5(%>=Hhd6vs?}2}~OaIMiE#C6|9 at mefyWVLyf5agF;a)%*
zo9m6)#JswReokP8bmGqiyQ%;5ot$G>Pi8U?cZ>q8ZJnOxEH)C~pHr*EqGvzv&3SAX
z!0vw2Kc9kKM;{eDuedkt at crmH^&!O2&%my%MXh+2e$+?q7ykKlp3Tzp34rHAB<*I5
zUSJ)fpYZuV-0%Asi2d+RAA{o0B8CkUcppRjN9gA~DCAki<1|5!xH0I}(c47Yy>4e;
z(uwtEG4Fc+%vwrpY2!W4F{c(XmTJxd<qs%dmrwb#>W>GF{bFnYo*hO%dREWrf2vBE
zD=y4pe|IE!HhA9cq3K6fXU<E9 at Gbw~T=1Npoidp5wv7AOKZR>b<7dO?!#;Z9e-8fj
zY$A5Z13cfzxB8gI|AZ#Ji=H3@>{&=19HVwev2Oq~h_`z?eye(p?_TluoIrzo?m2PJ
zSp7d$63^(lx49>Yd%otmeBHx$(pmr85<>Ut`OkF^edv4s9o5Vt_diVKJ>weII&c~-
aQ)crST)AK at +f}n|4tg@?Z>0SV`Tsw4zE}(Z

literal 0
HcmV?d00001

diff --git a/tests/spec/gles-3.0/waffles-decompressed-etc2-rgb8-64x32-miptree.ktx b/tests/spec/gles-3.0/waffles-decompressed-etc2-rgb8-64x32-miptree.ktx
new file mode 100644
index 0000000000000000000000000000000000000000..74a2f65bb1c7931bca2b8a802105637ae728edb9
GIT binary patch
literal 11016
zcma)?4OCTSy2p22E$!A-Yvcx+`B9pnIeuL=P%%Ho4^X*@mI at RtbuCeB(9~IykakB|
zX at F^0n`i{Xb&)P65UkMB5<ljmUQL)$M`)qQC|<Nd<Om1+-{=1v-pxK}Yt62o?>>jK
z&-?zK_ucQ;KG`$oyxx20(1TAs;rGNNkN#7KM}B2lk64z~$=9-8PxPe0^18QR4*vad
z^P;z9!Ew~q*5bm66WE=cjCZ1<l+?%okeqc>m9o at O{PjOygGtMGg at YX5Fiz8}yXN6y
zawtx3oS>wwngMe9i*>-|JV$PAr$7C42Jim<_ZT^43i^#0;YG~bE8*nT8Lz>~*vXL~
ztKxSk^P at imS+*(-iJK1~|JX59-MwpPc1zCgJK!I(v$GK$9jzE|#(<pM5$y%NfBM5b
z<yv}#I at f=-41{r at zY}_!7%<(pW)g0dmowXk9yx~(tN)_at3d|#8R|vP7Y9Go-^5|c
z%r)w5;t;=eD+uGjgZ|DKWF$r+e*S2r#D*vbH%~(OzQs7PeKyX0J|9=Mjz&Xzh=ROG
z5c~CsIQ2H}+7>p9M!A5!3zff0JibpDt9%jNTm2b>WBK`7o?rSWK0Y2~*{XQVniqwU
zV<#(PCQJia at OF&8|C?F!r2a#dp<^b<XXavB*i!j>yz<st8xbD91~D;Pv1ZLKRNTI;
z^>1Qe+!=?0?Q!bN82lstj1Aq{_BRi=l)Tsf<)QwJ!@Yu4w*NmG1A0H(`z70--o~AA
zpg+A$4Cqf*tVvOS<8I>Mi~;Y1uQ$xX_a805!Oh{CvTd9Do9+ALj$kj2%jcb-;4SQ#
zX(2ttLdj|iw{~?yMbaZUwWhC!&3$oU`^&iU`DonQHwhQ_Mk^UB0&sZCRQ$QMUBcX>
zjg4rL^OlyoaJg<H`_LgouUv^~)8;FS*KEeDH-D?V_t77bk&%Zva~8qhKTy*#W2R%$
zq;Q*2!Ba6|`oBv|LZvNzfF)~_l&qo>)QP|GW=c%IX2&4c6NA*q&e9Kd##hV6*erPI
zF~s;->QDFEpZ3H3tUek8r~fI50bv}BKU4aDF88MG-g+|_f5xEp{(X&s at u$0q!NF7I
zw!evi)1T)~f5yQ0Gi3~nH`@V82nod0?j4lqA-yndbVns3#24hZ<9aG|=Q->C{Q80F
zj^a at DH!)y4$X?seX44!CkwF&Lz0n;zRt`aKN(ge(V{y4;r<hl_(i#Lu!Wi7R(S!pB
zeo%LM6V`uTUNLHF+%~gjy{UC?;t)6~1VdkWRqLPrVbLpXViQud&9nW}eev*awm03$
z3K{#z#<=kco#{^47U)i#^>6%nFBty_e+$IRUHs{;{<jaQzf1Zj at E(x5C+46(p)=b6
zQ^tUY at n<Y}e-qvVi~;>k`=|e?sc(3Zv}7_CP3(gJKTG+|%iS^dg?~oam at ZfoH4-bA
zzJ#R2aW)CDFCaSXaqNB9A7}qK2Nl~NN6qeM6rTT2f~9=F!~!`L_ZTv!T6n*eQW;B{
zWZbBhapZ{fpKj at 2NafirVsaGC&F2;1CwWcoDZD2b7akSW)u^efQwmRB1W8QIK<Tvx
z6iJ&-Nl8aV#cfT8OB|d828Lkd$SF2-5A?M#byRm{=(CpkzdfUm`X{U&0R!W(Yx6iT
z1{=a2Q-2f;1gYQmoTfi#`l90F$5FP<1O3VWelih_N0xiJxA%9~>_uJOpVZ%^HFZ}|
z-~4~-ZT$J7zPVZb=}mvS^PJv<ao}<5)-B}Z<k&G7I#lk3R)3zG`cIJYpE&EEG5B!f
z7$t3o%;N<56Z*3axW1k41-=;!#^7&TeKiJj|M?Stb!QC9Rs<<WBm6b3T-P5;YyJPt
zbq0UO1u(5`DOGpIK<^1 at 1I^9#ipt49RaJLop0HI at zL%Sui_4cU>z_ at kFXSJ_Vy*Oh
zLxu#~<fX3A_HXK+ZC`oO^4tR}UR3`BSy3PbnG3Z3UmswBEE{Iw>vf&%7|@@%(+6t|
z=#C?EkRA8DvVWS7df(VMThn40Q|Mouw?ayI6fRUKbmuwip6Hm+>R(q^^FSQ(^N)e>
zXz#6WKI9*^k!s0z=b}Cs-nXwZu=hY1e7pL>-`5wj$B)PQ<uk;6BREf*Gps8{%hDmF
zQztCyY9Ub0lScHDsbQ!LsFS?7mL3Rl@`GMT4Yja;w1u)rKir6WS*cn-1LVN&^|*1N
z;K5S5$^fC_bhZLlvAlMGQn`lQlKMR*X?;87rQ`7QsnU<g|1Ec0a42cA?f=}9PlC=)
z=uc*j?V-@!zmw(V&lng!9&BOXq;7T$=$*5)gSs=N`_Yh23S(jX=}zKfVwC(ndq9e^
zHX$V;!cNl at LSVRk`ct at T3dOFp)%}XxCfDV4TMQao`%F&=>RZPYPd~~S82<r2KA?Y>
zE?vCv>DW>IeL7lR{;c~*KR at j1)=fD$d^iZ*O$>M*Kh09A4lD#g=4`l9gK#auU!i~g
z%pNkw at KItUHKaxc;Yj>wr8*-L9zrDzmG=fH#d(PugQlhnAoca%<NEclH4Y{gj6qu*
zJYy@}o&IzuvNTrzh=>S~pnw3|-`W1 at -rhg+x#zsx>7W1pAdmNr?Y9597$1!RV?p<L
znL|4L6GHrv88=(zn;w69Hx<Nb97<CHVQ7-MH~k6S+5U|`W59Dy3_P{(`M0g^+5Ypl
z&6M?@4}8R%_;vPEM)e<su;4JvnK%q1`aO;8q<$#LnkZwokE~&29y6+g_*+Qy3&8f5
z$16NvEd2<H4Yagvp)^67ryy&Inh%0;QRaQ5G&TfjGUl!u^Afhsctu(A;;)bxV4*O&
zm&~ELe&D*IlaeR*4dHhf_?_;(VG7Rg7QG8-6mMMpNYQf{O`2t_G@!)=G)oMc+*1E7
zsQO{O#=z-M_t=P7^{2b>XAJ01a$^IrBdizZTOGZaBr%*X_Y(V5_N{cUOq+_cOZ#iN
z8)VK$=uXn3X4>wIMcUL3>VHM at U<^)3KS}Sc(pQkY(9ZUEJ>V}fF#e5y*`Vjm%{Og#
z#sK%ly;<DdE!zH#|9Yu|nLVDsXt~dw(4F;8=zmJeRIu?$^=BIhvO3$mYIVVExrYer
zpZ;_&P7F|YmiMsC{WD|@P#88u{TIlb*opCH-P6B1Bf#cJd`HQ*lXO~hmCHMap>oS8
z<<EQG0a0&p*ES&S|3QCoZxMG%&_oKf4HRsQ6R$YzmT~TajB^I#?(}C2SpRJQA)S0d
zZ>EHG at AP*UMyo&TjnJR%pZ<w*y>b6={!2Kz?M=J=8~>()@lwR`8Uy;%8P$olfAI=G
zkoNxC4qE*o_kagUAnx)%q$#LB-{Mho5~ucUMxN|%k+V5V<*g5JW&bpZ#du9m?HZ0O
z$^W#(pJ{^Bh4GG*dp}P40p82u&pe7hy!AY8>|c(|w_cX9&(BW7WuIi(^nV4 at aXl?r
zV_CXJsx4Xsa#+U544EgC%i8JA{sD0Px3AKi+aJ}Rbw%UxS-^FvU!nfTWw at C-4(Haq
zfX2OZlu9YLo8>-tMCJ+A_BzU}rC9A$X9&3e at xXB{9Wr52cgBFu^fxgu?o0`toiU)h
z at jv_@6V;vmF)~*q#+&Yh>qFztl<tfH{bfJ}z8#2`yysE(Up;~EhI#pG9C8+D4BGoQ
zT$4GG__rON0naVg%|eU7{~kQ<$XIg2rmnIQhO**f9L-Hf?d1|1S9LMY9r at hmZe9ky
zUAI*0pKTy9(n8ug>FZiy-5YnF at 1Nh%X4fQ-dxOju>CXD6J7Yk1wt=f(jnNpe?g{Ij
zZGiq|8-9&qX}hd{^_K?TBKJDs!PG70%>w^p6dr!uX?xo(Eye-e0a>FflE}F0#Q3xB
zN#PE;*B$JWeK9BW&zx<6?&PA(7wJ!Tg2I04Pj|xh&lni!PqJTsOrby9ucz)G<}YKR
zMu4qAA|Z1CgU*R$cx+vA>-b>CO&vR=AGs at g5=3TH`k!>Pa>3QM`IW?q?IbTXQrW$8
zF!H~gfaBl2rkwd~42ri6QNG(U5JwYyZT81>#HHOGa4Y{=;JB=tgxiPuDL5tf!sUr*
zD2-Jv7KVXTd^%Z4k^M)){Uo_S*LqU0c1NSsKmTjicEEeV%Uy1f7K4lpEgT<o{=hNR
zLwkQSx3uS%;?Mi#Y|gp|{4f2u1oStY{A9T7HwGv-q>mwVxBV}TgL>0lU at S5c{ct#K
zl%_l{THVKv0b^nIlA4;d at DKQV*S^@v+?Z8vaLZ+ObC-_N)Vn=~c)Ag78`@sl<)AO+
z3u;d8&=?#~dlmT~{u)flH=D*P=hNqbT+0nnT*Z;Htcyf#=_vgDLLgif6ZG6!|K+lO
z9OCbbAU~ON2vc5oM&_;qWc*IHVcmQ766LnEV_*u+e!uO`=iN_#17pxA&Wij|riWg0
zCyhnxSJ~}Gg+2dh8!*AUma8$ibYQOfGX}fY^u%XNdn<JR`MXu>%oxxe7vj{L?gqAb
z1O1KntG&DE`7immxwC9-{-)Pw&re*qDclzB2rjuVT+(Yc$Q5^`8>rX2#dFWJ-Z`8@
z%E4GT;SA$u>wEeE{mf0=mAW~$Eeczuo=EVJA?V+|yTbEqS$~(wJkj93xDu6z-vG*j
zJX9@|O`bM5zv3J_s>dJ<kTkg05ZS|8EBj_LP6^KWo~Ilh_qGUl-ZkSwqx)wxy6c5|
zg7gcrHfU;=^JW+BH8;S0zsU<vf8g!TI5=lmCN7#&(+Q1%i9<w4i0#ifM94hZuu0Yo
z#Th~B-*D6)q+G_q{B2Jt;eEU5+>$Y%KcRm~R*_`InGNwAEQ9BGm_OIRp0UsEx(l~U
z`bC$FjdBCH8{KGXY|{SxUgJHD2V-I|Zl3R_wdZiY?>uLjOx=`~6=Ub7O_)1*GM<vU
zBNqw^ly_#%#Axx-x^GC)x_A21ozR`@%M%;7BYDO`t$Tft<8Wt*O!>^b at 2>bV5`67J
z`T=>b<&KPzcVrxpA)mM#TF}(cjK&5x?lnl=OS^F5bYoj%n|HQ*GftS)Stl%4<=L}}
zi37b2jD;)?J=~bB_0PID?(OTJ{_4&LS*`vaZ@%Wb_olk?75zzjf2)&axytfzI$NFx
zZCa#o&!tq>s0Qx07`XS4owP)$Ey<E^u9JO+tN8ZYFR^gpLS at R7c_2YSp_+z=FP3Mp
zi?M9kd&-_Y`7DxsBt!(-d9w^{dp&J?KHTqN-rVyr`7`yD!Tu^_W at g%XhlE6cj2k!0
zhGmF}iC4~_uhI+8CohDPqbU*CyE53uJlo{+JwE3tls$-2S<4chU%K?CwgSi*pHuO9
z-TUuvQ<$f-3}eU61X;d(y_B~=^WGCR$X+9?2<nV2Z}bOKVxBEAf08D935l|nB+Q?&
zXC0WsJS$@UEK7O$Eya|><Zsf&llo$84|(n(@H`>bAE}8!c3PV?4CHju)5<q8juB+O
zjhmaN;QRNc<1fd*kZs2w6_?AU_ZCyKfBzAstgISGkCtNn`eY0mG}b0r*4(BHOqqA4
z{QiJxjO<M at UuPN4r~Vtrx!6I<!}2$I^B!lu2FAu5$K=^F%fkHoN}poj93yV_czISC
zAbnCtBt89zV#>k1KbvnMKdg&a{)_=>I<Z~$J`$yU#Ok@*eNp<5i;`_aE2adVw0-`}
zlX(-Ch52U<>tn;%|D5xh#-8#2cvep at j%=N;c{3%&#TlA^W#!@4a<tEXAqL344~ZH(
z2-9SpdLa1~<^8B9u(W at 7oAihfK*s9|8MjH1j9J-BMqty#uE>zJ-o+igq`mfO{XIY*
zX|I!IA17S4=MUO=_o2-=ktu!o@`ai=Q<FDS<{#SGvSI!vU*?^{@l&4PIrC?pECW+=
z=654KW%%Y at PZ_jtG~**<A>(|_McGHqP;%1VfRp(Hd|=on`*k~He{!Ad(?!Z&C82+r
ztaprmUCt;FT$8nkK!1%vYyQT+trkqXFsb~-UFbnhn@$ucKP0aQ^UqBPR9FsT;?LMO
z<OXWqb{S5FsXt=?NB+#)j1{Il&eY8J&1d-e>({U2_!n==bNfIUvt{pD#s!`q+t$P8
zmOTHdEt#mC&h97UN<aBbgmSrPlYC1Vze*4D-OhX;c5Xh;wEoAB?0i3$F at fb^o~T-`
zsWbn{Pd^R9{M+&_v%Sstdd6zcobF-sJM%e{7G>?k+9h)_q}Nl*=EdRa&%90k^fvjg
zl;5x1m)|fLj3d9#oc~hlsRxsDYbx_xS!BvHp`CXAEQ5)GGw(&ihT)L>hQ{R0)Z}Gc
ztw$}Z{qNi=l19jVCVV;<vVn<`k`g2(B_TLCSeZL_3CPZ!S*Wb6)87V~-wHA<TGUmq
zFIqiJ)~LhudY0aN53e)d!8BU-L-`EWJcl;<^IDdnM4p53IiMk5em_=KRVB|n^YwRP
zyq>>dFwb$>FR%<I|8#kVM)*C1*AjDVSvnO?Rs_fxJhi{<O~_mzIv8&b?kT@}@=*WP
zbexgjNy!hT%;lQaoZKsGJ`d(Peh0tHdF{ilH|sT~=DhZD5wbsBtMD4bM+-dp^LLZx
zFxQ#XywC4oY<LZ?XF2HNyq2F$lm}lwB+r18($Z2SCMGIrX=&02TGIdYQ205%$Ip<$
z!a`Z2yrb|pb!2PI036#Bg}djIC5IDU`(*qq|HjXlzst{2E&le79RK<YrTo-Eea-jk
Zul@*`u3BGiUy3sYThKwyzf1oe{vTo3bd>-A

literal 0
HcmV?d00001

diff --git a/tests/spec/gles-3.0/waffles-decompressed-etc2-rgb8-pt-alpha1-64x32-miptree.ktx b/tests/spec/gles-3.0/waffles-decompressed-etc2-rgb8-pt-alpha1-64x32-miptree.ktx
new file mode 100644
index 0000000000000000000000000000000000000000..dc43b9eb6c76568faffd4e2535d316b53756b15d
GIT binary patch
literal 11016
zcmdU#ZH!da8OIL@<KRe~q3SFxB)b?Iq}`+onr3O;*zIcKHqjQr7uMD-)U_!jm0*Nc
zO$;R!D{eoaDJXXPva~^^?g!Tof+m=_O;I-~X_gPdnuf&ni)<S)KuLZ2|J^&!%$Z>q
zc7X=H$v@}Zd*|Ns{GRiiw|nNr?<~8kzNu-?%*(!b*_5f5Oq+6L2vb4`+1Vl7^;nwT
zsPlTs5AI*;C-t5=J)KtwhPoD4G|(ArPgk|L7VE&8V6HvOgY~uqTden-UP8^4Y~F$^
zWRrY0UuV;&UzKX+Tnm?c!7`bmh1{Gm)M%MvvxU0WifW2D(`j=EhMc>vBN&R=od1Xz
zU5D2Piv>I9?gRK;6Y>K_;)jwCoF8`8T*@7CWAK-J66RO<@x|<=mTg#ZM*lZX3%2Uo
zRL-5SugxX=G2c<KxlV4(*|F|oBL9u^f2e!tz?x#2A3tnq4fb%;1mYp_Lqk&c%BJjz
z55x|?G-fPh8x%WI{#wh{HA$^i;<fPs`~5BR?Wx-rCUX7(*d^y8g%xJ!CkD7qTy)J#
zMa**zc2f9bJ%4*4 at xjie6ZC;NlNeC^PnR;q1&NY2FjgEy{D~hft at t1)AM#78V&MhZ
z8|$#zcdUc*foq at I!`t`e?ZunYl>ECJ<iBfzJ^t-9|KV0KKbn#6<QHj=e1P8jO?{%b
zAJ_Bu2YX1rCync3+<e`&s?*uBy+L)UHlF2N%8MsCXfL`C`<Q)0scjV6Ds7`w*ygsg
z^TXZQl1l`;>!w-N>>q8*+p(UE#XfL;PvLjL|JJ$*`XFH^rkhhAl-WZl%wA+!#rs+L
z at eTDaW$W7$-_`OjTa>r!#D&@v)9nkYb)W7d*h#(KVRwFffQSR<e(ug-=nlmSqW<y2
zg!w%<=+jDvGx&Luo~i!1=j}r&evA3<{Zh(Z%kOnh8nb)+(*{s2KXCv*-1Pm(*}V;n
zJX0`K#c;Nhnl>E&JX2J?=32&Y2N6HM=xz_z(wMUa#gM2m7YwyDs@|J3*0D4sy6>K;
zN!q3U!u5{Wj&85kfi<dk$;ZuY%ksA2x=>dCPl6rXQb<I8^x<G56Kw-AXl;JHF;49!
z={x8 at P)&R|yQj7MKfEg#f*(0M=~(>b_FwYBu;KzAkbbH*g4qLNhMg3Cbo>{Z^PI~u
z9(V1##^Lw+haWW;Gl{(ZyEGoS9(Z8-g!p40I5+I%hgMYUgOyoBwdPLhJg+ff5(i_b
z$3bsr%3T}(_yHfRkiGE3{>USRGXIya3Wk=eP5<TYN*nOL&r`Uaop$inEvZIU7gArS
zeGN&&DrXW17wo6M{n0G@`HjK8IW;L?HcYci!gR}ojLpz|bJmn#iyG91HCCY~?oc18
z`IxIyc^C5?+f%K>>K~Bz0e#Ji``dDMq(gIPDV}RwFsMnq$ocgM{ug^j?3ao?YnO)^
z3BUUQKR7q(vV6YG-dXa)#yMIyv=_^MfSva5f*s)p<os^(e7y(xIqBx>gT1~w*h`9$
zZ8xXtU!{50V_FlP=K=qBulBkRV$X_whS)E&D>T1^-333)?gR4cWvi>ZSTy+E2l&D3
z-Q(b-=94I{|BeMkYt(y?^WSi#+Fn!EU}vs8sJ53#+=C_c5=+XTj|*z~XNdc9abFQG
zw^?CknH?W&(|l#uL#Yp7cYe5Cuy0>n5%mr`Hj>8d<YRXDTkEoR at AdO-{jI5BfAgnv
z6Lw<2*-3fl(7N;MI}bcsw1Ud5sGxjBjdOBV%&2aZ4s6X?zt%N9TKBBgIqK1~s6UtH
zmk}c+?Nxs<qOlD-?WsjJyeezM>OWjhT%);#-tF%qzd_gD)pH-o*Q7nFV^_c0%^|Hh
zVvRnc at l&FVb2;Gey={Dc*iql3shl4lpcZkv76|h?#R-D_kQlIONMn7%F8)syKk&nj
zV2^#UjdfIsA0Hg)mT$%FKG>`E2XY at c|M5-d9tYJvsMI}i;Ox{rK7ikSfbB3N_kr`1
z!hb?@y_kQO_?+GAAAXnfyAMwGs=tuj53mnEn+hL{s7=Je-_}2QU*H48yxiBNtWRKu
z-R1nG*c`Lt17aU`(wP4h#W8}P`gcD#cb{TuK=1VUujR)F!~yJ|zNR^a1poe9Ln8OV
z=uXWgcb{8(czspcpVFrcZwmIomaGkGUiyaS=L1idv_q-1Q|)^BSAs2(yIVD8tdLgf
zyVZKF8PTt9mR-NBw{CH5)Vc|+(OU9>8&b7t-h}Sf9BTXW%A8?9^Rd2mzP0F at m`{o4
zKYvia*%R!9%01q%>jMQlA&n^i;o4yP+O^))S`&@RZhLz2^-tWy2kb-YSD2&2|HhUI
zfB%yyKR$pREtMbeLClX2oEvuJ+ at 8kl%$;Db;@>6yKZ*a3;{RPWKlZ|m4?KncxNMDC
zE>u48f$HFF at ALX6g`XI3QUA_P9{yO=KlSc9^^*AIgOl>X3HgBfM{)go-Q$O0^#^CO
z at Be+DdUy4zO~=~aCEi#y{2upZ{yy=mJ)e9*%zv)%5A|x at AQAhhU*A^IyBBF4QR~y)
zs)wEGPrB8PdsUyVJ)8ASB$j*;?<tJ_I at rgwbJh8&R~6U$DzbNiz5nXML~m}NX~^f5
z-I{A6#+q7NF2;Gk`cQlTf9!)QcKjgzBkJ2+|5ji3$;+zmy}|zbH}z#=cES4O%4#{k
zr;N83gLkYl2OrKRdnoRM#1Cqtz0!dmjkl6>pX}E-FMa%q>RxqzYEazoRqCENfN`Dr
z$AubSUDUa=la6J_#k}VG2)?h-)u!(WlKUX$$Iegws=EJ&>i(bNKPnwmUsw`+&h2UE
zoX;L}t-txcH=urL$JdxkXDp|&5|Q7lZ$gLkjl^Yd&b35?1v7L&Yw1WUG{<Pyvr9DA
zq9)~A3!j~suVwf1e{EWr_`vx|(PGW9W9?U;Fv1+}^;EDQR6oB)Yh<)EnQLUNJzJ-F
zM?T^AGCmI}W4*JJy3Otb__+rE2O9ffM=h#n1V1srZ&Lm=&-v%+a344~DQy7;;y>nh
zc2Z*B;~)O>X3kdLFt0Grp4Iw_y_vmQqqta$#ClQp+UA|!<}$Jk1;u8yv~O45k8L{5
zW-s?Ot!L07t&wB#U2(hmOl%<kw(esCs#qWA<QKOAAH{nf?30!D!2AiAy=*Vv*-5=@
z|0Y5Cu5oS9{$#ROseQWg-dt>l^6Woh1LY(9fP9b4_ln at AY!_wYe?<AiTgLW7Qociy
z`W|789hB3c?^%fa%I{UQdHvjEUyHph-{<Q4fz~L}$b$v at yVB9slUr}GFCW(l@#Z#o
z`46s|Vdz$^5qxjW_ZUZ>S!nw=%(S=kZS1`tPq+6w#^#UF$ID|2<?DYjWz}C1?9Q8K
z+6`X~Mt+0l8_4aT?5*F at cYKwP23p7FADG};WUTTj+ijriZTg<zqHKHsJEHu1WWTFl
zHXT&m3~COF4TBng$K&VvMy(qP8be)e^aF~y*A#Q4o%*hU=yx`E6{^}M`@d_oPl9?n
ziphT93u>#bgIi_m1in#XgUieI^1aWC%lG!_<+G2AlKn`nl_=M>Uu^^%?D^CCtXjYH
z>Hiv(>%tbwbsxY_nf&L$<=mbgRr$#FY3?FXHX0qLoz~iLrgJYJe(XS$TV~fB(aZM~
zel)D_6=!<)MDDSs*`auPLwnY{H-$v*XHs~Nl{BF9MEcz>`EerepU7`07aQCTFW3D|
z`G at 8IHjSx>vXA`!{P#*?+qP(JJ5O<ema89jA2>hUUj8 at qoA}uanWuc-hYh5ZAD4{{
zTtDM6HNE?U#-Lpqe-YoWUGcNI#yN)QzmtBvbdzUz-sRuF$9qTeSZN&MJ&R>O^5^+>
ziu`&0M-kf*=j$3;%g_6J*6UsVEGf at pxBnj{exCg5B?Y^sF4!jhKMOGq(;v|vkn;bo
zfsGXnpQTUpzRXjeW&L)nPwhh*n&8+#`6zxiu|;j5mSMbeSa^nVv4ec=Zy(czxc<qP
zeq&$1I?cOpJw|HZ!Fe19Piwyez1;nMe^>bt-tYJQV!bl!nu9&lq5o_|2iJCMJmV76
Q)pe!ucAD}(TUKxX1L(Mm&j0`b

literal 0
HcmV?d00001

diff --git a/tests/spec/gles-3.0/waffles-decompressed-etc2-rgba8-64x32-miptree.ktx b/tests/spec/gles-3.0/waffles-decompressed-etc2-rgba8-64x32-miptree.ktx
new file mode 100644
index 0000000000000000000000000000000000000000..a90ae7c7ae247d01ad9c3fbefdb3fc7fc4debefd
GIT binary patch
literal 11016
zcmb7~30PG1`o~|E85u at u2A5F;W9dP#sJ}wjHKQOkx1zvuBjqOgcg-lJ>uz3!dtD>D
zU>U9?sE7-KfXbrCs)7h2i-Hh~2q?G^)!grU=67hQZqL2*JRjc!%$fK1dEa-=oHNHG
z6Ma9hA2KA_%F at Qt#MI2(q&JZX5n1#n`e2<Qdg5n$AV2u;J>(zkiG~i{jGx}*s6o`|
zlr#h^2GMS|>gZYhDT&$aMM+2IStp#FMX`dzh=((0Q?wwFW8oq?4B|javLB@!97C}a
zTy(LvM2o?5rKP0`Bs7LsGXQJ^S4~ZO6%(n7Ia*lsFIFh}>;XF!R(5;Htk)i;QkOz%
z+f2ZbIS=AV?e<TlZp2RN{rY#*@2wab;PW*-H*Jm1WyVNAdc7Vm??yfWS-r`8fhr)t
z2R}>x>^%vaQ4G9K!TVI)42ovpyiafh at yNxcs#tJXreXy}gGd4U$6=dmAi at 41i{UyT
zM-V`Vx at tf{Sc?q2$AMJTAQCYW?)jh=?zQM#DO?+f)Uvzm&owZh8FG?(jo3uG*JH>A
zb<le6f&XT?4(yKHU5~y*Ye3SJ0hF|6V!tHWn`7oOb#z`J#ohdb;;L6Ej)3o5KR1nS
z`iv3~4?kXOvA%tqE|P(BBDf6iJj9Fj8`N<CHPChWa}Bmnbj|p1039Dh<Og^Th?+wT
z>p|3a>gCy(k6*I?PQ*QMzl0iGf_tXm0A}H&@V<yBa7d?TT~CtrkngDPi0{}RoDy*}
z{GTgr<XJF0WN&r{QNsTe+$G?g1la#zbBJ~yoFm}Q{;5AKrBwFLoK3}nj?~Uz=Iimh
z6u9q2WdAHdEY|}5#|0UPev-TFZ&;FISI|a<r~_)CzQp~<{O2=Doy$oO0pAoc2bg`?
z9kGWdoh<vM(=+y8lh!2$GcUWNhS)Y=u$61TsTvzgDaMbI!Ex|C$2>pudk*@&P>~4s
zW(8Pf2$DGF&efbd at +MtH%;fF-U`n0mM2(xhG;P>!s}G~b!qv*U%w<%~B(I=yP+0aa
z`y6mSceCcqk$H4%xtHbw;)U_%G~83)Nr)0SYMC;foqA#veFu#Lq14kZRYL2%10IP2
zY`^#sfai- at 62`SKY-gZ8mq7+*;GY@?uP;gK{w3lt$eV?DOWu+@*8=W|;3C{5;CwiC
zJZ0>BfvOm|-vF7+o7PkV_cpk9z`f&sxTdi^Qdx}}w4nxV at Na~BjezS=4*yHw0yxHX
z$lB-`1vGLE*nRZUb*6p#EI=IyXbIlqKn&`T3WvjBhlsPu(eEAMZ>Yf^`*RHpb$~nk
zk8&M=zwqb&XMkKkckNAgEj2N34N^1>?@RZYNrS11nLAWd!@#`_k=>=f!@UYzg?}-q
z1NTt_*}w6d_lc>Q>O^<JE$%<hg79BJTUK`KzrmeMoyR*X_}Go;4CYJj<Tf6W*}?v<
z6W8>Xf#+$ECE#O%>~8QkaXLx{GI<V!KfecZaa^i<&CcL1{A=J`=093hC?nh(*&XxG
z?u`Pu|K*|v_b~_e(R0ZiuUEqe_agBgkp0)74$q?o8uZ>0D1w5r6qo at 8`)`ceD8bus
z4hD%ho(Gd-jD1WD^+pXOf5eZJx(Pc-J!Yd(4S4nq^Uu-5Dbtv36DVVho4U?LM=i{d
zXQ_#Cccl8ahAXbjc$aQ~?71^dvk}w${HPq%?_JzaqB(+ELA{{0aFOx}Xu~n_3Fr*>
z)jSIJpjtux at r9IlW2b5tgYB5+6?B%-Z_|BPQ9*7M&GfRMcdu{ALaVJXmkEr}nt$^-
znc8pq%mq9H`jKOxr(i4M^I$lb51hfLI2pRq4XtB786mqP-iCi2+#kN6qNdkgqFa96
z+M+ohP&UK<AZ;Oz3v=dB{l~9T>&-*&uy-XW28A5a`+MknC)a`fD}(6~YEX+9|4X>$
z?+u6S7G|s^b}vFKGV)&y|JUK(ji^$eSDmMkCEP6$Wq;GMvqQKJ?9bj at 19o2vYy?vg
zP3>NK%|>POLI7$IBh|sko$G-9UuSoa3o=Iax2S)mmnr+#!@n{xkg`D<IQ#L(inA+L
zXcJL`Yw(x*&;IOwg(LiLfLc)l$sgX2Kt5`aUo?rTWq$BiRhP`B5(agU{YRk&GOx2g
zcmecff9^YteMJdOCD at ysw}R*0105~k%-+MdY{9XUYat#ZN4gTQf%E6a{XaNc{XM&*
z_fr4S`+70|T!W_R)2V`M0QWtsR%!RZ|0w!@ZMcG389yzx#!i#o1JWD_|5C&Xt^>Ro
zc9-4*slz4zBDg1lBDmiZH8?B!&+~8pUfB?y|7W=O?9H<;`ri*VV1EhW+!wBY1)h4n
zr@<S&m$u~sAb#@69DLwjAbl3jf3%J|@b>O`))C9S=(bj?y{%9vZWEbTnvtSXNy>T^
z^{BTtp{Ah at nwsEwlnCNNr&6j1Q59%qd<{GfcCvoFfAZ)?eKM5 at t|MN(AFV0N52Z4^
z|6 at Q|+z5J@`L_Dj-5GR+sR*PD!FGL=r_E>Y*=w2S=^TAz|1*(e2z at +&9KlGAXV=oW
z)-!{d=a{@?8hGGKvV2tIYDs>{1EKkBLPCOMZ8+zbE{V+W3&sS$Gbt^N;>#cj_ at 88d
z{Co{Go00ONl6pK;k;TKFq<YByq6S=tCO9_=_YPl;rUU+u1yU_G*wUl83AzS$XW-s|
z_kS1c4yw5h4BRV(zlXP$JYMNVy9BEdr@?u7gf~T{FLphTc>db}$`-_5kFeSb|LJgN
zMsqEuO`9fN>j-x!N#5Q3xdxq`of7a*o7A7u(EDaQ_o<RBo~Yp6lPsS+OKSFS7d2>S
ze>h8hM-3!@oVh;+t>EfcMA`7aEo$%pb>L%v1A{swG9Am*Q6LGu=NYJG_dU*(0e1;F
zUy{KbTw-Si{#=8ol229f%!w(K&7k+EMGZ!C4O%L#r!cumG-BTlde)t!>j|m%KAt{i
zD_4&1>OFi-;D627Uj^@;q=tLX{nli40`5h!fB0t2;ppX>o2Wsf)O++F&X2!SC|YB*
z+6=@RxHm+&{|b7~^B;rv!8#BF_gMDk+2?JzSHQgsxL3ft3uAYlflC1-`J)Ee_d at JG
zhyT|gnBN1Ke at o#XjQCfs0i1h^8IZiW_v|f`97s7h!#oP=fnH16HbE`oX<Q4R!8LI!
zVpe9D`bzu;bxGtRy1&d;T?d{-619NRc(u9;@rkd4rbSSdGLNn|$IuS&DaQ&wN~@eo
z<)8*!3w5HJ8A>X~>m-3<Y&S0HPc13)tRGcxRou;6K at Iyx(LGSTbr6-Fnye}<pR2h6
zGC=}^&yACUS7}9vN?&F_sX3We3nn>ug<B9=iF0W_pYHxB+hl+Ao3X$1PltOHNQZkR
z6Staff=c*T!Jl~mo{Uke+W^NWE<|k}Ce#Ah{Zjd6%_evU!uu4cVE<p1YYxKwBHYWt
zHF(FuI~}o+3HPE-_;=p?f?806ipz8C?!mhq{>+alZ&EY3Eo$%`+{1-`xPGtetMFbb
z`(OEn#w^%UrGP(6ce(SiK?eS7c?M7eo&(H4xBl0{oxRVX_g(&?20Q}~*co()8gvMM
zu0ad at x&K#%yW}73rIGqB{JH;+jgkG)`%a#L&M2#DaIb0$-MhHd;9t3$62M{9;0E0D
zWPhm^zxIA9{9Vz1_LuwL<t_WeoxmK_A&2XL^YRi9h4c2$aD5U5_jI_kf7krOzW|hB
z-S^=x^<JI<o_%)bDEztiS5Lo46%71&{>u?-P=i+4J#G<IW^PayWB%p->zgCA?0*?t
z<2t~<9p1NpNz!a*cm^&_p*%*^;3S;C6#ZWsvVwXW%|GG0x8M0obCK+48sOtO7;H at P
zrK^>})=WJ3COL%87?BgRg7Re+45PbKEa at jBs)L=V7+{VyjX2&FA9}~Gdgo|WJ*Zwg
zm}+s}*v8<P$FxlAL+ufMbPb=CaRA??sGr77pkLaz(J%Ug>N}l>=+=+>=}t!^-Ff;g
zHDR7k=qqR~2*q}I{W3b6HbI%+zFN7Dxf`iF1l9xJ_+>QEGr;E=ILe>>zxRi`cyE{z
zws#Dsp78br>$wJS&oS~p1NQ{s&oKe+$-nV$6#m7iK{1@!yMAF`YG#DD?B53W8uk|c
z<?Ifg!oLyzg`LrK at y95-*l~c0p6;bPaL$2yxTwKGcIFx&Mj)PmcY^SLL-<>=KhHZJ
zeE!o_1O5dbzxs<~#AJVe=?{oK;m+6#{wDlg5UqjB-kGjr!D0q=SPW-h`0obkpm-I|
zpLZ;wT2PN|?tcsSo$G+ at 4*35h;5qn-`_Fv`H<`|(=s#-Eff_tT4d7oXW<c(L1>7%z
z6I=&4v;R_d*G*W|_1S0aZM^+Q{*pZYaq{pWPtRT0>O=6CB0Hmigh-fw8u{pif)0Er
zff_uA&w5|fU^hr-_ODZw2nrAjA_A!t+yxDw1<sPUTnF_1q3q6e=!~N~KOUo^ju`lV
zPdRW;<r%oJhf+ZfX1 at Z|#*ZPULiqFS_axgflK&s|UakS8%zuM)uITCMDW5a`Y4q{&
zF`6Gew$+NTx5*D2XSQvlqJsz3xgdo(5^8;exv-L|n2aS<4VsTnH_)=39=3f;4Ns!!
zR_7VI)t=Txjy{i4YcmEXgZQi{D<%!~&S&sF)B`4bE}c#Zb^6P&Vbi!_(yYr-b~cVg
zE6ja-JdJArU;Upt<MoXHZsbp<aAyDhX{&WRf#ff0 at E!bj!TqZ6zY6~wH`b|&nTD_I
zBp&RihDXQgZbu5;`Z=3!!MPX|vU>%tuXiq`YLG9ehx={7b&!DjD%3!_?iGFSdcPZc
z%iHX4plc3{-2SUNm>SOj`@85yDB$kL{`fxq82r;g3Iq2{rgWE8ECZ+Wpt$Y0;yn1O
z?KGWzl1AyBS13zgMg^k(#fUllywNr`&4Vp0nsLvf9<drd&&TJ?zrX?Jhf|YhFB!!h
zH}qci{7(^2`-A>>>#tEg{_ywR{CWNvQG+1dM>qy at QHOMpJ8KkO1)2N(iT%HAI7CMQ
zyC2mjYgawGOlLcaDC_4cO4m1o5_O^=4*ogpZVbME=Dr8Po%uWW{(tnxdP(6E<Re9F
z8+;ujgtsN;+nC>fUSJ>N_W*vxO|GDg_zv6IqI|i-5|F;zgDM%FQkkd5H8jK9DZ!Lk
z9**;Q1N(7o`yQ0w^UXk^u0UU?I|mMN98cygj5lc|oQZ0{Kca$s8~`rg$z<`iHC@*_
zf6{m9vrwyzFm~q}{HEW=?!4X2wcF45eu?)t-Limh^N}gnzy}+m22orG*&k648lA`_
zQ&8!paj3kso)X~CTxQ^0P;!u}7P;se7}+1OjJJjVB7LczWPdpSPySe<-1{zn922EF
zL`0ARn2M;t?<Lp|@Wa&A^+dNi at b4JDe=~kTAASx+Wd$)yaD2#PZ`mKt1Hl`B>%jis
z^SKS&c at 7fbF8PlkY5)&}e_055FUAa<gMY%7X|ZO2xCZS0-}v)f;9<i3*Sc#BV4EBx
zlt3jj(sibVF^&{tVGP_Yi17I@@N$@|U at -gAEXeM9zQ=`HM9xsE;64cK0C{r%*&pwP
z{cwNV$iD>s>@B$)`OEVk34b&0JG*1M%U`Yod;SsZ4)ApkzGBll4g?>9O<`lCdvkFq
zQ%UAv{yaJi;$)6YrFai(lMvsb4lf~^*o;<L4x8rek1>h@=gGn%MS^;#P!E?Be9xE$
z_LBK{2@~t!cO8a?YY>4G=Rd}IaS!HL+9KVt^5vR1a8N|PpB{(rLCTSz?=2tBU9O4e
zH85Di44)uR!WwAe#Knw%SANdTYcS;JHAw3~&PWDpaCR8##rHtFa*O;a at XwP$?i%E7
zy1!Y|#1Z+c1=1Rp?3gu@^Yh#2i!To07M{g8UW2Ot$o(J$dH-R&2IS5K at rE^cz03LG
zUxYd|Gq^`|M+W!FT1D;}<S*wnaBg@@a1D at u8){%VV8E*kZ3qja5fdi3ac(=eDRZ>m
zA%hsKVK1*k<d at eFk6cv_8chRe!FI{?w<vGPEJ{VZ^VJu2O}MXD&EP&)J9rxBkMA!1
zDY@=bZCC-~g;=^!nq~DK7>;e{siALL4V~*?#gVZb at ap>l4 at 3_~NB2+^D at O*7*_ at Zx
zfY^ZCdF$|hEC8>e2{}1`F}MX<>vj#kn-gqRdg)!dTQ*-&x_>7XAomiZ{Ljg`Ek+UN
zm-4!M2RZ|M&4HPBbng)m5Hz0Gg8UhHGgN^F(1MevCZCtB@`m-HJD@!n-+_Wwv5rFI
zz8m&BN%?sV`(}+Q*yuTM_yTA1_a>`o_>#fo2R=>-w%!2zl9RO_z<K84?Zn6rJudpN
z1`_!nAvbeX<iCS8G|BnH9W;fY9<*|9)L=i{lR*x07a*?$)=&`cONq!E1vn-m_jb+?
z-UnR&9ze>?YuPY{@P9{0530d=H&R!G%_f<9emL&Rgam5OJzhI_eQAJIHnaZ)DqZGA
z8K5q5hOQI$fa+qr>Av7bNf;&kuuc_Sw1mdioai@`88(dX_LB*s$*x^dCUJ{&%Xtl;
znj><jrESwyFxdWW{u0i6VLX*G$lrk6Ex3<c2RMHVJ~ue;eUQQVQ>W7fUITK6onB94
zIX~x?kBcrNT(|}=@jAe6<mLPlycXG=Bm7I&O;$DF9IIjaAbP;Sy9{}gWq-~Os`P2P
zBVaw;jr0E>uC026hK5S{b8~ZXx`=8Bcr7zrMyQc at 5Z2&@s6M=D$V<pO9;})_md<@O
z$F7v&bpX!aDctL at jxv!y1Ccp`{5Md88*mR>^%mJ6zX|7+{cUa4=1L`j5$3#&)pR=t
z8mb{Pd`y^4^>DIV=Rf)Ao|ROPu*>Qc;8=jq>?#Ji?t`lKG~G>*of$?Fr`Ektv~NlO
zBE*jnY15`nUAcJ;wzhAJ{Dw9Br~JGQ<o8GZQ_MPl!#a at j9EjwozwVmNxhrBQ8|MdY
zpl<7QMa<=|UfYJ;8pLk7<^0Aq_-%gtUo6x^W%lwwPntApmf4z_uJb_wu0fbz{2aB}
z at Xr?Okn*#;od4y417m{c&C>v4<hpa at S{VGf_HRr0PMT!KczgSr+1L!`yk>pOoh3wm
zI)ee2@*>UWH6Z^=z%^LOYe4QQIX7Y~a*j-jjwb!Xha^R#bAqvB$4X~w?vC0|@E-UU
z^M8WD_pgae{A at b9!cqIdh#3={)NZy5!6^oxA*mn?pP#{?C%(Tpf&KFZW!Sg=?lxUL
z_Adt)vHvT;0=$F$H({Sy;x(k#LH;t(An%WT%XxpiPC2+(xJ?%h<kzsk{%?Rmc#T<z
zVe<ZR#F{xba}E1nJ2;zo-J1|M at oR;Kdb|-G?aTWUwrTYQWt^?8+ZDtsVY6+U at HyP^
z`72a*_A~o)a4W<A?W)b(K<$8ITI@>aJz2XvXX4tIcJJPe9=fTq?>OxHDT94?0BK*u
z4&D#fZ?)}ly6Yes`zHWtf1U&UU$$-_KVd&#&d>0*pV&7CYbh7|yOfugOY?;MyoN4#
ze+K*dBA&xOiJTYfC>Q&`QH%e;$+>y`>oD}l7Y*0T*yl20^r%sThYcFkceh|8YFmrv
z)Z*{V<vDZS*$5_sVf<YDeKGHc=kWfu2R<H94wAvf>w6~>{%$VA&l7*+=S<e)hKD`Y
w5a{P#i0|GD5d)n25HkVWU-Ivwb_ET^afm*B{h2*~`~SZL at qy}dU;B`M0~nK^QUCw|

literal 0
HcmV?d00001

diff --git a/tests/spec/gles-3.0/waffles-decompressed-etc2-srgb8-64x32-miptree.ktx b/tests/spec/gles-3.0/waffles-decompressed-etc2-srgb8-64x32-miptree.ktx
new file mode 100644
index 0000000000000000000000000000000000000000..ada3e0c3dca50d318b52820ed13857a53ab37666
GIT binary patch
literal 11016
zcma)?4OCTSy2p22E$!A-Yvcx+`B9pnIeuL=P%%Ho4^X*@mI at RtbuCeB(9~IykakB|
zX at F^0n`i{Xb&)P65UkMB5<ljmUQL)$M`@wRC|<Nd;0Oo&-{=1v-pxK}Yt62o?>>jK
z&-?zK_ucQ;KG`$oyxx20(1TAs;rGNNkN#7KM}B2lk64z~$=9+bZt<kS^18QR4*vad
z^P;z9!Ew~o)ZoI26WE=cjCZ1<l+?%okeqc>m9o at O{PjOygGsOK3I{p9VVtJdcFn`Z
z<WQX6I6+BUH3Q`I7wdq_d5+xLPJjC84Bq|y?=f=96!aT0!i$)<SHj7wGhTy}v6CY~
zR>kj7=0|@BvTRiv5;q?}{;^}Itgp8-yDew;9q<p?+1ZGWj#i8}V?a*si1vcsKmB2z
zay>mlo$J0 at 2EsVd-wC}<44Cd)GYPk^Tw%5kJ#r2oR{uq-SAz`fGt`ToFAjdFzlp<?
znQPSB#36p`RuIO42mPHf$ViMt{QS{Ki49Q>Zk~iI`xfKG_Src1`Fvd6IvNe>Aqw&$
zLG0Hj;?&!?Yg^bb8dn7DU8ww3;_-dLSmlf8-s;a79Lvww^8C_2@$vB>%T~o>*1RZ;
z96MPVGhrIYg12Mz{ol-*C-ony3>`B;J~J27!j{V4<CVAG+KBM*HHeAXiZyF?q5RGr
zt$z~(<IXq~Y>!iC#^4|EXKd)sw!e9}rR2T-FAw!+9PSmYvi<+j7|{FK-Y?ny^fvB{
z1O4f3VnBbgVoi$r8+Q{2XAF2Be7#{7zW-<e4sH(Dlx^GG-)!F}cLaNJTt4pv1#e-`
zObh8D7D`rIxV at _z%99?!sWp8)Z0?H-+h4}j&qw3-zDc;aH(JS95rD&6rsB`7?Gol5
zZEQq~oVT>p!{xez>_dkTy>ca{O`ESQUb7jq-u$id-ba5#Mn)dy%vl6~|3FR0jG2x}
zlfrFA1y99<>HjV<36-|=0hX*yQnHFlP%Hk%n<+8<njM2&PYhBcJ4-*<8DA|MW3%9;
z#}MOVsXyKCeA*B9v-)TZoc^aI283}i{!Horx!jw!d+W_${27Cq`}Z{l#-Hvc1_w`F
zvHeX9oc=s_`ZET`pDANtyx9&&LP#K{cJH7>59x(zqdO`QA-*8L9oJK#JI`77=hqKZ
zcNB-Jzlj0cLH62yHk;;Hhzzo@?v3u)v2qA<Q$moN9*fH*JH@=JmDV6Q62{=>%_bZ;
z at PoS3o3Q@#@`_Pi?Y5aU>rJhD6NkV_AsG6~t6Kl`4~t%D6Pu8tZJzC)?u&<av%Tp~
zR>;^#HpY!t=uCIQwm^5{tbgOrd%^fe_*)=e?&42(^}lmS{aw;Of%kyaJuwIU37y#n
zm@)=Dj6Y++`<w6{U<~MQ+CTkAO?|_Qq$QKFXks4(_*u$tUha;uFZ?sY#&p4&sF7H?
z^d%%Ej<ZRKeF4#7k7Mt<{y6)`IVj)$II4F)qwxHH5-jEWB^Jo3xW|w&)x!I&l*(Ar
zB;!Vvj3Y;+|8z_LLMqN~5tE~6Za%L7KgnxyPvJemxbP^iszP;btx|aMB1mFt21>6t
zph((uN=iD)%kOA9T;kv)FfaroM^3S!d!Vm{siV3pL!Y(O|Lqxl)IVYM2pAZLU7N>&
zG1w6HnEIn&AV}T5=QRB}(--9*KaR3>9_Ua0_mhceJhI%&y}iG?dM|2g|D^sVt**U_
zy5|2=Z{yDwb<NG{PjC9uo#*r>j02C`w{IgSC&!M#(4lfKwEFYh)PI7E|HN7UjKPN+
z$0%t#WF9BbpU|Ie!1e8PFYwJ^Fb03y>Z>uJ`_G^Ft2<**wjxM58sV>L#k&4bTI>IB
zt~2;ME`VuGOR2gu26|6O8)$B>Q&dj=sjRG*dBRpr`Ce{rE-qibtbaDCzL0+yi?!14
z4H*(_lb5<e+rO!QwteMA%X1H`cv1ZiWJQ4#WG>M9e|>-jvTT at zuh(_5V?cl6P9Ll>
zpgWGtL3Z5p%Km9S>V0$LY)y-0Ord{q-U=z<QMgd9(4FV3d!l1PtAA~6^#gIp&p!sj
zqrJDj`H+9uMye#=os0Tlc;CLtz}^F4 at a^gge_vnB9zP!Im(LLQjo>_K&akc+ElY=x
zPMxr*tA#*0Pa4rrriP(1pic7QdU_zp$q#xVHPpiX(H6=g{ctnxWu<cc43Go6*W>1e
zf(J|KDg%V_)7c7K#q!z#O63}ITk7|eq;>6(myW~Jr%FE}|F_h);84<J+yA*Ip9Gzq
z(4Wj4+e4wde<#b!pD{3eJlMj%N!{!i&^u>o2X$vk_oE at 56vo2%)1Ab}#3=cD_J9;+
zZ9+;ygq@}*gurm;^rvuF7m8hJtNT^CO>W5Rwiq<F_L-g#)U}Q&o_>@uF#ZF4d_ey$
zUAlPT)3Kxa`*gIt{8{&rety{1t($Ui_;3)qn;7sseww9J9#{y1%-L|I2H|>wze4}~
znLT8V;iJSzYDkR?!jbsVN>xTAJcLRbD(?+Yit`dR22D*DK<etg$Bi3bYaC207=yMr
zc*a(`JN at ZSWNEDa5fKp}K>-1_zq9?*y}f_tbI*CX(?9?HK_2g$+im}IF+Lgt#)9tg
zGKX~fCxrMTGj6ubH$DFJZYqe=IFzOY!q6mhZ~7Cuv;7-?#(?LZ7<g*m^KV<-v;F69
zn<?u*ANYtj@$2lTjOsrMVZmXTGjSM3^m`iFN&QfgHBrWFA6di5JZ4k}@wbrZ7l7?A
zk5_oUSo#qX8)#|ULTQ3DPeIla)gJ`oqRjh9X>176WXxSR<|S;M at rttK#a|&Yz(Qek
zFPTGg{lIlaCnZnr8^Z4}@H^dm!xWs~EqWKwDBigCk)r1^nl#H;X+Vn$XqFf>xuyPF
zQ2E1pje*mj?y(WE>Q8s$&lu33<i-YKM_4b+w>o+;Nn$u(?j`oA>|5zxkv0`)m-g3k
zH^`ii(4C}5&9vPai?pd7)c>mF!5Ey7ev;l>rLQ1)p`GpTdca>|VEh~ZvO&+An{V0f
zi~;V8d$YK^TeSTf|MgM_GkZLN(Q=<Vp*!oH(EpT_sbJ%i>d!V1WOcTA)#`%Tat{&K
zKmF-moEV_)Ebn2N`)9}+pfGHR`Y(_<u at mFZx~G3tMu5$c_>PiqC+W22DwlT-L&cU+
z%AfbV1ESvIu5Cct|AYSG-XiXjpotV{8z|TqCth*bE#uq;8Rrbf-RaL5u>RTpLpu3_
z-b at MW-s$fyj8=cv8=*hjKm8NsdgK1#{FiWa+naX#H~vip<E4n>H3syjGpZ78|Kb&X
zAnpCN9klvG?g0;yK-}ejNK;UMzQv>ZBu?$yj6B)jB4=}!%3B}c>i%gGi}9MC+BF<m
zlK*LmKhp%M3*#Lr_kNu81H6~RpLrC2c<XuG+`k-|Z at nyIpP!wE%Rb4n>Hi9*<9b at M
z#<FycR8zDF<gkp988T0}B5S9+`v<`F- at Zz7ZhusL))kG%X8|{)eucUpm*H0GIGkJa
z0vh+uQ7WX|ZkGGp5t%1c+3P5?mSVM2ogv`<#{<XpbjXB7-5CQq)8E9vxHBbmcE*72
z#{cktOjLLJ$H-if7;m~0t`ChnQ at S$-^p^n at _;w&#@}5WSfAs{u8|LM&amZPqF=+4K
za9!p^;@@_720XV|Hw!HS|9kMbD`Uw`o7##B7|M!^aWpp_HJ3|lTvf$5cjR-M`n(K$
zyKbr0KifcJq=mF~($}@Zx;O4T-#@>j&8|rv_Xe3S(w+5BcgBG3Yy;Q68ly2_-4oV5
z+W`H`HvAgJ(so(@>MsqvMecRNgQ;80n+5*IC_MbQ+xE6wT8sm_1F}X}B$08~iScLM
zlfoTxuRGW$`(jS$pE=tC-N{9nFVdgx1cm+7pYDY1pD{4dpJc!Om_mQHUr*gX%wNVr
zjR0GLL_+2O2Avbh at YuTK*73oNn>uz#KT<Dy5=3TH`k!>Pa>2E>`IW?q?IbTXQrW$8
zF!H~gfaBl2rkwd~42ri6QNG(U5JwYyZT81>#HHOGa6A85;JB=tggb}&DL5tf!sUr*
zD2-Jv7KVY8e>z!7k^M)){Uo_S*LqU0c1NSsKmTjicEEeV%Uy1f7K4lpEgT<o{=hNR
zLwkQSx3uS%;?Mi#Y|gp|{4f2u1oStY{A9T7HwGv-rH>(WxBV}TgL>0lU at S5c{ct#K
zl%_l{THVKv0b^nIlA4;d at DKQV*S^@v+?Z8vaLZ+ObC-_N)Vn=~c)Ag78`@sl<)AO+
z3#w1<&=?#~dlmT~{u)flH=D*P=hNqbT+a<rT*Z;HtcyfV=_vgDLLgk_6ZG6!|5s%H
zIK<x<L4Gpl5T?BFjLcmJ$oQRX!@BqECCY7S$G{Yt{eIh>&%2-g2F9RKoE7<_Ob@;0
zP8y5Wud>^X3VZ(1HeiBxJy&CJ>A+m|XAE|)>50#l_EzZr^LMM%nK7U{F2t!f-3 at H>
z2KpQCS9^ES^I!6Bb7$Gw{7tXVo}ajIOSmK46<l&(xTM!?kSpq?8>rK}#dFWJ-Z`8@
z%E4GT;SA$e>wEeE{md=YOWhpX7KN=+Pb7HA5cKcfUEz7QtiQ`-o at j7iT#1UqZvbUM
z9x4~gCQlojUvZ8d)ngC_NE+O0i0omlm3=cArv&GG&r=SMds_rN at 0xL;(fu<T-F3n}
zLHY$*8#Fb`d9w at mnj7H0-{gg-Kk#;E9Go*O6Bo^?>4e6>#33Ri#P(+#B4nOy*d%L)
z;*22mZ#e1?az)0${B2Jt;eEU5+>$Y%KcRm~R*_`InGNwAEQ9BGm_OIRp0UsEs)ySp
z{h~|8M!5mpjcznGHfeu;ukoJ7gE27}H_!Le+H*MHcb>CMrf$m0im`LkCd{2Y8Ba;w
zkqZR{$~!Y>VzhW^-8ZCY-8=p1PUz0{<%x~kkvwCe*1bN+ak#TYrhI1JS1-Pd1YdiQ
zen8%9xhrGjT^R>t$S3ZG7Bn?9qp`t_dks?e(k`4h-PqRH=AG@{j1wkx)(Oj1arUfY
z;y`Z$V<C$}4>xCP{j=_kd;9vQzq<25R;$0qo3FX<y``>vMSs%X-|A#puChFw&X(sv
zn-(eDb19WIs)7402JSs%CoNHGO0wjeYh|C|8ovGZODtTtP?<7i9!OA7sHWlJi{%;Y
zVk}$sp0a08K8s`@2@!#I-Yi4gUQgSe5BGbRH}^bD{!Be(u)hkKnVELpAt4bU<HpUh
zVHsj#;+6B~EA_(j$qV7+Xi5b3t_-#@&o=pdkI#7uWe=iM*0O}>moELOtpIYy=Tv-N
z_x}6a6z1tH!`QJiL6$FHFXb)Jy!S*6veyVJf;wZ%8~wqQm}g7OpQOoNLZYlC3G-*{
zSqJ7Y&x)8o%W~z)ZN-$s<Zsf&llo$84|(n(@H`>bAE}8!c3P7)4CHju)5<q8juB+O
zja!?i;QRNc<1fd*kZs2w6_?AU_ZCyKfBzAstgH%0kCtNn`eY0mG}b0r*4(BHOqqA4
z{QiJxjO<M at UuPN4r~Vtrx!6I<!}2$I^B!lu2FAu5$K=^F%fkHoN}poj93yV_czISC
zAbnCtBt89zV#>k1KbvnMKdg&a{)_=>I<Z~$J`$yU#Ok@*eNp<5i;`_aE2adVw0-`}
zlX(-Ch52U<>tn;%|D5xh#-8#2cvep at j%=N;c{3%&#TlA^MaALPa<tEXAqL344~ZH(
z2-9SpdLa1~<^8B9u(W at 7oAihfK*sBG8MjH1j9J-BMqty#uE>zJ-o+igq`mfO{XIY*
zX|I!IA17S4=MUO=_o2-=ktu!o@`ai=Q<FDS<{#SGvSI!vU*?^{@l&4PIrC?pECW+=
z=654KW%%Y at PZ_jtG~**<A>(}YMcGHqP;%1VfRp(Hd|=on`*k~He{!Ad(?!Z&C82+r
ztaprmZO$kVT$i<oK!1%vYyQT+trkqXFsb~-UFbnhn@$ucKP0aQ^UqBPR9FsT;?LMO
z<OXWqb{S5FsXt=?NB+#)j1{Il&eY8J&1d-e8#iv?_!n==bNfIUvt{pD#s!`q+t$P8
zwmko-DVeC8&h97UN<aBbgmSrPlYC1Vze*4D-OhX;c5Xh;wC=}`?0i3$F at fb^o~T@|
zsWbn{Pd^R9{M+&_v%Sstdd6zcobF-sJM%e{7G>?k+9h)_q}Nl*=EdRa&%90k^fvjg
zl;5x1m)|fLj3d9#oc~hlsRxsDYbx_xS!BvHp`CXAEQ5)GGw(&ihT)L>hQ{R0)Z}Gc
ztw$}Z{qNk$lSasWCVV;<vVn<`k`g2(B_TLCSeZL_3CPZ!S*WO})!zo1-wHA<TGUmq
zFIqiJ)~LhudY0aN53e)d!8BU-L-`EWJcl;<^IDdnM4p53IiMk5em_=OSt-vv^YwRP
zyq>>dFwb$>FR%<I|8#kVM)*C1*AjDVSvnO?Rs_fxJhi{<O~_mzIv8&b?kT@}@=*8H
zbexgjNy!hT%;lO^pWG{JJ`d(Peh0tHdF{ilH|sT~=Dg-|5wbsBtMD4bM+-dp^LLZx
zFxQ#XywC4oY<LZ?XF2HNyq2F$lm}lwB+r18($Z2SCMGIrX=&02TGIdYQ205%$Ip<$
z!a`Z2yrb|pb!2PI036#Bh5GZ!lEVqFeKLNQf8%G&-{t417Jqw3j(`1ya^=)Pea-jk
ZuKfs^u3BGiUy3sYThKwyzf1oe{vY3Bbc_H1

literal 0
HcmV?d00001

diff --git a/tests/spec/gles-3.0/waffles-decompressed-etc2-srgb8-alpha8-64x32-miptree.ktx b/tests/spec/gles-3.0/waffles-decompressed-etc2-srgb8-alpha8-64x32-miptree.ktx
new file mode 100644
index 0000000000000000000000000000000000000000..f24285d0881fcf635c0ba11de4e129a9168ff707
GIT binary patch
literal 11016
zcmb7~30PG1`o~|E85u at uhSX66W9dQAsJ}wj-6+V+tthbENV$pr-HlSZ?&ejvS4|_k
zU>Rykf{M5x2&gQItSX2gvM30#h=76%QO^CoXMTr<>h|0_&-3v;z?^x1pZ9&|%sF#B
zJkj?9`yoS;tt at RUO-#+qO?nZT5RpYcBCoB6=!u{0f&AdV_mF?ECmK3*3x0ZoqXto<
zQ_>Ky7(~0-s-tK1qa<dF7bP8 at XPt0j7R3q<As)({P0 at lxj)jZp5QqaQ$$pe_U at XN>
zaM8uu5-kSLmzI_)kkA-jO at FWnTro9$u9!$w%+bQ4U$H{bdk@&Du(I1jX3y<WDs?HO
zw#@__nR6hX)NcP&>PGCOUax&eecy_q{ytyR^V8PqTxN^}q}S{5@^0i4kkyOK7pMXP
zeDJg6&)$=;8O6Z+B)m_?&7f!o&ie$15f5Kjs)_}NWGYrtG>8<ie;l^C1`_NKvKX!d
zas&Z%sH+APgtf at P`%RFF8bl&S!aX0<!o3!qD}`$Vky>__{kaAPG(%3%b0apB?zI at Q
zK^?T-d*HuCt^>Oxch{p2(OQr+r9UODo!B=?_U4$mTpgVkNO3nlrnu_Wio at WC*3V31
zn?9uk#6yqPS!`(Eu8U;goCq$#I}h<f{YG^hKn-+V{#=7ECc0*P*q at FKB=Q412Sm*w
zhV>xoJN5Ex%*QX;e<$J|xL-sKF2X%i at I7YXgz&zAC~!!pXI)Q_^^otV&xr5XADk3%
z3;driZRA-nJY;Wn2T{WRB-|z7oCMhaKy!$8ADkoL&i<)CE~QlV&YVrffsWM9VCL)b
zyA-(ZMP&ahK`hq-{>KCvh<=j0>~C0-Vpq^6g{T8+puWic$Nc9rN}bCI5CPv5F$b7^
z*&VTmCY>z%rqeU_Uz64)1~V_aqlVZvU$Bj9z^NJ=ODV>WlEE?X1IIi+^m`8ay-<+|
z_GSfGWeAcu=FZieJ^Th;LCoas{9sC*=R}QLyfkgtZmSQY#=<qqy3FNN%_Og+a!^?I
zFZ&#DE_aLO^x=7QbcL7ZJmUHB<}}<>-${rPIBJ<Pot=7O6nzH12|}r-U8;oEdj~uc
z1=xP^BLL4Avm}gbVc5<<eJ+6v%)mc24qji9*8NMwVURZq at s_+LcdiB86Tt<zOThV1
z?0Cx9Ihd*#xL*gE%p2BJ1NSz#cfh^lUbv>QJyKbX8nmGXZSZe|dyRnWP!9i#;5<0W
zb;#P}83i<Q4cLA3()FgjdoMs82xtl3Z-N-qAr%gXzzz{-lcV1|!rxGXKlbMu80r9b
z_#fdq0Ds}n{m%foe(u^E?pkVM-WsTA8s3NQF_Q*S6*G6JriOug8zQ?)eTRD$xB~xT
zPzUaz2C{$SH}4ZuGu4UifScTZo(18*fVQsc)_;RLnL3YmR`9VK(HYE_+{tY`BC~`2
zT_>*XB?He>AWOi<1lir-Z{l=>3}o^g2!DPL<l?wg_o|)2UHI3)xy*mGs!&F_H?lkC
zpWPb;a{tRk4entM?xE+BJ6^Ab5$;9eJs|t9MIBy14K(PzB~SzfWhpQN3ijU=wMl}v
z;T#MSaXb$u#~AyV80v)@NdAZ)DRmQekb3MUqZ;t+8|I&*iBqOA+b2-QST}W at i;h~D
zA<t41<L*fHZw*&mp7AbS2ibFHnr0)W`T0>fsNcJ|uS9bMwSsy<YvCg0W6*|U;$zSm
z?yGqi>_N4H{9_9#@%m2HE(Y5%%`52)qu;Lku%d$8Dw^qKL9ge&Aq%ax!dxaWLTmob
zXJl%>`BNA04CqUafu4eGh%bQQU_NjLpWtNZayPV&`DBFbj(7|Hb#Q+$SVc{*zC<_u
zytPGhKA>!d{XyD792e%yq55TGsP)Fdci6iU6oW#J=>1*vy_4&}{*}S>5H+YpjDH%g
z`Fq1byM-C+h~0}2i;Vo&!2dP4cO$CQXN>bSvV^-OqU>*4c4i3If&JN=YryX7fQ?`(
zqN&|WuiB_=1_z)9F;X3j+_?_u|21|8xgcXyKa2WTo-<|tdiYlc22wUi180^kQ=D13
zQk#exT!p{ffA(kh%N*f<9n^{%NdEAC2=Y;b{Gv%zE%T$ls=8!0l`yD->^}-Mka>;$
z!C=sb{kiWn?iD34m0)jj-UeQ94|KGEGkXu;x)sMxu7!Av9O+8H2F{-u_y53b^$+Zh
z-b?*Q at 9V|<a}AoNPp1m50o?bjUaj2&|0C%C)!_<iW&E_%8aqvT4 at h$${7VrlxDN1U
z*j;)Lqz;$-i{PFJir{`%)ZmQhKhMAYdu2m-{-5FAvp3Ja=zm|-fc+(eb04_=6?p3P
zo(6C9UfPxmfcWvpbMS$Cp7dEb|Is??z}vg$Sx2n!qFY+6_Lf4SxJ6`MX-0}lB`NDw
z)T7?ogqnsrXljDzQ6h*7ol2=5L{*@b at ip)$*vb0Q{>h^o^~qEsxQ2M;UbLnxKa|Sw
z{*M7=aU<wK=G*F<cV^IKrXr9s1YhW*JZ(OG&tA*CKxgSA`(KD0Lugrlas(qeo>@n4
zww at luJkR7M(}3^4B+G|2u9oDNJOG-{CL|<C)`oL_>5|9{zhF%8JCoAVD83Amfd2{h
z$In+mvl%HLD5=K-6<Iv!Nva3zFKWPbXo7R2aPRQdXgc8kNFdc>qb)s*o1kl8cLwea
zc>j07?x33Mz`(si_<MM3$>WvhXqR9O;xss~i14PU^u?~{5YK%ZK-q%$YY|r4;6EMi
z%xJE~v}x0%YaQVZCCR&+Ki8nMvr_{8X_NX<8hYQ1=RQ%A#bXt`dy?hjXGzWe?V<+l
z><?$D at 2G*~k2Cj2pcP#CiYOcYw?qx at qYixRZ(vY|M5bf8ItnDA_dEmD?7qjDGT<%&
z=Zi9!gNy9Uz at KXnRq}}{o;f~+vKjRLl&HaIu0czs^%N#IiAL<(LC?CAbUh*U-pA9&
zY}KmqUA>2|3H+}b`>WvHlhknUx!;<sj>El3_7C5pITXD at a|1PKlzNZ;!}-y73Po#-
zR-1uX1NVjq_g_KpdH!SYK3ET8;2z7~Jo~&2_X at ao0rv`ccVX<#GjK70B!AQ(`)-Kc
zXYl_T1oL|U^KU8qgAxDAHGp$ZF$0n}_ny6Fk^?CRXP8GoJ<w}O+a{<*JcVoF)3_#X
zMa;?!Q(unXs4j_IME924s_VexNTL={8n0GYAwKqX(6k7uQs&XM<`~)mKH*s5M`@K)
zsT|aRtD#O*Geb$mc%39rjP1rH{ir2np7q1(ZHha2E2&}MD7p)(w+*Dylap1Y<#RRH
zK_*CG at VRk9Fosr!sPtv_lbVxhjbM_4SGWa{l{lB?^Xcx7vd#8Kz8UvB|8%%VfpoZ6
zGI49 at 2B?I875tg|;PF_sx(#rA>_XJ$VL~l{-7l7J(QJlyAiPh43if}xLURD_7vNqF
zuEIMO-sy;qOt=?y!oTyz=hT84R9u>4cNgC6 at MnHXd4rn4Em4E-;2tjg!}WVz$H053
z?0 at +i8oOX?l>+`O-Q~{51{wIT;~78=cn&ZF-TGe(clJJw-go(n8t at F<XJ^nMYS1D4
zxdtup=l)+2?vj7BmqzNl at aO(NGDh}C?>l)0I-{(r!QHB at boatigMa02N&tsYgX?h5
zll`Sy{M!4a at OMT3*<bE|m$&Q>cLH-zha9d0&dW<c6wcc}#q~)P+|%LC{$2AA{{m2k
zb>D-#)O&dbc=p+yqwwe6Upe(6RWR`9`7cMTK at D1E_qat=nYmG2jQN-QuWydfvi~J;
zmFocic6i@<nxy%H;TgC%h4L6tgA;K6QuKdm$V%#EH2;L}-hSsV%|)`GX at HOCAh0RP
zm#$O>TQl+Co8%BWZA4DYO3Ig6FpTa at v811ks1A0bVt_f;G~#$yeDEE+>Ybxi^`Ls)
zAgaZAV;h5G9 at 8?dH?>Fj(N%m_#sPenqJ9!Lfu6Q+r>FV@>f4<M>E=)S>2^mX-G1^d
zHDR8P>nms-2*q}I{c<{!HbI%+zDBu^xf7{72sQxU_~kUfGr;E=ILe>>zxRi`cyE{z
zws#Dop78br8 at L8=&oS~p4fh1$&oKe+$-nV$6#m7iK{1@!yMAFGYG#DD?B53W8uk|c
z<?Ifgz`qgxg`LrK;io9N(D6MLJ=sgQ;hY2aa8ZMW?94Slj6ggN?*!rhy70GTf1Y<d
z`244<2K);=e)Si}h{^u`(jO3e!kw`f{7v|~AX)>Ly)#|MfyE5!uo%w1 at ZSy6LGfyw
zKkryVwV)o`-2WEtJJ$i*9q|8Iz;p03_n-R?ZZMrk(0|mR12uSp8o<9&%z)hg3b<bc
z$GHx0X8)z^uA8u^>$A_;+j#qr{3Ut(<K*E%o}Rm~)tlfiMRrC336U`WH1gqb1%3aa
z1Zwa+KI?r^gWVvV*}q;@A}ByChzO)oa0fJi7C1}Zavjk32eLcYp)-zd|8$g!I%44e
z1LeRym1p4m9!do{nEeV+8$Xtq3gOSQ-;->|O8$S;d$|UXGXD+IxuU11r+m)%r_sm9
z$7p`^*j6jT-X=eAjM=`OiVhr5=YkaGaH#cl=KLzEVltLcHE2FI-9XD1^q}oqYIqz?
zH#<+$&Gxh|a`btWTAMK_8N_ErSuts-cRqvfq3$!`bLmt{sMBAD4V%UdlV)9xva at j{
zT50a%<7r$2`0D at E8LwyjcO!o?g){s2OIxGc2_%0}gYV$K3+`8h{}uROzrJ2o%rtyu
zCvks2H9R~<cREt&<}cZF6VAn;klibAeZ6xjRfBv%J=|{ru7d>JSEB~fb+71q*ZbYr
zTi#}W16^}q<n~|H!PIyL*xyArLIHO__Q&_>N8z6iQW&^rGNrq$Vi`D{1I2B}6z9NK
zZKvqW<1|X|yi8g8GAa=LFGkGa=Z&_pX&z)@(TsZ*^@!Ezc|Ja8{sq2gempsO_L5QD
zaYOHA&;Jzhv_I&7xBeQ{;}3t|&7bF=5j6<HeT1VR7j;MnxwA&m6_B~#pV<G~hJ$nj
zu=^2xvUc^uOLV5Ah_ZgEqI7*TC{ZU0;^3dd?#AHzXYP9t+?l^~@Bc at Ctd|r%K|WH%
zw!zmiLU>zZzK!|)=LPmLeh=VB+~f+{gzvDOEy`CoECK1eJ*bk=DV2F at TthRwof1r$
z<>5G=H?SYawjV$VKHm%!>I(FQy0hRQ$MIy|!g!Nb!kMTB{39yJ#{uB-olF*QU)y!9
z^Cx|mJ`1(l2xE7y!EgF)?9SWWT)X{@@0WOg)2$2mHXoUC4ScX6Y7oVBko^($pwWp;
zG6j`h8i&e at 8z=$(%q0fS1tkZlYLSbsfsy?Y%XnM(FVdIlN%n{H|KyJ)%DwOM$1zc=
zLqr5AfT at TI{9c0n06$D!U5|IG1OJZU`#0kk^ycSKR8|nP1jmOw_LlwOJOI27xDM?9
z1E1T#o#!9{?vnplq6TnZ_?Lx{_hQVzS@<Vxofc~bh-<*^|BXM-1s*2cf33UL0Jh07
zLJ3qdBVA`&7~@DW7RJEcf(W1g0xyTT3I?+;&4TQ%=X+eJMdS>n3ho2J4v;7JpZ)P(
z*bn!&jr>dC&)$-|k-t3uk?=R;zOy^FyZq%ku;(Aa?f_r+;43z*;{fm>*c>)ix;Gb>
zGL>Ww<j<o+AWr7+REqboHVN?^>hKbxiOp!0<*;ea{urYuaE>f2QY5HX3iWVF!S{@5
zU at w`EmoTvoe%E1WxCRk8asH#67x!R}rY+JPEnlID0|!Lp`{{A`9;6)k`QGxO+!dO5
zUIT+Q%<u{FB&>lZPF&3Rcjf2Yyaq#lUW2p_<cwsn24{z%UVIO<E4Rp>0{=W2<gP*P
zrh8j7O&pQGS|F`q$&OhgIX}ORKL7k6ZsA$H$!k#c8 at V5ZAn!kn*MQu)Al|SBuXi~=
z{EJYBW(N0&Zp+|4S*yrhgZ$;Z2F?v{39bS1Z$}L*`}ZHi(8jPZ8Zlvl8|Sujn=(i1
z9Ws!?8us!!M1FY<@yJ!>pwTpd7HpSHe~a>#%%W7p+h2Wd*M$3e)eP=)wSy;d{`l_F
zpOWi7(S{Wuo{y#TrCC<*f#KM8o*Mdw)zG;PRva12{$t)3cp!Q>I=Y9VSUECq%;vnj
z2E+#B&RdWFV*z*#O~}dli@{CMTDNP^ot$8+(u?oXowE6g()~NB0J)bK<$qqzZ83^C
zzm(VAJJ1>6YYxo3qkE5lfS~cb7Ua*so1qFcfEJuQHTk at 3l{c(6-3IN!_zo1biggqs
z_nolUNXpM^*f(ob!6wfE!xuQ4zc*P$!<P&qKd>w%*m@)IOHS5$0Oy&DzaU0_=yB19
zHIT^v5V at HvBL8iyp-Ijk?w~0I^`Mn=qXzroo(yu3y8wA5u!e$gUrI#YD8Mlhxxe82
z;C;aL?*XLTyq1k)3IBJ5^q?A?b0c*{*ld!y>xbj6Oh};i?4xyqHk1ZfWi$H+Q|WRy
z$^dndGjyG}2UHj1P4@)XOTsAO$Mve{q9ru0=6K(k%&=j6x1UT9O?K^yGKpKHTfu7p
z)f|yKEp5B5g2DE0^Otbm^W&+MLH-8hZoz%rI>7l`@VUWx?|}@?pE{k+^BRyl?9>Jt
z$N4$8d|Y%H;led|iPr&kBQNKd;I+u^9N}NGezK|o=U5HX2hx28-et&}Ec<hQP^C}P
z9R?fVZk+%BaBbBiG&EGopPQSD(?wK6z-yV|GD3~K1F;4#MD?M~LtaAO at nH4*adh^p
zId-KCuLE%YPT^jMb(D$x8Hmhb<iCy at T!(wu>bJ-S`As;l>~CwUHdiVMj4<bItft#J
z&`=GT;bX#Vs)v)^djH8s_N=0Ugk4rA0mlM-W>+!Dbq`dvr|E8h?94EdIJtgs(Y_`9
ziV#0Sq|KW*cje|a*xJ4=@*CFhpYroMkl!EqPcrNM4eLP8vmlbA{+eqx=dOsMY at 8po
zfx2ze6)~5-dUZQ;YY at BTmh&6e;J5klf3Z*xmD$S!JZaLXS!Qczy3Pj$xCUXK`Z;Q|
z;h!zmA?0UxIseN82E+u<o2LQ9$aUw)wJ`W|?cbL0oixde@%HvLv#}Y(dChv8J4=ZC
zbQ%LN<wcs$Ye4>0fNQXd*MQtra&E*}<Q$n49ZmWN4 at ine=LF-%jg!vS+#R(a<2~>#
z=KnZ@?_U#{_}O%1rK9$P5i=$@soiWBf|CqBLsCH)K0kv&PkeuI9Q)@B%CK+!o$b1M
z>|YKpVE<Qu1$YPhZ^k~e#A`^egZyQnLEazxmh=92opNxYaJw!X$gg36{a*(I at fx!b
z!{q(th&6L=<|_8TdSEv3x;G<k=GO`h^>{rx+L!kyY}1+v$~aqFx66o^!)Dty;d8j-
zvsb9>%%}Ee;Z}zK+f|#nk=g;rwAfY7d$M+U&cwAZ?cTi`J#<rJ-#4-ECk*!80i=Bq
zJ9s}_zty(K>8^oj?4JOn{do at Xf7!Z${Dl2{IX}bKeq!GotfgG+?^0e~F3l72^BTI~
z{Tb}*i+C3MBywJ?qg?F&dM*9~C+Ft%ugB0MUo>1VVV_Hg(W6EU8a8lXpWT8 at sBJBt
zQ;WYdm*&iQXA_tVhVgUp_r<&)p2Pdse!r}LIY<VZuI-&j_`A6bKTrIPpEFsH8y at yp
wL!h5~A-;PrL=155P0R#rf62d#+7&bu$07RUwP*JH?f?H0#0RR+eC<R24VE3BNdN!<

literal 0
HcmV?d00001

diff --git a/tests/spec/gles-3.0/waffles-decompressed-etc2-srgb8-pt-alpha1-64x32-miptree.ktx b/tests/spec/gles-3.0/waffles-decompressed-etc2-srgb8-pt-alpha1-64x32-miptree.ktx
new file mode 100644
index 0000000000000000000000000000000000000000..682cee7eac87b5ae162c42ed59a56c18ab8501d6
GIT binary patch
literal 11016
zcmdU#e{5Cd8OL7`t{1PwUZ&o%LDFJafUU_2nx$+uu2vJfL^lL~P&Yf6br~d+V1!Lg
z3?ma~?fyVBaJcSA*@DXKAJ#trO)#;`P at 9Y_<qx4|A+i1=-694Una{qTbMABRdoL}t
zz=EFSoA*8E+;iUN^Ssad>%8}+Z!f>6uCa0N%qzZl#gwU+O`CFc2vb4`+1Vl7+?A#`
z>AX(zgZr2JNu6iTOy}i;q0S{`4Ri$C+gT~D#X7h)m}~EfV7<-3mgqfamQZyiTVuf$
zvPnK$Q)|<wUz2L)Tnm?d!7`bGh1{Gm)L at xHlZD!rvZ{(W+i6n>hMc>vJs67Fod2j8
zT}L(qiv>I9?gRK;6Y>K_;)kLSoF8`8T*@7CWAGP!66Tlr at x|<AmaSiTR{u9l3$}V;
zD(6nv*X0uanD3a_T&FhW?09z}k^jc|Kh!;RaBZQ)j~}{Pf<4+efp|##P at mMjvMGDw
z1F^#|jTsBsdc}@Zv(U1&jZ#a6cx`;Z{$TTbd*;qXiJX4`cFDO&VTIZGi2<$?7oGD`
z5%XMwofQ69FWi|=e6Vxb1braRBnA}!)1^#dL87D$j1>nFf8vMB%RUIohnl4ovGAho
zjdeurJJuojz_nlP;q3=%?4?`Ml>ECJ<-hBKJ$ZAQ|8T3AAJ52l@{6=rK0xpNx-QY%
zPwM#xgFT|(lg4#1ZoYP*>U6ejuUB2Fjb}NRYQ&Qqv=`lneayb0*f#R5<+f2QY)k98
z`Qh$p&Lx7~b<3<u_K&vJ*zul>#XfL;PvLjL|JM2m`XFH^rkhe9l-NVa&t7a<#rrw=
z at eTDaW$W4!-&ON3UtD9?iwm_XrrQ=&>H*zHu#<Yd!|wd}01*ey{hPakp}Q0-i2BD5
z6Xy5epie6v&fw=sdbaxKp0^LB_$}tY|4S)%HNV$AY0U2NPa8nh{KNtLaMSlAXZJQR
z@?73f1;e>cs at ib;^GreYnrj}v9Yp;2qPs0vb3 at J+6hfkgTrkw!pn7l0So^Y&=z;sD
zCTXYo3)eehJGQ-22iL0JB_B7pEw8bS*N2k&e;n*kS3VK>(MN-gOtcNepw;>D#yGW`
zr0<~rKvnVK?4DNh|KOfr2!7=3q+{`y+JDgp!- at -hK>DfL2xbq68Fo_m(TSgH&T~G;
zc-+<R8i(KOAAZzS$RzUm at 6>qUdg!6)6XK73;M}m2A6i+d4_0LjRhv7h^BRo_lQ<Yd
zJq~(1Qts;b#}D{mrR;?t_QxK}m-xSYO)#`VZTc_wmfL{$eV)SY?6iZoZc8<?CZGC3
z?Q2LHRymVExM)B9?GI<!&u$9#&8bQGvSFHC7N%P!WNe1!o3o|_TU at U;tg#9`b(i``
z&Bt6F%Db5F*xpJVQU8Fv59n)B+~1M2qwShQOYvOeqCrjKMb58B at W0qIV!vGMS-UdK
zNci0c_`$hJm)F#k*gJ}T*fdA$hPFb<53tkzU9cnkfSlh=p0D>HKPTOCL$KG^1bbOA
zvhCJX{i`+4dO~ZW3q0We&b40mLF`$v&k*|+c9rIru)E-g*?mBMgKTwm7YYWy`v5<9
zy?Y#-(tHxd_20grU=4Z?a{e2yR at -aL8tlxK2i5ixiF>f9USdi43vod;{|s?oDekMn
zl{PEPEV1K*ZJMv_dL;D$?9LCj3-;|x%A($3$41haoqWs=e at kuF?!RHaZMZ!Z>~H>L
zZo*CsI6Eot99n;2edoc)3zk>8W#yGGt6@&g3K`Xn(t)ix>({!bN9&$-I!8Tv7WL=S
z{BmNXsD0`$Ml`lzr#-XShF528SpA3Vsp~Yi(7XLz<TvWtyL#>;`I at vxb?oX_yE&{i
zN37AuG=55yaXtt9y?2by4?F66JeBj~1Jo>T*8*W)uQ)-l9~J{P4QZ at T*v0>;;s<`%
z5$v%Kwy};X^5cV}-SVxt-3R-${y^>n=RdLe{Ntd~2j#ja4xF93#|QAc53n6(<UVkI
zQut45t{3y~5}&hs{lo8ae)qwtUiBA}`vLah=TqT>5w(d}_}ls??+bi at n3wyyl=TVB
zu)Ca}6q{pqd_e5OP8##SsyIgQQ~&M<=k8N14d|U7|JD5XfH;8t(><C~Nbn!HJtT4;
zjPBH2a`*YQhu2r9{V9FQ at aAA2bY*Q&^U^moKOcCus2xhBood%Bz7lMy+})xvW2Ll8
z->o)i&4_+^tL*wkopp<Alh#dWt=5tc-I%IX^Con!=1|*Ll;;csnveCh at vTMI#C%#j
z|M`RZ&7NQ<Rqly?T_4EXNohp+57!0T-=_7Z)|zNkcH6U)uYckuK42eGzrq|H{x`bH
z{QXa-{P+NNv`l`$2QfcBaBkR<b9)-IGk1c$f`6Cz|0MoDivM?&{MZXKKJXO&6S6gC
zxmfwc2daZ}z0d2P6n<jBMg2QFdH7>d|J1wd^vmLx4^GJkC*=d`AI0_Wb&ns0)gPS8
zzW?`q>fP0=HXUnwr+8yk at q65t`1{1K_I&C^G5@*DKh&#rgGB73etla-?_Q#HM72+M
zs~&c$Kj~IG?p1xd_HNNPky!FYyr(ewt6(3~&Q<59UsGJ~FU#Hu_Wo;&61};7rXinK
zc5AMQ7;CC+xfJL9>O=7X{IL%z*ztq-kE(BT{abzAC$Ff!_XYd!-_)0h*#+y<t19LE
zo-*EE3f{5G9DFpJ?4h_15<jSo_DTnPG~P<ieX3vMy!7#_s(aP>=|OS7SFU^F0LJy|
z9~WtSby4TePCAwym-3qLBlx~TXRE#^NbZA}A3Hz!tLpwAs{4P6|Cn at 0ePL1XIk%@B
zb3S{_)&A!D-hle09baQEow1z8N<@C2z6l-HHxie<IoA>m=FQMSt)(Na)EuKt&o0$i
ziyD=0$$xfYzM9?7|FwBh;sfU=MN2ftj&(qN!U%J?*HgiMNd5d;t&!2PWUi65wrs8D
z9W at ERm+^T>8S9;$)NOVjz|S at KKhW3@J8D)vBlw8{ev|U2dCosihx@>}Nofl(5dSg1
zvy&409{=!PFmty2hI#pU_Po|t?9J at c8pXw0B-Ts1*E;XaHkXlYC at 3~7rG2~7er)3z
zHhZ~yw4OnSwMLG`cg5}MGqHjE+q#bpsBC?llV98hd=&3_uuoRp1M??f_OiWvXD9Wt
z{hI{kyT-La`;*CDrS|DcdvmcJ%CrB34U~`Y1M)pG-z$QfvR#yo{}JU6ca80bq<n`Y
z^*zEWJ1D1K-?I?;Ro^XZ%Z9nhz7~61zR%V7eXUWXk%#m4ccr6iCb!;VUp}rA;>~UF
z@*iG3!_e(oBlzB$?=g-%x5y4`oM~_A+t_<Qnr`p6kIf&WkC(?5%Gdv5N~*gm*xk3z
zv>U$~jQmE;H;~&w*;~J*@AxVo4YZ8SKQO_y$XMl5w%b72+w?ubMcMcOc0~F2$$nSA
zY&xX68PpsU8wNH0j>pgSO<FhPHHNxc=?4^ZdlYk|9r~_;=y$es<}2DJ`@ie7Pl9^d
z3(0=qi)yQ`LtAC*1in#XgUieI^1aWC%lG!_<+G2AlKn`nl_=MBKy3sY?1eM?tZKjX
z>Hiv(>%tbwbsxY_nf&L$<=mbgQ~AjDYwjXZHX0qLomSg$wsS8Ze(XS$TVmH7(aZM~
zel)D_6=!?*MDDSs*`auPLwnY{H-|*-XHs~N7d4>sMEcz>`EerepU7`07aQCTFW3D|
z`A6jcR*k8MvXB1$!uLvI+q$&2ou{}!E7T9W51b!vFaI0*P5kV|%u_z^!v<2ykITje
zuAlXon%;d%W6&;*zliVGuK3wp!yH5O-$_4SyvZ{>@AB{8<Gmw!tT+zwo+Yv$`SW}`
zMgBbhqloQ@^R at LYrRV)U8}u%JmXznQ+y9ReKTm$m(!AYP8*H=wpM at BQ>5u3SNcn%)
zz^1Z>&(WuOU*;*#vVJ?>r}iNYO>k_Wd=x*M*rGO2%`o0MEIdQG*g?Mfw@>IoT>s>Y
zzp<}ho95lO9wXK7;5?3lXSLsfUg`dxzpL~J at AvzDu}+!wO~IaP*MBymgKN7ro^grk
Q>iXh%J5BkYF0Zry0cKH)#sB~S

literal 0
HcmV?d00001

-- 
1.7.7.6



More information about the Piglit mailing list