[Piglit] [PATCH v3 1/1] Tests for compressed cubemaps
Eleni Maria Stea
estea at igalia.com
Fri Jan 18 10:12:15 UTC 2019
The compressed-cubemap.c tests the rendering of compressed cubemaps.
The compressed-cubemap-teximage.c tests that compressed cubemaps created
using dumped compressed 2D faces have the same values with compressed
cubemaps that have been generated using TexImage.
v2: added the file to opengl.py (Dylan Baker)
added the cubemap-compressed-data.h (Iago Toral)
v3: added license in file cubemap-compressed-data.h
---
tests/opengl.py | 2 +
tests/texturing/CMakeLists.gl.txt | 2 +
tests/texturing/compressed-cubemap-teximage.c | 372 ++++++
tests/texturing/compressed-cubemap.c | 477 +++++++
tests/texturing/cubemap-compressed-data.h | 1171 +++++++++++++++++
5 files changed, 2024 insertions(+)
create mode 100644 tests/texturing/compressed-cubemap-teximage.c
create mode 100644 tests/texturing/compressed-cubemap.c
create mode 100644 tests/texturing/cubemap-compressed-data.h
diff --git a/tests/opengl.py b/tests/opengl.py
index 2771cb2eb..0c5c22588 100644
--- a/tests/opengl.py
+++ b/tests/opengl.py
@@ -3130,6 +3130,8 @@ with profile.test_list.group_manager(
PiglitGLTest,
grouptools.join('spec', 'arb_texture_cube_map')) as g:
g(['arb_texture_cube_map-unusual-order'], run_concurrent=False)
+ g(['compressed-cubemap'])
+ g(['compressed-cubemap-teximage'])
g(['cubemap'], run_concurrent=False)
g(['cubemap-getteximage-pbo'])
g(['cubemap-mismatch'], run_concurrent=False)
diff --git a/tests/texturing/CMakeLists.gl.txt b/tests/texturing/CMakeLists.gl.txt
index e5d41e432..526e68452 100644
--- a/tests/texturing/CMakeLists.gl.txt
+++ b/tests/texturing/CMakeLists.gl.txt
@@ -15,6 +15,8 @@ piglit_add_executable (array-texture array-texture.c)
piglit_add_executable (bptc-modes bptc-modes.c)
piglit_add_executable (bptc-float-modes bptc-float-modes.c)
piglit_add_executable (compressedteximage compressedteximage.c)
+piglit_add_executable (compressed-cubemap compressed-cubemap.c)
+piglit_add_executable (compressed-cubemap-teximage compressed-cubemap-teximage.c)
piglit_add_executable (copytexsubimage copytexsubimage.c)
piglit_add_executable (copyteximage copyteximage.c)
piglit_add_executable (copyteximage-border copyteximage-border.c)
diff --git a/tests/texturing/compressed-cubemap-teximage.c b/tests/texturing/compressed-cubemap-teximage.c
new file mode 100644
index 000000000..d0cef5c07
--- /dev/null
+++ b/tests/texturing/compressed-cubemap-teximage.c
@@ -0,0 +1,372 @@
+/*
+ * Copyright © 2018 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.
+ *
+ * Authors: Eleni Maria Stea <estea at igalia.com>
+ *
+ */
+
+/** @file compressed-cubemap-teximage.c
+ * Tests that creating cubemaps with TexImage2D gives the same results
+ * with creating compressed cubemaps from dumped compressed data.
+ */
+
+#include "cubemap-compressed-data.h"
+#include "piglit-util-gl.h"
+
+#define CUBESZ 8
+
+static int win_width = 800;
+static int win_height = 600;
+
+static const char *vsdr_src =
+ "attribute vec4 vertex;\n"
+ "attribute vec3 texcoord;\n"
+ "uniform vec2 rot;\n"
+ "varying vec3 tc;\n"
+ "void main()\n"
+ "{\n"
+ " gl_Position = vertex;\n"
+ " tc.x = vertex.x * cos(rot.y) + sin(rot.y);\n"
+ " tc.y = vertex.x * sin(rot.x) * sin(rot.y) + vertex.y * cos(rot.x) - sin(rot.x) * cos(rot.y);\n"
+ " tc.z = vertex.x * cos(rot.x) * sin(rot.y) - vertex.y * sin(rot.x) - cos(rot.x) * cos(rot.y);\n"
+ "}\n";
+
+static const char *fsdr_src =
+ "uniform samplerCube tex;\n"
+ "varying vec3 tc;\n"
+ "void main()\n"
+ "{\n"
+ " vec4 texel = textureCube(tex, tc);\n"
+ " gl_FragColor = vec4(texel.xyz, 1.0);\n" "}\n";
+
+static int piglit_error;
+static unsigned int vbo, vao;
+static unsigned int sdrprog;
+static int uloc_rot;
+static const float tolerance[4] = { 0.1, 0.1, 0.1, 0.1 };
+
+struct
+{
+ unsigned int fmt;
+ const char *name;
+ unsigned int tex;
+ unsigned int ctex;
+ unsigned int num_channels;
+ unsigned char *data;
+ unsigned int data_size;
+} formats[] = {
+ {0x08e8c, "GL_COMPRESSED_RGBA_BPTC_UNORM", 0, 0, 4, bptc_rgba_unorm,
+ sizeof bptc_rgba_unorm},
+ {0x08e8d, "GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM", 0, 0, 3,
+ bptc_srgba_unorm, sizeof bptc_srgba_unorm},
+ {0x08e8e, "GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT", 0, 0, 3,
+ bptc_rgb_signed_float, sizeof bptc_rgb_signed_float},
+ {0x08e8f, "GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT", 0, 0, 3,
+ bptc_rgb_unsigned_float,sizeof bptc_rgb_unsigned_float},
+ {0x083f1, "GL_COMPRESSED_RGBA_S3TC_DXT1_EXT", 0, 0, 4,
+ dxt1_rgba, sizeof dxt1_rgba},
+ {0x08c4c, "GL_COMPRESSED_SRGB_S3TC_DXT1_EXT", 0, 0, 3,
+ dxt1_srgb, sizeof dxt1_srgb},
+ {0x08c4d, "GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT", 0, 0, 4,
+ dxt1_srgba, sizeof dxt1_srgba},
+ {0x08c4e, "GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT", 0, 0, 4,
+ dxt3_srgba, sizeof dxt3_srgba},
+ {0x08c4f, "GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT", 0, 0, 4,
+ dxt5_srgba, sizeof dxt5_srgba},
+ {0, 0, 0, 0, 0, 0, 0}
+};
+
+PIGLIT_GL_TEST_CONFIG_BEGIN config.supports_gl_compat_version = 32;
+
+ config.window_width = win_width;
+ config.window_height = win_height;
+ config.window_visual = PIGLIT_GL_VISUAL_DOUBLE | PIGLIT_GL_VISUAL_RGB;
+ config.khr_no_error_support = PIGLIT_NO_ERRORS;
+
+PIGLIT_GL_TEST_CONFIG_END
+
+static void
+cleanup()
+{
+ int i;
+ glDeleteProgram(sdrprog);
+ glDeleteBuffers(1, &vbo);
+ glDeleteVertexArrays(1, &vao);
+
+ for (i = 0; formats[i].fmt; i++) {
+ if (formats[i].tex) {
+ formats[i].tex = 0;
+ glDeleteTextures(1, &formats[i].tex);
+ }
+ if (formats[i].ctex) {
+ formats[i].ctex = 0;
+ glDeleteTextures(1, &formats[i].ctex);
+ }
+ }
+}
+
+static bool
+create_cubemaps()
+{
+ int i, j;
+ for (i = 0; formats[i].fmt; i++) {
+ int supported;
+ int face_sz;
+ int dumped_face_sz;
+ unsigned int face;
+ int err;
+
+ glBindTexture(GL_TEXTURE_CUBE_MAP, 0);
+ glGetInternalformativ(GL_TEXTURE_CUBE_MAP, formats[i].fmt,
+ GL_INTERNALFORMAT_SUPPORTED,
+ sizeof supported, &supported);
+
+ if (!supported) {
+ printf("Skipping: %s, not supported.\n",
+ formats[i].name);
+ continue;
+ }
+
+ dumped_face_sz = formats[i].data_size / 6;
+ face_sz = sizeof pixels / 6;
+
+ printf("Creating texture for format: %s\n", formats[i].name);
+ glGenTextures(1, &formats[i].tex);
+ glBindTexture(GL_TEXTURE_CUBE_MAP, formats[i].tex);
+ glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_FILTER,
+ GL_LINEAR);
+ glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER,
+ GL_LINEAR);
+ glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_S,
+ GL_CLAMP_TO_EDGE);
+ glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_T,
+ GL_CLAMP_TO_EDGE);
+
+ for (j = 0; j < 6; j++) {
+ face = GL_TEXTURE_CUBE_MAP_POSITIVE_X + j;
+ glCompressedTexImage2D(face, 0, formats[i].fmt,
+ CUBESZ, CUBESZ, 0,
+ dumped_face_sz,
+ formats[i].data +
+ dumped_face_sz * j);
+ if ((err = glGetError()) != GL_NO_ERROR) {
+ formats[i].tex = 0;
+ glDeleteTextures(1, &formats[i].tex);
+ fprintf(stderr,
+ "OpenGL error: %d for format: %s\n",
+ err, formats[i].name);
+ return false;
+ }
+ }
+
+ printf("Creating compressed texture for format: %s\n",
+ formats[i].name);
+ glGenTextures(1, &formats[i].ctex);
+ glBindTexture(GL_TEXTURE_CUBE_MAP, formats[i].ctex);
+ glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_FILTER,
+ GL_LINEAR);
+ glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER,
+ GL_LINEAR);
+ glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_S,
+ GL_CLAMP_TO_EDGE);
+ glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_T,
+ GL_CLAMP_TO_EDGE);
+
+ for (j = 0; j < 6; j++) {
+ int is_compressed = 0;
+
+ face = GL_TEXTURE_CUBE_MAP_POSITIVE_X + j;
+
+ /* compressing ctex */
+ glTexImage2D(GL_TEXTURE_2D, 0, formats[i].fmt, CUBESZ,
+ CUBESZ, 0, GL_RGBA, GL_UNSIGNED_BYTE,
+ pixels + face_sz * j);
+ glGetTexLevelParameteriv(GL_TEXTURE_2D, 0,
+ GL_TEXTURE_COMPRESSED,
+ &is_compressed);
+ if (!is_compressed || glGetError() != GL_NO_ERROR) {
+ fprintf(stderr,
+ "Failed to compress format: %s\n",
+ formats[i].name);
+ formats[i].ctex = 0;
+ glDeleteTextures(1, &formats[i].ctex);
+
+ formats[i].tex = 0;
+ glDeleteTextures(1, &formats[i].tex);
+ return false;
+ }
+ }
+ }
+ glBindTexture(GL_TEXTURE_CUBE_MAP, 0);
+ return true;
+}
+
+void
+piglit_init(int argc, char **argv)
+{
+ /* quad vertices (vec2) */
+ static const float varr[] =
+ { -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1 };
+ unsigned int vsdr, fsdr;
+ int status;
+
+ piglit_require_extension("GL_ARB_texture_cube_map");
+
+ if (!create_cubemaps())
+ piglit_error = 1;
+
+ /* create vbo/vao */
+ glGenBuffers(1, &vbo);
+ glBindBuffer(GL_ARRAY_BUFFER, vbo);
+ glBufferData(GL_ARRAY_BUFFER, sizeof varr, varr, GL_STATIC_DRAW);
+
+ glGenVertexArrays(1, &vao);
+ glBindVertexArray(vao);
+ glEnableVertexAttribArray(0);
+ glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 0, 0);
+ glBindBuffer(GL_ARRAY_BUFFER, 0);
+ glBindVertexArray(0);
+
+ /* create shader */
+ vsdr = glCreateShader(GL_VERTEX_SHADER);
+ glShaderSource(vsdr, 1, &vsdr_src, 0);
+ glCompileShader(vsdr);
+ glGetShaderiv(vsdr, GL_COMPILE_STATUS, &status);
+ if (!status) {
+ fprintf(stderr, "Failed to compile vertex shader.\n");
+ piglit_error = 1;
+ return;
+ }
+ fsdr = glCreateShader(GL_FRAGMENT_SHADER);
+ glShaderSource(fsdr, 1, &fsdr_src, 0);
+ glCompileShader(fsdr);
+ glGetShaderiv(fsdr, GL_COMPILE_STATUS, &status);
+ if (!status) {
+ fprintf(stderr, "Failed to compile fragment shader.\n");
+ piglit_error = 1;
+ return;
+ }
+ sdrprog = glCreateProgram();
+ glAttachShader(sdrprog, vsdr);
+ glAttachShader(sdrprog, fsdr);
+ glBindAttribLocation(sdrprog, 0, "vpos");
+ glLinkProgram(sdrprog);
+ glGetProgramiv(sdrprog, GL_LINK_STATUS, &status);
+ if (!status) {
+ fprintf(stderr, "Failed to link program.\n");
+ piglit_error = 1;
+ return;
+ }
+ glUseProgram(sdrprog);
+ if ((uloc_rot = glGetUniformLocation(sdrprog, "rot")) == -1) {
+ fprintf(stderr, "failed to find uniform \"rot\"\n");
+ piglit_error = 1;
+ return;
+ }
+
+ atexit(cleanup);
+}
+
+
+enum piglit_result
+piglit_display(void)
+{
+ int i, j;
+ GLboolean pass = GL_TRUE;
+
+ /* rotation angles needed to make a pattern with
+ * 3 X/Y/Z columns and 2 positive/negative rows */
+ static const float theta_deg[] = { -90, 180, 0, 90, 180, 180 };
+ static const float phi_deg[] = { 0, -90, 0, 0, 90, 0 };
+
+ if (piglit_error)
+ return PIGLIT_FAIL;
+
+ glBindVertexArray(vao);
+
+ for (i = 0; formats[i].fmt; i++) {
+ if (formats[i].tex) {
+ GLfloat probe[4];
+ GLfloat probe_cmp[4];
+
+ for (j = 0; j < 6; j++) {
+ float theta = theta_deg[j] / 180.0 * M_PI;
+ float phi = phi_deg[j] / 180.0 * M_PI;
+ int x = (j % 3) * win_width / 3;
+ int y = (j / 3) * win_height / 2;
+
+ glUniform2f(uloc_rot, phi, theta); /* set rotation angles */
+
+ int vp_x = x + 2;
+ int vp_y = y + 2;
+ int vp_w = win_width / 3 - 4;
+ int vp_h = win_height / 2 - 4;
+
+ glViewport(vp_x, vp_y, vp_w, vp_h);
+
+ x += win_width / 6;
+ y += win_height / 4;
+
+ /* probing tex color values */
+ glBindTexture(GL_TEXTURE_CUBE_MAP,
+ formats[i].tex);
+ glDrawArrays(GL_TRIANGLES, 0, 6);
+ glReadPixels(x, y, 1, 1, GL_RGBA, GL_FLOAT,
+ &probe);
+
+ /* probing natively compressed ctex color values */
+ glBindTexture(GL_TEXTURE_CUBE_MAP,
+ formats[i].ctex);
+ glDrawArrays(GL_TRIANGLES, 0, 6);
+ glReadPixels(x, y, 1, 1, GL_RGBA, GL_FLOAT,
+ &probe_cmp);
+
+ pass = pass
+ && piglit_compare_pixels(x, y,
+ probe_cmp,
+ probe,
+ tolerance,
+ formats[i].
+ num_channels);
+ if (!pass) {
+ fprintf(stderr,
+ "Natively compressed and dumped cubefaces");
+ fprintf(stderr,
+ "colors do not match for format: %s\n",
+ formats[i].name);
+ return PIGLIT_FAIL;
+ }
+ }
+
+ glBindTexture(GL_TEXTURE_CUBE_MAP, 0);
+ }
+ }
+
+ glBindVertexArray(0);
+
+ if (glGetError() != GL_NO_ERROR)
+ return PIGLIT_FAIL;
+
+ piglit_swap_buffers();
+
+ return PIGLIT_PASS;
+}
diff --git a/tests/texturing/compressed-cubemap.c b/tests/texturing/compressed-cubemap.c
new file mode 100644
index 000000000..2aa9fcc4b
--- /dev/null
+++ b/tests/texturing/compressed-cubemap.c
@@ -0,0 +1,477 @@
+/*
+ * Copyright © 2018 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.
+ *
+ * Authors:
+ * Eleni Maria Stea <estea at igalia.com>
+ *
+ */
+
+/** @file compressed-cubemap.c
+ * Tests that the rendering of compressed cubemaps is working.
+ */
+
+#include "piglit-util-gl.h"
+#include "cubemap-compressed-data.h"
+
+#define CUBESZ 8
+
+static int win_width = 800;
+static int win_height = 600;
+
+static const char *vsdr_src =
+ "attribute vec4 vertex;\n"
+ "attribute vec3 texcoord;\n"
+ "uniform vec2 rot;\n"
+ "varying vec3 tc;\n"
+ "void main()\n"
+ "{\n"
+ " gl_Position = vertex;\n"
+ " tc.x = vertex.x * cos(rot.y) + sin(rot.y);\n"
+ " tc.y = vertex.x * sin(rot.x) * sin(rot.y) + vertex.y * cos(rot.x) - sin(rot.x) * cos(rot.y);\n"
+ " tc.z = vertex.x * cos(rot.x) * sin(rot.y) - vertex.y * sin(rot.x) - cos(rot.x) * cos(rot.y);\n"
+ "}\n";
+
+static const char *fsdr_src =
+ "uniform samplerCube tex;\n"
+ "varying vec3 tc;\n"
+ "void main()\n"
+ "{\n"
+ " vec4 texel = textureCube(tex, tc);\n"
+ " gl_FragColor = vec4(texel.xyz, 1.0);\n" "}\n";
+
+/* faces colors, used for comparison */
+static float colors[][4] = {
+ {0.0, 0.0, 1.0, 1.0}, {1.0, 0.0, 1.0, 1.0},
+ {1.0, 1.0, 0.0, 1.0}, {1.0, 0.0, 0.0, 1.0},
+ {0.0, 1.0, 0.0, 1.0}, {0.0, 1.0, 1.0, 1.0}
+};
+
+static int piglit_error;
+static unsigned int vbo, vao;
+static unsigned int sdrprog;
+static int uloc_rot;
+static const float tolerance[4] = { 0.1, 0.1, 0.1, 0.1 };
+
+struct
+{
+ unsigned int fmt;
+ const char *name;
+ unsigned int tex;
+ unsigned int num_channels;
+ unsigned char *data;
+ unsigned int data_size;
+} formats[] = {
+ /* Supported compressed formats, that we can't compress natively */
+ {0x09270, "GL_COMPRESSED_R11_EAC", 0, 1, eac_r11,sizeof eac_r11},
+ {0x09271, "GL_COMPRESSED_SIGNED_R11_EAC", 0, 1, eac_sr11,
+ sizeof eac_sr11},
+ {0x09272, "GL_COMPRESSED_RG11_EAC", 0, 2, eac_rg11,sizeof eac_rg11},
+ {0x09273, "GL_COMPRESSED_SIGNED_RG11_EAC", 0, 2, eac_srg11,
+ sizeof eac_srg11},
+ {0x083f0, "GL_COMPRESSED_RGB_S3TC_DXT1_EXT", 0, 3, dxt1_rgb,
+ sizeof dxt1_rgb},
+ {0x083f2, "GL_COMPRESSED_RGBA_S3TC_DXT3_EXT", 0, 4, dxt3_rgba,
+ sizeof dxt3_rgba},
+ {0x083f3, "GL_COMPRESSED_RGBA_S3TC_DXT5_EXT", 0, 4, dxt5_rgba,
+ sizeof dxt5_rgba},
+ {0x09274, "GL_COMPRESSED_RGB8_ETC2", 0, 3, etc2_rgb,sizeof etc2_rgb},
+ {0x09275, "GL_COMPRESSED_SRGB8_ETC2", 0, 3, etc2_srgb,sizeof etc2_srgb},
+ {0x09276, "GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2", 0, 4,
+ etc2_rgba1, sizeof etc2_rgba1},
+ {0x09277, "GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2", 0, 4,
+ etc2_srgba1, sizeof etc2_srgba1},
+ {0x09278, "GL_COMPRESSED_RGBA8_ETC2_EAC", 0, 4, etc2_rgba,
+ sizeof etc2_rgba},
+ {0x09279, "GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC", 0, 4,
+ etc2_srgba, sizeof etc2_srgba},
+ {0x093b0, "GL_COMPRESSED_RGBA_ASTC_4", 0, 4, astc4_rgba,
+ sizeof astc4_rgba},
+ {0x093b1, "GL_COMPRESSED_RGBA_ASTC_5", 0, 4, astc5_rgba,
+ sizeof astc5_rgba},
+ {0x093b2, "GL_COMPRESSED_RGBA_ASTC_5", 0, 4, astc5_rgba,
+ sizeof astc5_rgba},
+ {0x093b3, "GL_COMPRESSED_RGBA_ASTC_6", 0, 4, astc6_rgba,
+ sizeof astc6_rgba},
+ {0x093b4, "GL_COMPRESSED_RGBA_ASTC_6", 0, 4, astc6_rgba,
+ sizeof astc6_rgba},
+ {0x093b5, "GL_COMPRESSED_RGBA_ASTC_8", 0, 4, astc8_rgba,
+ sizeof astc8_rgba},
+ {0x093b6, "GL_COMPRESSED_RGBA_ASTC_8", 0, 4, astc8_rgba,
+ sizeof astc8_rgba},
+ {0x093b7, "GL_COMPRESSED_RGBA_ASTC_8", 0, 4, astc8_rgba,
+ sizeof astc8_rgba},
+ {0x093b8, "GL_COMPRESSED_RGBA_ASTC_10", 0, 4, astc10_rgba,
+ sizeof astc10_rgba},
+ {0x093b9, "GL_COMPRESSED_RGBA_ASTC_10", 0, 4, astc10_rgba,
+ sizeof astc10_rgba},
+ {0x093ba, "GL_COMPRESSED_RGBA_ASTC_10", 0, 4, astc10_rgba,
+ sizeof astc10_rgba},
+ {0x093bb, "GL_COMPRESSED_RGBA_ASTC_10", 0, 4, astc10_rgba,
+ sizeof astc10_rgba},
+ {0x093bc, "GL_COMPRESSED_RGBA_ASTC_12", 0, 4, astc12_rgba,
+ sizeof astc12_rgba},
+ {0x093bd, "GL_COMPRESSED_RGBA_ASTC_12", 0, 4, astc12_rgba,
+ sizeof astc12_rgba},
+ {0x093d0, "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4", 0, 4, astc4_srgba,
+ sizeof astc4_srgba},
+ {0x093d1, "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5", 0, 4, astc5_srgba,
+ sizeof astc5_srgba},
+ {0x093d2, "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5", 0, 4, astc5_srgba,
+ sizeof astc5_srgba},
+ {0x093d3, "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6", 0, 4, astc6_srgba,
+ sizeof astc6_srgba},
+ {0x093d4, "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6", 0, 4, astc6_srgba,
+ sizeof astc6_srgba},
+ {0x093d5, "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8", 0, 4, astc8_srgba,
+ sizeof astc8_srgba},
+ {0x093d6, "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8", 0, 4, astc8_srgba,
+ sizeof astc8_srgba},
+ {0x093d7, "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8", 0, 4, astc8_srgba,
+ sizeof astc8_srgba},
+ {0x093d8, "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10", 0, 4, astc10_srgba,
+ sizeof astc10_srgba},
+ {0x093d9, "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10", 0, 4, astc10_srgba,
+ sizeof astc10_srgba},
+ {0x093da, "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10", 0, 4, astc10_srgba,
+ sizeof astc10_srgba},
+ {0x093db, "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10", 0, 4, astc10_srgba,
+ sizeof astc10_srgba},
+ {0x093dc, "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12", 0, 4, astc12_srgba,
+ sizeof astc12_srgba},
+ {0x093dd, "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12", 0, 4, astc12_srgba,
+ sizeof astc12_srgba},
+
+ /* natively supported compressed formats */
+ {0x08c4a, "GL_COMPRESSED_SLUMINANCE_EXT", 0, 1, 0, 0},
+ {0x08c4b, "GL_COMPRESSED_SLUMINANCE_ALPHA_EXT", 0, 2, 0, 0},
+
+ /* The following formats have the Cube Maps column empty
+ * in the table provided by the RGTC extension, we assumed
+ * that we don't need to support them:
+ *
+ * {0x08dbb, "GL_COMPRESSED_RED_RGTC1", 0, 1, 0, 0},
+ * {0x08dbc, "GL_COMPRESSED_SIGNED_RED_RGTC1", 0, 1, 0, 0},
+ * {0x08dbd, "GL_COMPRESSED_RG_RGTC2", 0, 2, 0, 0},
+ * {0x08dbe, "GL_COMPRESSED_SIGNED_RG_RGTC2", 0, 2, 0, 0},
+ *
+ * These formats extensions don't seem to state if Cube Maps
+ * should be supported. We are going to ignore them for the
+ * moment:
+ *
+ * {0x086b0, "GL_COMPRESSED_RGB_FXT1_3DFX", 0, 3, 0, 0},
+ * {0x086b1, "GL_COMPRESSED_RGBA_FXT1_3DFX", 0, 4, 0, 0},
+ * {0x08c48, "GL_COMPRESSED_SRGB_EXT", 0, 3, 0, 0},
+ * {0x08c49, "GL_COMPRESSED_SRGB_ALPHA_EXT", 0, 4, 0, 0},
+ */
+
+ /* The following formats should support cubemaps. Nevertheless,
+ * TexImage2D can't create valid cubemaps for them. As the purpose of
+ * this test is to check the cubemap rendering and not the compression,
+ * we dumped the cubemap faces on mesa and we load the data from arrays:
+ */
+ {0x08e8c, "GL_COMPRESSED_RGBA_BPTC_UNORM", 0, 4,
+ bptc_rgba_unorm, sizeof bptc_rgba_unorm},
+ {0x08e8d, "GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM", 0, 3,
+ bptc_srgba_unorm, sizeof bptc_srgba_unorm},
+ {0x08e8e, "GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT", 0, 3,
+ bptc_rgb_signed_float, sizeof bptc_rgb_signed_float},
+ {0x08e8f, "GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT", 0, 3,
+ bptc_rgb_unsigned_float,sizeof bptc_rgb_unsigned_float},
+ {0x083f1, "GL_COMPRESSED_RGBA_S3TC_DXT1_EXT", 0, 4, dxt1_rgba,
+ sizeof dxt1_rgba},
+ {0x08c4c, "GL_COMPRESSED_SRGB_S3TC_DXT1_EXT", 0, 3, dxt1_srgb,
+ sizeof dxt1_srgb},
+ {0x08c4d, "GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT", 0, 4,
+ dxt1_srgba, sizeof dxt1_srgba},
+ {0x08c4e, "GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT", 0, 4,
+ dxt3_srgba, sizeof dxt3_srgba},
+ {0x08c4f, "GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT", 0, 4,
+ dxt5_srgba, sizeof dxt5_srgba},
+
+ /* Not supported formats for which we don't have dumped data.
+ * FIXME: add some data when we add the support. In the meantime,
+ * the test will skip them.
+ */
+ {0x08b90, "GL_PALETTE4_RGB8_OES", 0, 3, 0, 0},
+ {0x08b91, "GL_PALETTE4_RGBA8_OES", 0, 4, 0, 0},
+ {0x08b92, "GL_PALETTE4_R5_G6_B5_OES", 0, 3, 0, 0},
+ {0x08b93, "GL_PALETTE4_RGBA4_OES", 0, 4, 0, 0},
+ {0x08b94, "GL_PALETTE4_RGB5_A1_OES", 0, 3, 0, 0},
+ {0x08b95, "GL_PALETTE8_RGB8_OES", 0, 3, 0, 0},
+ {0x08b96, "GL_PALETTE8_RGBA8_OES", 0, 4, 0, 0},
+ {0x08b97, "GL_PALETTE8_R5_G6_B5_OES", 0, 3, 0, 0},
+ {0x08b98, "GL_PALETTE8_RGBA4_OES", 0, 4, 0, 0},
+ {0x08b99, "GL_PALETTE8_RGB5_A1_OES", 0, 3, 0, 0},
+ {0, 0, 0, 0, 0, 0}
+};
+
+PIGLIT_GL_TEST_CONFIG_BEGIN config.supports_gl_compat_version = 32;
+
+ config.window_width = win_width;
+ config.window_height = win_height;
+ config.window_visual = PIGLIT_GL_VISUAL_DOUBLE | PIGLIT_GL_VISUAL_RGB;
+ config.khr_no_error_support = PIGLIT_NO_ERRORS;
+
+PIGLIT_GL_TEST_CONFIG_END static void
+
+cleanup()
+{
+ int i;
+ glDeleteProgram(sdrprog);
+ glDeleteBuffers(1, &vbo);
+ glDeleteVertexArrays(1, &vao);
+
+ for (i = 0; formats[i].fmt; i++) {
+ if (formats[i].tex) {
+ glDeleteTextures(1, &formats[i].tex);
+ }
+ }
+}
+
+static bool
+create_cubemaps()
+{
+ int i, j;
+
+ for (i = 0; formats[i].fmt; i++) {
+ int supported;
+ int face_sz;
+
+ glBindTexture(GL_TEXTURE_CUBE_MAP, 0);
+ glGetInternalformativ(GL_TEXTURE_CUBE_MAP, formats[i].fmt,
+ GL_INTERNALFORMAT_SUPPORTED,
+ sizeof supported, &supported);
+
+ if (!supported) {
+ printf("Skipping: %s, not supported.\n",
+ formats[i].name);
+ continue;
+ }
+
+ if (formats[i].data)
+ face_sz = formats[i].data_size / 6;
+ else
+ face_sz = (sizeof pixels) / 6;
+
+ printf("Creating texture for format: %s\n", formats[i].name);
+ glGenTextures(1, &formats[i].tex);
+ glBindTexture(GL_TEXTURE_CUBE_MAP, formats[i].tex);
+ glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_FILTER,
+ GL_LINEAR);
+ glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER,
+ GL_LINEAR);
+ glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_S,
+ GL_CLAMP_TO_EDGE);
+ glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_T,
+ GL_CLAMP_TO_EDGE);
+
+ for (j = 0; j < 6; j++) {
+ unsigned int face =
+ GL_TEXTURE_CUBE_MAP_POSITIVE_X + j;
+ int err;
+ int is_compressed = 0;
+
+ if (formats[i].data) {
+ glCompressedTexImage2D(face, 0,
+ formats[i].fmt, CUBESZ,
+ CUBESZ, 0, face_sz,
+ formats[i].data +
+ face_sz * j);
+ if ((err = glGetError()) != GL_NO_ERROR) {
+ formats[i].tex = 0;
+ glDeleteTextures(1, &formats[i].tex);
+ fprintf(stderr, "OpenGL error: %d\n",
+ err);
+ return false;
+ }
+ } else {
+ glTexImage2D(GL_TEXTURE_2D, 0, formats[i].fmt,
+ CUBESZ, CUBESZ, 0, GL_RGBA,
+ GL_UNSIGNED_BYTE,
+ pixels + face_sz * j);
+ glGetTexLevelParameteriv(GL_TEXTURE_2D, 0,
+ GL_TEXTURE_COMPRESSED,
+ &is_compressed);
+ if (!is_compressed
+ || glGetError() != GL_NO_ERROR) {
+ formats[i].tex = 0;
+ glDeleteTextures(1, &formats[i].tex);
+ break;
+ }
+ }
+ }
+ glBindTexture(GL_TEXTURE_CUBE_MAP, 0);
+ }
+
+ return true;
+}
+
+void
+piglit_init(int argc, char **argv)
+{
+ /* quad vertices (vec2) */
+ static const float varr[] =
+ { -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1 };
+ unsigned int vsdr, fsdr;
+ int status;
+
+ piglit_require_extension("GL_ARB_texture_cube_map");
+
+ if (!create_cubemaps())
+ piglit_error = 1;
+
+ /* create vbo/vao */
+ glGenBuffers(1, &vbo);
+ glBindBuffer(GL_ARRAY_BUFFER, vbo);
+ glBufferData(GL_ARRAY_BUFFER, sizeof varr, varr, GL_STATIC_DRAW);
+
+ glGenVertexArrays(1, &vao);
+ glBindVertexArray(vao);
+ glEnableVertexAttribArray(0);
+ glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 0, 0);
+ glBindBuffer(GL_ARRAY_BUFFER, 0);
+ glBindVertexArray(0);
+
+ /* create shader */
+ vsdr = glCreateShader(GL_VERTEX_SHADER);
+ glShaderSource(vsdr, 1, &vsdr_src, 0);
+ glCompileShader(vsdr);
+ glGetShaderiv(vsdr, GL_COMPILE_STATUS, &status);
+ if (!status) {
+ fprintf(stderr, "Failed to compile vertex shader.\n");
+ piglit_error = 1;
+ return;
+ }
+ fsdr = glCreateShader(GL_FRAGMENT_SHADER);
+ glShaderSource(fsdr, 1, &fsdr_src, 0);
+ glCompileShader(fsdr);
+ glGetShaderiv(fsdr, GL_COMPILE_STATUS, &status);
+ if (!status) {
+ fprintf(stderr, "Failed to compile fragment shader.\n");
+ piglit_error = 1;
+ return;
+ }
+ sdrprog = glCreateProgram();
+ glAttachShader(sdrprog, vsdr);
+ glAttachShader(sdrprog, fsdr);
+ glBindAttribLocation(sdrprog, 0, "vpos");
+ glLinkProgram(sdrprog);
+ glGetProgramiv(sdrprog, GL_LINK_STATUS, &status);
+ if (!status) {
+ fprintf(stderr, "Failed to link program.\n");
+ piglit_error = 1;
+ return;
+ }
+ glUseProgram(sdrprog);
+ if ((uloc_rot = glGetUniformLocation(sdrprog, "rot")) == -1) {
+ fprintf(stderr, "failed to find uniform \"rot\"\n");
+ piglit_error = 1;
+ return;
+ }
+
+ atexit(cleanup);
+}
+
+enum piglit_result
+piglit_display(void)
+{
+ int i, j;
+ GLboolean pass = GL_TRUE;
+
+ /* rotation angles needed to make a pattern with
+ * 3 X/Y/Z columns and 2 positive/negative rows */
+ static const float theta_deg[] = { -90, 180, 0, 90, 180, 180 };
+ static const float phi_deg[] = { 0, -90, 0, 0, 90, 0 };
+
+ if (piglit_error)
+ return PIGLIT_FAIL;
+
+ glBindVertexArray(vao);
+
+ for (i = 0; formats[i].fmt; i++) {
+ if (formats[i].tex) {
+ float probe[4];
+
+ glBindTexture(GL_TEXTURE_CUBE_MAP, formats[i].tex);
+
+ for (j = 0; j < 6; j++) {
+ float *color = colors[j];
+
+ float theta = theta_deg[j] / 180.0 * M_PI;
+ float phi = phi_deg[j] / 180.0 * M_PI;
+ int x = (j % 3) * win_width / 3;
+ int y = (j / 3) * win_height / 2;
+
+ glUniform2f(uloc_rot, phi, theta); /* set rotation angles */
+
+ int vp_x = x + 2;
+ int vp_y = y + 2;
+ int vp_w = win_width / 3 - 4;
+ int vp_h = win_height / 2 - 4;
+
+ glViewport(vp_x, vp_y, vp_w, vp_h);
+ glDrawArrays(GL_TRIANGLES, 0, 6);
+
+ x += win_width / 6;
+ y += win_height / 4;
+
+ glReadPixels(x, y, 1, 1, GL_RGBA, GL_FLOAT,
+ &probe);
+ pass = pass
+ && piglit_compare_pixels(x, y, color,
+ probe,
+ tolerance,
+ formats[i].
+ num_channels);
+ if (!pass) {
+ if (formats[i].data) {
+ fprintf(stderr,
+ "Failed to render a %s cubemap.\n",
+ formats[i].name);
+ return PIGLIT_FAIL;
+ } else {
+ /* We don't return PIGLIT_FAIL for formats we lack
+ * dumped data, because the failure
+ * might be due to bugs in the compression.
+ * The purpose of this test is to check the
+ * rendering */
+ fprintf(stderr,
+ "Failed to compress or render a:\n%s cubemap.\n",
+ formats[i].name);
+ break;
+ }
+ }
+ }
+
+ glBindTexture(GL_TEXTURE_CUBE_MAP, 0);
+ }
+ }
+
+ glBindVertexArray(0);
+
+ if (glGetError() != GL_NO_ERROR)
+ return PIGLIT_FAIL;
+
+ piglit_swap_buffers();
+
+ return PIGLIT_PASS;
+}
diff --git a/tests/texturing/cubemap-compressed-data.h b/tests/texturing/cubemap-compressed-data.h
new file mode 100644
index 000000000..954b854e5
--- /dev/null
+++ b/tests/texturing/cubemap-compressed-data.h
@@ -0,0 +1,1171 @@
+/*
+ * Copyright © 2018 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.
+ *
+ * Authors:
+ * Eleni Maria Stea <estea at igalia.com>
+ *
+ */
+
+/** @file cubemap-compressed-data.h
+ * Data used by compressed-cubemap-* tests
+ */
+
+#ifndef CUBEMAP_COMPRESSED_DATA_H
+#define CUBEMAP_COMPRESSED_DATA_H
+
+unsigned char astc5_rgba[] = {
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255,
+ 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+ 0, 0, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255,
+ 0, 0, 0, 0, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255,
+ 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255,
+ 255, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0,
+ 255, 255, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 0, 0, 255,
+ 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 0, 0,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+ 0, 0, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255,
+ 255, 0, 0, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+ 255, 255, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255,
+ 255, 0, 0, 255, 255, 255, 255, 252, 253, 255, 255, 255, 255, 255,
+ 255, 255, 255, 0, 0, 255, 255, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+ 255, 255, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0,
+ 255, 255, 255, 255, 255, 255, 252, 253, 255, 255, 255, 255, 255,
+ 255, 0, 0, 255, 255, 255, 255, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+ 255, 0, 0, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255,
+ 255, 255, 255, 0, 0, 255, 255, 252, 253, 255, 255, 255, 255, 255,
+ 255, 255, 255, 255, 255, 0, 0, 255, 255
+};
+
+unsigned char eac_sr11[] = {
+ 127, 29, 146, 73, 36, 146, 73, 36, 127, 29, 146, 73, 36, 146, 73,
+ 36, 127, 29, 146, 73, 36, 146, 73, 36, 127, 29, 146, 73, 36, 146,
+ 73, 36,
+
+ 0, 29, 146, 73, 36, 146, 73, 36, 0, 29, 146, 73, 36, 146, 73, 36,
+ 0, 29, 146, 73, 36, 146, 73, 36, 0, 29, 146, 73, 36, 146, 73, 36,
+
+ 0, 29, 146, 73, 36, 146, 73, 36, 0, 29, 146, 73, 36, 146, 73, 36,
+ 0, 29, 146, 73, 36, 146, 73, 36, 0, 29, 146, 73, 36, 146, 73, 36,
+
+ 127, 29, 146, 73, 36, 146, 73, 36, 127, 29, 146, 73, 36, 146, 73,
+ 36, 127, 29, 146, 73, 36, 146, 73, 36, 127, 29, 146, 73, 36, 146,
+ 73, 36,
+
+ 0, 29, 146, 73, 36, 146, 73, 36, 0, 29, 146, 73, 36, 146, 73, 36,
+ 0, 29, 146, 73, 36, 146, 73, 36, 0, 29, 146, 73, 36, 146, 73, 36,
+
+ 127, 29, 146, 73, 36, 146, 73, 36, 127, 29, 146, 73, 36, 146, 73,
+ 36, 127, 29, 146, 73, 36, 146, 73, 36, 127, 29, 146, 73, 36, 146,
+ 73, 36
+};
+
+unsigned char etc2_rgba1[] = {
+ 248, 0, 0, 3, 255, 255, 0, 0, 248, 0, 0, 3, 255, 255, 0, 0, 248,
+ 0, 0, 3, 255, 255, 0, 0, 248, 0, 0, 3, 255, 255, 0, 0,
+
+ 0, 0, 248, 3, 255, 255, 0, 0, 0, 0, 248, 3, 255, 255, 0, 0, 0, 0,
+ 248, 3, 255, 255, 0, 0, 0, 0, 248, 3, 255, 255, 0, 0,
+
+ 0, 248, 0, 3, 255, 255, 0, 0, 0, 248, 0, 3, 255, 255, 0, 0, 0, 248,
+ 0, 3, 255, 255, 0, 0, 0, 248, 0, 3, 255, 255, 0, 0,
+
+ 248, 0, 248, 3, 255, 255, 0, 0, 248, 0, 248, 3, 255, 255, 0, 0, 248,
+ 0, 248, 3, 255, 255, 0, 0, 248, 0, 248, 3, 255, 255, 0, 0,
+
+ 0, 248, 248, 3, 255, 255, 0, 0, 0, 248, 248, 3, 255, 255, 0, 0, 0,
+ 248, 248, 3, 255, 255, 0, 0, 0, 248, 248, 3, 255, 255, 0, 0,
+
+ 248, 248, 0, 3, 255, 255, 0, 0, 248, 248, 0, 3, 255, 255, 0, 0, 248,
+ 248, 0, 3, 255, 255, 0, 0, 248, 248, 0, 3, 255, 255, 0, 0
+};
+
+unsigned char astc6_rgba[] = {
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255,
+ 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+ 0, 0, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255,
+ 0, 0, 0, 0, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255,
+ 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255,
+ 255, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0,
+ 255, 255, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 0, 0, 255,
+ 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 0, 0,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+ 0, 0, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255,
+ 255, 0, 0, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+ 255, 255, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255,
+ 255, 0, 0, 255, 255, 255, 255, 252, 253, 255, 255, 255, 255, 255,
+ 255, 255, 255, 0, 0, 255, 255, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+ 255, 255, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0,
+ 255, 255, 255, 255, 255, 255, 252, 253, 255, 255, 255, 255, 255,
+ 255, 0, 0, 255, 255, 255, 255, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+ 255, 0, 0, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255,
+ 255, 255, 255, 0, 0, 255, 255, 252, 253, 255, 255, 255, 255, 255,
+ 255, 255, 255, 255, 255, 0, 0, 255, 255
+};
+
+unsigned char astc12_srgba[] = {
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255,
+ 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255,
+ 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 0, 0, 255,
+ 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+ 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255,
+ 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+ 255, 255
+};
+
+unsigned char astc8_rgba[] = {
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255,
+ 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0,
+ 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255,
+ 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255,
+ 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 0, 0, 255,
+ 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 0, 0,
+ 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+ 255, 255, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+ 255, 255, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+ 255, 0, 0, 255, 255
+};
+
+unsigned char astc10_rgba[] = {
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255,
+ 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0,
+ 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255,
+ 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255,
+ 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 0, 0, 255,
+ 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 0, 0,
+ 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+ 255, 255, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+ 255, 255, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+ 255, 0, 0, 255, 255
+};
+
+unsigned char eac_rg11[] = {
+ 255, 29, 146, 73, 36, 146, 73, 36, 0, 29, 0, 0, 0, 0, 0, 0, 255,
+ 29, 146, 73, 36, 146, 73, 36, 0, 29, 0, 0, 0, 0, 0, 0, 255, 29, 146,
+ 73, 36, 146, 73, 36, 0, 29, 0, 0, 0, 0, 0, 0, 255, 29, 146, 73, 36,
+ 146, 73, 36, 0, 29, 0, 0, 0, 0, 0, 0,
+
+ 0, 29, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0,
+ 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 29,
+ 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0,
+ 0,
+
+ 0, 29, 0, 0, 0, 0, 0, 0, 255, 29, 146, 73, 36, 146, 73, 36, 0, 29,
+ 0, 0, 0, 0, 0, 0, 255, 29, 146, 73, 36, 146, 73, 36, 0, 29, 0, 0,
+ 0, 0, 0, 0, 255, 29, 146, 73, 36, 146, 73, 36, 0, 29, 0, 0, 0, 0,
+ 0, 0, 255, 29, 146, 73, 36, 146, 73, 36,
+
+ 255, 29, 146, 73, 36, 146, 73, 36, 0, 29, 0, 0, 0, 0, 0, 0, 255,
+ 29, 146, 73, 36, 146, 73, 36, 0, 29, 0, 0, 0, 0, 0, 0, 255, 29, 146,
+ 73, 36, 146, 73, 36, 0, 29, 0, 0, 0, 0, 0, 0, 255, 29, 146, 73, 36,
+ 146, 73, 36, 0, 29, 0, 0, 0, 0, 0, 0,
+
+ 0, 29, 0, 0, 0, 0, 0, 0, 255, 29, 146, 73, 36, 146, 73, 36, 0, 29,
+ 0, 0, 0, 0, 0, 0, 255, 29, 146, 73, 36, 146, 73, 36, 0, 29, 0, 0,
+ 0, 0, 0, 0, 255, 29, 146, 73, 36, 146, 73, 36, 0, 29, 0, 0, 0, 0,
+ 0, 0, 255, 29, 146, 73, 36, 146, 73, 36,
+
+ 255, 29, 146, 73, 36, 146, 73, 36, 255, 29, 146, 73, 36, 146, 73,
+ 36, 255, 29, 146, 73, 36, 146, 73, 36, 255, 29, 146, 73, 36, 146,
+ 73, 36, 255, 29, 146, 73, 36, 146, 73, 36, 255, 29, 146, 73, 36,
+ 146, 73, 36, 255, 29, 146, 73, 36, 146, 73, 36, 255, 29, 146, 73,
+ 36, 146, 73, 36
+};
+
+unsigned char astc4_srgba[] = {
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255,
+ 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+ 0, 0, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255,
+ 0, 0, 0, 0, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255,
+ 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255,
+ 255, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0,
+ 255, 255, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 0, 0, 255,
+ 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 0, 0,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+ 0, 0, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255,
+ 255, 0, 0, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+ 255, 255, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255,
+ 255, 0, 0, 255, 255, 255, 255, 252, 253, 255, 255, 255, 255, 255,
+ 255, 255, 255, 0, 0, 255, 255, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+ 255, 255, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0,
+ 255, 255, 255, 255, 255, 255, 252, 253, 255, 255, 255, 255, 255,
+ 255, 0, 0, 255, 255, 255, 255, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+ 255, 0, 0, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255,
+ 255, 255, 255, 0, 0, 255, 255, 252, 253, 255, 255, 255, 255, 255,
+ 255, 255, 255, 255, 255, 0, 0, 255, 255
+};
+
+unsigned char eac_srg11[] = {
+ 127, 29, 146, 73, 36, 146, 73, 36, 0, 29, 146, 73, 36, 146, 73, 36,
+ 127, 29, 146, 73, 36, 146, 73, 36, 0, 29, 146, 73, 36, 146, 73, 36,
+ 127, 29, 146, 73, 36, 146, 73, 36, 0, 29, 146, 73, 36, 146, 73, 36,
+ 127, 29, 146, 73, 36, 146, 73, 36, 0, 29, 146, 73, 36, 146, 73, 36,
+
+ 0, 29, 146, 73, 36, 146, 73, 36, 0, 29, 146, 73, 36, 146, 73, 36,
+ 0, 29, 146, 73, 36, 146, 73, 36, 0, 29, 146, 73, 36, 146, 73, 36,
+ 0, 29, 146, 73, 36, 146, 73, 36, 0, 29, 146, 73, 36, 146, 73, 36,
+ 0, 29, 146, 73, 36, 146, 73, 36, 0, 29, 146, 73, 36, 146, 73, 36,
+
+ 0, 29, 146, 73, 36, 146, 73, 36, 127, 29, 146, 73, 36, 146, 73, 36,
+ 0, 29, 146, 73, 36, 146, 73, 36, 127, 29, 146, 73, 36, 146, 73, 36,
+ 0, 29, 146, 73, 36, 146, 73, 36, 127, 29, 146, 73, 36, 146, 73, 36,
+ 0, 29, 146, 73, 36, 146, 73, 36, 127, 29, 146, 73, 36, 146, 73, 36,
+
+ 127, 29, 146, 73, 36, 146, 73, 36, 0, 29, 146, 73, 36, 146, 73, 36,
+ 127, 29, 146, 73, 36, 146, 73, 36, 0, 29, 146, 73, 36, 146, 73, 36,
+ 127, 29, 146, 73, 36, 146, 73, 36, 0, 29, 146, 73, 36, 146, 73, 36,
+ 127, 29, 146, 73, 36, 146, 73, 36, 0, 29, 146, 73, 36, 146, 73, 36,
+
+ 0, 29, 146, 73, 36, 146, 73, 36, 127, 29, 146, 73, 36, 146, 73, 36,
+ 0, 29, 146, 73, 36, 146, 73, 36, 127, 29, 146, 73, 36, 146, 73, 36,
+ 0, 29, 146, 73, 36, 146, 73, 36, 127, 29, 146, 73, 36, 146, 73, 36,
+ 0, 29, 146, 73, 36, 146, 73, 36, 127, 29, 146, 73, 36, 146, 73, 36,
+
+ 127, 29, 146, 73, 36, 146, 73, 36, 127, 29, 146, 73, 36, 146, 73,
+ 36, 127, 29, 146, 73, 36, 146, 73, 36, 127, 29, 146, 73, 36, 146,
+ 73, 36, 127, 29, 146, 73, 36, 146, 73, 36, 127, 29, 146, 73, 36,
+ 146, 73, 36, 127, 29, 146, 73, 36, 146, 73, 36, 127, 29, 146, 73,
+ 36, 146, 73, 36
+};
+
+unsigned char etc2_srgba[] = {
+ 255, 29, 146, 73, 36, 146, 73, 36, 126, 128, 4, 127, 0, 7, 224, 0,
+ 255, 29, 146, 73, 36, 146, 73, 36, 126, 128, 4, 127, 0, 7, 224, 0,
+ 255, 29, 146, 73, 36, 146, 73, 36, 126, 128, 4, 127, 0, 7, 224, 0,
+ 255, 29, 146, 73, 36, 146, 73, 36, 126, 128, 4, 127, 0, 7, 224, 0,
+
+ 255, 29, 146, 73, 36, 146, 73, 36, 128, 129, 251, 130, 1, 248, 0,
+ 63, 255, 29, 146, 73, 36, 146, 73, 36, 128, 129, 251, 130, 1, 248,
+ 0, 63, 255, 29, 146, 73, 36, 146, 73, 36, 128, 129, 251, 130, 1,
+ 248, 0, 63, 255, 29, 146, 73, 36, 146, 73, 36, 128, 129, 251, 130,
+ 1, 248, 0, 63,
+
+ 255, 29, 146, 73, 36, 146, 73, 36, 129, 126, 4, 2, 254, 0, 31, 192,
+ 255, 29, 146, 73, 36, 146, 73, 36, 129, 126, 4, 2, 254, 0, 31, 192,
+ 255, 29, 146, 73, 36, 146, 73, 36, 129, 126, 4, 2, 254, 0, 31, 192,
+ 255, 29, 146, 73, 36, 146, 73, 36, 129, 126, 4, 2, 254, 0, 31, 192,
+
+ 255, 29, 146, 73, 36, 146, 73, 36, 126, 129, 251, 255, 1, 255, 224,
+ 63, 255, 29, 146, 73, 36, 146, 73, 36, 126, 129, 251, 255, 1, 255,
+ 224, 63, 255, 29, 146, 73, 36, 146, 73, 36, 126, 129, 251, 255, 1,
+ 255, 224, 63, 255, 29, 146, 73, 36, 146, 73, 36, 126, 129, 251, 255,
+ 1, 255, 224, 63,
+
+ 255, 29, 146, 73, 36, 146, 73, 36, 129, 127, 251, 130, 255, 248,
+ 31, 255, 255, 29, 146, 73, 36, 146, 73, 36, 129, 127, 251, 130, 255,
+ 248, 31, 255, 255, 29, 146, 73, 36, 146, 73, 36, 129, 127, 251, 130,
+ 255, 248, 31, 255, 255, 29, 146, 73, 36, 146, 73, 36, 129, 127, 251,
+ 130, 255, 248, 31, 255,
+
+ 255, 29, 146, 73, 36, 146, 73, 36, 127, 126, 4, 127, 254, 7, 255,
+ 192, 255, 29, 146, 73, 36, 146, 73, 36, 127, 126, 4, 127, 254, 7,
+ 255, 192, 255, 29, 146, 73, 36, 146, 73, 36, 127, 126, 4, 127, 254,
+ 7, 255, 192, 255, 29, 146, 73, 36, 146, 73, 36, 127, 126, 4, 127,
+ 254, 7, 255, 192
+};
+
+unsigned char astc10_srgba[] = {
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255,
+ 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0,
+ 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255,
+ 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255,
+ 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 0, 0, 255,
+ 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 0, 0,
+ 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+ 255, 255, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+ 255, 255, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+ 255, 0, 0, 255, 255
+};
+
+unsigned char etc2_rgb[] = {
+ 126, 128, 4, 127, 0, 7, 224, 0, 126, 128, 4, 127, 0, 7, 224, 0, 126,
+ 128, 4, 127, 0, 7, 224, 0, 126, 128, 4, 127, 0, 7, 224, 0,
+
+ 128, 129, 251, 130, 1, 248, 0, 63, 128, 129, 251, 130, 1, 248, 0,
+ 63, 128, 129, 251, 130, 1, 248, 0, 63, 128, 129, 251, 130, 1, 248,
+ 0, 63,
+
+ 129, 126, 4, 2, 254, 0, 31, 192, 129, 126, 4, 2, 254, 0, 31, 192,
+ 129, 126, 4, 2, 254, 0, 31, 192, 129, 126, 4, 2, 254, 0, 31, 192,
+
+ 126, 129, 251, 255, 1, 255, 224, 63, 126, 129, 251, 255, 1, 255,
+ 224, 63, 126, 129, 251, 255, 1, 255, 224, 63, 126, 129, 251, 255,
+ 1, 255, 224, 63,
+
+ 129, 127, 251, 130, 255, 248, 31, 255, 129, 127, 251, 130, 255, 248,
+ 31, 255, 129, 127, 251, 130, 255, 248, 31, 255, 129, 127, 251, 130,
+ 255, 248, 31, 255,
+
+ 127, 126, 4, 127, 254, 7, 255, 192, 127, 126, 4, 127, 254, 7, 255,
+ 192, 127, 126, 4, 127, 254, 7, 255, 192, 127, 126, 4, 127, 254, 7,
+ 255, 192
+};
+
+unsigned char eac_r11[] = {
+ 255, 29, 146, 73, 36, 146, 73, 36, 255, 29, 146, 73, 36, 146, 73,
+ 36, 255, 29, 146, 73, 36, 146, 73, 36, 255, 29, 146, 73, 36, 146,
+ 73, 36,
+
+ 0, 29, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0,
+ 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0,
+
+ 0, 29, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0,
+ 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0,
+
+ 255, 29, 146, 73, 36, 146, 73, 36, 255, 29, 146, 73, 36, 146, 73,
+ 36, 255, 29, 146, 73, 36, 146, 73, 36, 255, 29, 146, 73, 36, 146,
+ 73, 36,
+
+ 0, 29, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0,
+ 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0,
+
+ 255, 29, 146, 73, 36, 146, 73, 36, 255, 29, 146, 73, 36, 146, 73,
+ 36, 255, 29, 146, 73, 36, 146, 73, 36, 255, 29, 146, 73, 36, 146,
+ 73, 36
+};
+
+unsigned char astc4_rgba[] = {
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255,
+ 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+ 0, 0, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255,
+ 0, 0, 0, 0, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255,
+ 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255,
+ 255, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0,
+ 255, 255, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 0, 0, 255,
+ 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 0, 0,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+ 0, 0, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255,
+ 255, 0, 0, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+ 255, 255, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255,
+ 255, 0, 0, 255, 255, 255, 255, 252, 253, 255, 255, 255, 255, 255,
+ 255, 255, 255, 0, 0, 255, 255, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+ 255, 255, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0,
+ 255, 255, 255, 255, 255, 255, 252, 253, 255, 255, 255, 255, 255,
+ 255, 0, 0, 255, 255, 255, 255, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+ 255, 0, 0, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255,
+ 255, 255, 255, 0, 0, 255, 255, 252, 253, 255, 255, 255, 255, 255,
+ 255, 255, 255, 255, 255, 0, 0, 255, 255
+};
+
+unsigned char etc2_rgba[] = {
+ 255, 29, 146, 73, 36, 146, 73, 36, 126, 128, 4, 127, 0, 7, 224, 0,
+ 255, 29, 146, 73, 36, 146, 73, 36, 126, 128, 4, 127, 0, 7, 224, 0,
+ 255, 29, 146, 73, 36, 146, 73, 36, 126, 128, 4, 127, 0, 7, 224, 0,
+ 255, 29, 146, 73, 36, 146, 73, 36, 126, 128, 4, 127, 0, 7, 224, 0,
+
+ 255, 29, 146, 73, 36, 146, 73, 36, 128, 129, 251, 130, 1, 248, 0,
+ 63, 255, 29, 146, 73, 36, 146, 73, 36, 128, 129, 251, 130, 1, 248,
+ 0, 63, 255, 29, 146, 73, 36, 146, 73, 36, 128, 129, 251, 130, 1,
+ 248, 0, 63, 255, 29, 146, 73, 36, 146, 73, 36, 128, 129, 251, 130,
+ 1, 248, 0, 63,
+
+ 255, 29, 146, 73, 36, 146, 73, 36, 129, 126, 4, 2, 254, 0, 31, 192,
+ 255, 29, 146, 73, 36, 146, 73, 36, 129, 126, 4, 2, 254, 0, 31, 192,
+ 255, 29, 146, 73, 36, 146, 73, 36, 129, 126, 4, 2, 254, 0, 31, 192,
+ 255, 29, 146, 73, 36, 146, 73, 36, 129, 126, 4, 2, 254, 0, 31, 192,
+
+ 255, 29, 146, 73, 36, 146, 73, 36, 126, 129, 251, 255, 1, 255, 224,
+ 63, 255, 29, 146, 73, 36, 146, 73, 36, 126, 129, 251, 255, 1, 255,
+ 224, 63, 255, 29, 146, 73, 36, 146, 73, 36, 126, 129, 251, 255, 1,
+ 255, 224, 63, 255, 29, 146, 73, 36, 146, 73, 36, 126, 129, 251, 255,
+ 1, 255, 224, 63,
+
+ 255, 29, 146, 73, 36, 146, 73, 36, 129, 127, 251, 130, 255, 248,
+ 31, 255, 255, 29, 146, 73, 36, 146, 73, 36, 129, 127, 251, 130, 255,
+ 248, 31, 255, 255, 29, 146, 73, 36, 146, 73, 36, 129, 127, 251, 130,
+ 255, 248, 31, 255, 255, 29, 146, 73, 36, 146, 73, 36, 129, 127, 251,
+ 130, 255, 248, 31, 255,
+
+ 255, 29, 146, 73, 36, 146, 73, 36, 127, 126, 4, 127, 254, 7, 255,
+ 192, 255, 29, 146, 73, 36, 146, 73, 36, 127, 126, 4, 127, 254, 7,
+ 255, 192, 255, 29, 146, 73, 36, 146, 73, 36, 127, 126, 4, 127, 254,
+ 7, 255, 192, 255, 29, 146, 73, 36, 146, 73, 36, 127, 126, 4, 127,
+ 254, 7, 255, 192
+};
+
+unsigned char dxt5_rgba[] = {
+ 255, 255, 255, 255, 255, 255, 255, 255, 0, 248, 0, 248, 0, 0, 0,
+ 0, 255, 255, 255, 255, 255, 255, 255, 255, 0, 248, 0, 248, 0, 0,
+ 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 0, 248, 0, 248, 0,
+ 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 0, 248, 0, 248,
+ 0, 0, 0, 0,
+
+ 255, 255, 255, 255, 255, 255, 255, 255, 31, 0, 31, 0, 0, 0, 0, 0,
+ 255, 255, 255, 255, 255, 255, 255, 255, 31, 0, 31, 0, 0, 0, 0, 0,
+ 255, 255, 255, 255, 255, 255, 255, 255, 31, 0, 31, 0, 0, 0, 0, 0,
+ 255, 255, 255, 255, 255, 255, 255, 255, 31, 0, 31, 0, 0, 0, 0, 0,
+
+ 255, 255, 255, 255, 255, 255, 255, 255, 224, 7, 224, 7, 0, 0, 0,
+ 0, 255, 255, 255, 255, 255, 255, 255, 255, 224, 7, 224, 7, 0, 0,
+ 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 224, 7, 224, 7, 0,
+ 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 224, 7, 224, 7,
+ 0, 0, 0, 0,
+
+ 255, 255, 255, 255, 255, 255, 255, 255, 31, 248, 31, 248, 0, 0, 0,
+ 0, 255, 255, 255, 255, 255, 255, 255, 255, 31, 248, 31, 248, 0, 0,
+ 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 31, 248, 31, 248, 0,
+ 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 31, 248, 31, 248,
+ 0, 0, 0, 0,
+
+ 255, 255, 255, 255, 255, 255, 255, 255, 255, 7, 255, 7, 0, 0, 0,
+ 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 7, 255, 7, 0, 0,
+ 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 7, 255, 7, 0,
+ 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 7, 255, 7,
+ 0, 0, 0, 0,
+
+ 255, 255, 255, 255, 255, 255, 255, 255, 224, 255, 224, 255, 0, 0,
+ 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 224, 255, 224, 255,
+ 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 224, 255, 224,
+ 255, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 224, 255,
+ 224, 255, 0, 0, 0, 0
+};
+
+unsigned char etc2_srgba1[] = {
+ 248, 0, 0, 3, 255, 255, 0, 0, 248, 0, 0, 3, 255, 255, 0, 0, 248,
+ 0, 0, 3, 255, 255, 0, 0, 248, 0, 0, 3, 255, 255, 0, 0,
+
+ 0, 0, 248, 3, 255, 255, 0, 0, 0, 0, 248, 3, 255, 255, 0, 0, 0, 0,
+ 248, 3, 255, 255, 0, 0, 0, 0, 248, 3, 255, 255, 0, 0,
+
+ 0, 248, 0, 3, 255, 255, 0, 0, 0, 248, 0, 3, 255, 255, 0, 0, 0, 248,
+ 0, 3, 255, 255, 0, 0, 0, 248, 0, 3, 255, 255, 0, 0,
+
+ 248, 0, 248, 3, 255, 255, 0, 0, 248, 0, 248, 3, 255, 255, 0, 0, 248,
+ 0, 248, 3, 255, 255, 0, 0, 248, 0, 248, 3, 255, 255, 0, 0,
+
+ 0, 248, 248, 3, 255, 255, 0, 0, 0, 248, 248, 3, 255, 255, 0, 0, 0,
+ 248, 248, 3, 255, 255, 0, 0, 0, 248, 248, 3, 255, 255, 0, 0,
+
+ 248, 248, 0, 3, 255, 255, 0, 0, 248, 248, 0, 3, 255, 255, 0, 0, 248,
+ 248, 0, 3, 255, 255, 0, 0, 248, 248, 0, 3, 255, 255, 0, 0
+};
+
+unsigned char astc5_srgba[] = {
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255,
+ 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+ 0, 0, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255,
+ 0, 0, 0, 0, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255,
+ 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255,
+ 255, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0,
+ 255, 255, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 0, 0, 255,
+ 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 0, 0,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+ 0, 0, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255,
+ 255, 0, 0, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+ 255, 255, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255,
+ 255, 0, 0, 255, 255, 255, 255, 252, 253, 255, 255, 255, 255, 255,
+ 255, 255, 255, 0, 0, 255, 255, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+ 255, 255, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0,
+ 255, 255, 255, 255, 255, 255, 252, 253, 255, 255, 255, 255, 255,
+ 255, 0, 0, 255, 255, 255, 255, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+ 255, 0, 0, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255,
+ 255, 255, 255, 0, 0, 255, 255, 252, 253, 255, 255, 255, 255, 255,
+ 255, 255, 255, 255, 255, 0, 0, 255, 255
+};
+
+unsigned char astc6_srgba[] = {
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255,
+ 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+ 0, 0, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255,
+ 0, 0, 0, 0, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255,
+ 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255,
+ 255, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0,
+ 255, 255, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 0, 0, 255,
+ 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 0, 0,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+ 0, 0, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255,
+ 255, 0, 0, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+ 255, 255, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255,
+ 255, 0, 0, 255, 255, 255, 255, 252, 253, 255, 255, 255, 255, 255,
+ 255, 255, 255, 0, 0, 255, 255, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+ 255, 255, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0,
+ 255, 255, 255, 255, 255, 255, 252, 253, 255, 255, 255, 255, 255,
+ 255, 0, 0, 255, 255, 255, 255, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+ 255, 0, 0, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255,
+ 255, 255, 255, 0, 0, 255, 255, 252, 253, 255, 255, 255, 255, 255,
+ 255, 255, 255, 255, 255, 0, 0, 255, 255
+};
+
+unsigned char dxt3_rgba[] = {
+ 255, 255, 255, 255, 255, 255, 255, 255, 0, 248, 0, 248, 0, 0, 0,
+ 0, 255, 255, 255, 255, 255, 255, 255, 255, 0, 248, 0, 248, 0, 0,
+ 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 0, 248, 0, 248, 0,
+ 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 0, 248, 0, 248,
+ 0, 0, 0, 0,
+
+ 255, 255, 255, 255, 255, 255, 255, 255, 31, 0, 31, 0, 0, 0, 0, 0,
+ 255, 255, 255, 255, 255, 255, 255, 255, 31, 0, 31, 0, 0, 0, 0, 0,
+ 255, 255, 255, 255, 255, 255, 255, 255, 31, 0, 31, 0, 0, 0, 0, 0,
+ 255, 255, 255, 255, 255, 255, 255, 255, 31, 0, 31, 0, 0, 0, 0, 0,
+
+ 255, 255, 255, 255, 255, 255, 255, 255, 224, 7, 224, 7, 0, 0, 0,
+ 0, 255, 255, 255, 255, 255, 255, 255, 255, 224, 7, 224, 7, 0, 0,
+ 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 224, 7, 224, 7, 0,
+ 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 224, 7, 224, 7,
+ 0, 0, 0, 0,
+
+ 255, 255, 255, 255, 255, 255, 255, 255, 31, 248, 31, 248, 0, 0, 0,
+ 0, 255, 255, 255, 255, 255, 255, 255, 255, 31, 248, 31, 248, 0, 0,
+ 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 31, 248, 31, 248, 0,
+ 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 31, 248, 31, 248,
+ 0, 0, 0, 0,
+
+ 255, 255, 255, 255, 255, 255, 255, 255, 255, 7, 255, 7, 0, 0, 0,
+ 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 7, 255, 7, 0, 0,
+ 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 7, 255, 7, 0,
+ 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 7, 255, 7,
+ 0, 0, 0, 0,
+
+ 255, 255, 255, 255, 255, 255, 255, 255, 224, 255, 224, 255, 0, 0,
+ 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 224, 255, 224, 255,
+ 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 224, 255, 224,
+ 255, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 224, 255,
+ 224, 255, 0, 0, 0, 0
+};
+
+unsigned char astc12_rgba[] = {
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255,
+ 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255,
+ 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 0, 0, 255,
+ 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+ 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255,
+ 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+ 255, 255
+};
+
+unsigned char dxt1_rgb[] = {
+ 0, 248, 0, 248, 0, 0, 0, 0, 0, 248, 0, 248, 0, 0, 0, 0, 0, 248, 0,
+ 248, 0, 0, 0, 0, 0, 248, 0, 248, 0, 0, 0, 0,
+
+ 31, 0, 31, 0, 0, 0, 0, 0, 31, 0, 31, 0, 0, 0, 0, 0, 31, 0, 31, 0,
+ 0, 0, 0, 0, 31, 0, 31, 0, 0, 0, 0, 0,
+
+ 224, 7, 224, 7, 0, 0, 0, 0, 224, 7, 224, 7, 0, 0, 0, 0, 224, 7, 224,
+ 7, 0, 0, 0, 0, 224, 7, 224, 7, 0, 0, 0, 0,
+
+ 31, 248, 31, 248, 0, 0, 0, 0, 31, 248, 31, 248, 0, 0, 0, 0, 31, 248,
+ 31, 248, 0, 0, 0, 0, 31, 248, 31, 248, 0, 0, 0, 0,
+
+ 255, 7, 255, 7, 0, 0, 0, 0, 255, 7, 255, 7, 0, 0, 0, 0, 255, 7, 255,
+ 7, 0, 0, 0, 0, 255, 7, 255, 7, 0, 0, 0, 0,
+
+ 224, 255, 224, 255, 0, 0, 0, 0, 224, 255, 224, 255, 0, 0, 0, 0, 224,
+ 255, 224, 255, 0, 0, 0, 0, 224, 255, 224, 255, 0, 0, 0, 0
+};
+
+unsigned char astc8_srgba[] = {
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255,
+ 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0,
+ 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255,
+ 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255,
+ 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 0, 0, 255,
+ 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 0, 0,
+ 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+ 255, 255, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+ 255, 255, 255, 255,
+
+ 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+ 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+ 255, 0, 0, 255, 255
+};
+
+unsigned char etc2_srgb[] = {
+ 126, 128, 4, 127, 0, 7, 224, 0, 126, 128, 4, 127, 0, 7, 224, 0, 126,
+ 128, 4, 127, 0, 7, 224, 0, 126, 128, 4, 127, 0, 7, 224, 0,
+
+ 128, 129, 251, 130, 1, 248, 0, 63, 128, 129, 251, 130, 1, 248, 0,
+ 63, 128, 129, 251, 130, 1, 248, 0, 63, 128, 129, 251, 130, 1, 248,
+ 0, 63,
+
+ 129, 126, 4, 2, 254, 0, 31, 192, 129, 126, 4, 2, 254, 0, 31, 192,
+ 129, 126, 4, 2, 254, 0, 31, 192, 129, 126, 4, 2, 254, 0, 31, 192,
+
+ 126, 129, 251, 255, 1, 255, 224, 63, 126, 129, 251, 255, 1, 255,
+ 224, 63, 126, 129, 251, 255, 1, 255, 224, 63, 126, 129, 251, 255,
+ 1, 255, 224, 63,
+
+ 129, 127, 251, 130, 255, 248, 31, 255, 129, 127, 251, 130, 255, 248,
+ 31, 255, 129, 127, 251, 130, 255, 248, 31, 255, 129, 127, 251, 130,
+ 255, 248, 31, 255,
+
+ 127, 126, 4, 127, 254, 7, 255, 192, 127, 126, 4, 127, 254, 7, 255,
+ 192, 127, 126, 4, 127, 254, 7, 255, 192, 127, 126, 4, 127, 254, 7,
+ 255, 192
+};
+
+unsigned char pixels[] = {
+ 255, 0, 0, 255, 0, 0, 255, 0, 0,
+ 255, 0, 0, 255, 0, 0, 255, 0, 0,
+ 255, 0, 0, 255, 0, 0, 255, 0, 0,
+ 255, 0, 0, 255, 0, 0, 255, 0, 0,
+ 255, 0, 0, 255, 0, 0, 255, 0, 0,
+ 255, 0, 0, 255, 0, 0, 255, 0, 0,
+ 255, 0, 0, 255, 0, 0, 255, 0, 0,
+ 255, 0, 0, 255, 0, 0, 255, 0, 0,
+ 255, 0, 0, 255, 0, 0, 255, 0, 0,
+ 255, 0, 0, 255, 0, 0, 255, 0, 0,
+ 255, 0, 0, 255, 0, 0, 255, 0, 0,
+ 255, 0, 0, 255, 0, 0, 255, 0, 0,
+ 255, 0, 0, 255, 0, 0, 255, 0, 0,
+ 255, 0, 0, 255, 0, 0, 255, 0, 0,
+ 255, 0, 0, 255, 0, 0, 255, 0, 0,
+ 255, 0, 0, 255, 0, 0, 255, 0, 0,
+ 255, 0, 0, 255, 0, 0, 255, 0, 0,
+ 255, 0, 0, 255, 0, 0, 255, 0, 0,
+ 255, 0, 0, 255, 0, 0, 255, 0, 0,
+ 255, 0, 0, 255, 0, 0, 255, 0, 0,
+ 255, 0, 0, 255, 0, 0, 255, 0, 0,
+ 255, 0, 0,
+
+ 0, 0, 255, 0, 0, 255, 0, 0, 255,
+ 0, 0, 255, 0, 0, 255, 0, 0, 255,
+ 0, 0, 255, 0, 0, 255, 0, 0, 255,
+ 0, 0, 255, 0, 0, 255, 0, 0, 255,
+ 0, 0, 255, 0, 0, 255, 0, 0, 255,
+ 0, 0, 255, 0, 0, 255, 0, 0, 255,
+ 0, 0, 255, 0, 0, 255, 0, 0, 255,
+ 0, 0, 255, 0, 0, 255, 0, 0, 255,
+ 0, 0, 255, 0, 0, 255, 0, 0, 255,
+ 0, 0, 255, 0, 0, 255, 0, 0, 255,
+ 0, 0, 255, 0, 0, 255, 0, 0, 255,
+ 0, 0, 255, 0, 0, 255, 0, 0, 255,
+ 0, 0, 255, 0, 0, 255, 0, 0, 255,
+ 0, 0, 255, 0, 0, 255, 0, 0, 255,
+ 0, 0, 255, 0, 0, 255, 0, 0, 255,
+ 0, 0, 255, 0, 0, 255, 0, 0, 255,
+ 0, 0, 255, 0, 0, 255, 0, 0, 255,
+ 0, 0, 255, 0, 0, 255, 0, 0, 255,
+ 0, 0, 255, 0, 0, 255, 0, 0, 255,
+ 0, 0, 255, 0, 0, 255, 0, 0, 255,
+ 0, 0, 255, 0, 0, 255, 0, 0, 255,
+ 0, 0, 255,
+
+ 0, 255, 0, 0, 255, 0, 0, 255, 0,
+ 0, 255, 0, 0, 255, 0, 0, 255, 0,
+ 0, 255, 0, 0, 255, 0, 0, 255, 0,
+ 0, 255, 0, 0, 255, 0, 0, 255, 0,
+ 0, 255, 0, 0, 255, 0, 0, 255, 0,
+ 0, 255, 0, 0, 255, 0, 0, 255, 0,
+ 0, 255, 0, 0, 255, 0, 0, 255, 0,
+ 0, 255, 0, 0, 255, 0, 0, 255, 0,
+ 0, 255, 0, 0, 255, 0, 0, 255, 0,
+ 0, 255, 0, 0, 255, 0, 0, 255, 0,
+ 0, 255, 0, 0, 255, 0, 0, 255, 0,
+ 0, 255, 0, 0, 255, 0, 0, 255, 0,
+ 0, 255, 0, 0, 255, 0, 0, 255, 0,
+ 0, 255, 0, 0, 255, 0, 0, 255, 0,
+ 0, 255, 0, 0, 255, 0, 0, 255, 0,
+ 0, 255, 0, 0, 255, 0, 0, 255, 0,
+ 0, 255, 0, 0, 255, 0, 0, 255, 0,
+ 0, 255, 0, 0, 255, 0, 0, 255, 0,
+ 0, 255, 0, 0, 255, 0, 0, 255, 0,
+ 0, 255, 0, 0, 255, 0, 0, 255, 0,
+ 0, 255, 0, 0, 255, 0, 0, 255, 0,
+ 0, 255, 0,
+
+ 255, 0, 255, 255, 0, 255, 255, 0, 255,
+ 255, 0, 255, 255, 0, 255, 255, 0, 255,
+ 255, 0, 255, 255, 0, 255, 255, 0, 255,
+ 255, 0, 255, 255, 0, 255, 255, 0, 255,
+ 255, 0, 255, 255, 0, 255, 255, 0, 255,
+ 255, 0, 255, 255, 0, 255, 255, 0, 255,
+ 255, 0, 255, 255, 0, 255, 255, 0, 255,
+ 255, 0, 255, 255, 0, 255, 255, 0, 255,
+ 255, 0, 255, 255, 0, 255, 255, 0, 255,
+ 255, 0, 255, 255, 0, 255, 255, 0, 255,
+ 255, 0, 255, 255, 0, 255, 255, 0, 255,
+ 255, 0, 255, 255, 0, 255, 255, 0, 255,
+ 255, 0, 255, 255, 0, 255, 255, 0, 255,
+ 255, 0, 255, 255, 0, 255, 255, 0, 255,
+ 255, 0, 255, 255, 0, 255, 255, 0, 255,
+ 255, 0, 255, 255, 0, 255, 255, 0, 255,
+ 255, 0, 255, 255, 0, 255, 255, 0, 255,
+ 255, 0, 255, 255, 0, 255, 255, 0, 255,
+ 255, 0, 255, 255, 0, 255, 255, 0, 255,
+ 255, 0, 255, 255, 0, 255, 255, 0, 255,
+ 255, 0, 255, 255, 0, 255, 255, 0, 255,
+ 255, 0, 255,
+
+ 0, 255, 255, 0, 255, 255, 0, 255, 255,
+ 0, 255, 255, 0, 255, 255, 0, 255, 255,
+ 0, 255, 255, 0, 255, 255, 0, 255, 255,
+ 0, 255, 255, 0, 255, 255, 0, 255, 255,
+ 0, 255, 255, 0, 255, 255, 0, 255, 255,
+ 0, 255, 255, 0, 255, 255, 0, 255, 255,
+ 0, 255, 255, 0, 255, 255, 0, 255, 255,
+ 0, 255, 255, 0, 255, 255, 0, 255, 255,
+ 0, 255, 255, 0, 255, 255, 0, 255, 255,
+ 0, 255, 255, 0, 255, 255, 0, 255, 255,
+ 0, 255, 255, 0, 255, 255, 0, 255, 255,
+ 0, 255, 255, 0, 255, 255, 0, 255, 255,
+ 0, 255, 255, 0, 255, 255, 0, 255, 255,
+ 0, 255, 255, 0, 255, 255, 0, 255, 255,
+ 0, 255, 255, 0, 255, 255, 0, 255, 255,
+ 0, 255, 255, 0, 255, 255, 0, 255, 255,
+ 0, 255, 255, 0, 255, 255, 0, 255, 255,
+ 0, 255, 255, 0, 255, 255, 0, 255, 255,
+ 0, 255, 255, 0, 255, 255, 0, 255, 255,
+ 0, 255, 255, 0, 255, 255, 0, 255, 255,
+ 0, 255, 255, 0, 255, 255, 0, 255, 255,
+ 0, 255, 255,
+
+ 255, 255, 0, 255, 255, 0, 255, 255, 0,
+ 255, 255, 0, 255, 255, 0, 255, 255, 0,
+ 255, 255, 0, 255, 255, 0, 255, 255, 0,
+ 255, 255, 0, 255, 255, 0, 255, 255, 0,
+ 255, 255, 0, 255, 255, 0, 255, 255, 0,
+ 255, 255, 0, 255, 255, 0, 255, 255, 0,
+ 255, 255, 0, 255, 255, 0, 255, 255, 0,
+ 255, 255, 0, 255, 255, 0, 255, 255, 0,
+ 255, 255, 0, 255, 255, 0, 255, 255, 0,
+ 255, 255, 0, 255, 255, 0, 255, 255, 0,
+ 255, 255, 0, 255, 255, 0, 255, 255, 0,
+ 255, 255, 0, 255, 255, 0, 255, 255, 0,
+ 255, 255, 0, 255, 255, 0, 255, 255, 0,
+ 255, 255, 0, 255, 255, 0, 255, 255, 0,
+ 255, 255, 0, 255, 255, 0, 255, 255, 0,
+ 255, 255, 0, 255, 255, 0, 255, 255, 0,
+ 255, 255, 0, 255, 255, 0, 255, 255, 0,
+ 255, 255, 0, 255, 255, 0, 255, 255, 0,
+ 255, 255, 0, 255, 255, 0, 255, 255, 0,
+ 255, 255, 0, 255, 255, 0, 255, 255, 0,
+ 255, 255, 0, 255, 255, 0, 255, 255, 0,
+ 255, 255, 0
+};
+
+
+unsigned char bptc_srgba_unorm[] = {
+ 16, 255, 3, 0, 192, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 255, 3,
+ 0, 192, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 255, 3, 0, 192, 255,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 255, 3, 0, 192, 255, 3, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,
+
+ 16, 0, 0, 240, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0,
+ 240, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 240, 255,
+ 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 240, 255, 255, 3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 16, 0, 252, 15, 192, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 252,
+ 15, 192, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 252, 15, 192,
+ 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 252, 15, 192, 255, 3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 16, 255, 3, 240, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 255,
+ 3, 240, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 255, 3, 240,
+ 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 255, 3, 240, 255, 255,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 16, 0, 252, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 252,
+ 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 252, 255, 255,
+ 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 252, 255, 255, 255, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 16, 255, 255, 15, 192, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 255,
+ 255, 15, 192, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 255, 255, 15,
+ 192, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 255, 255, 15, 192, 255,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0
+};
+
+unsigned char dxt1_srgb[] = {
+ 0, 248, 0, 248, 0, 0, 0, 0, 0, 248, 0, 248, 0, 0, 0, 0, 0, 248, 0,
+ 248, 0, 0, 0, 0, 0, 248, 0, 248, 0, 0, 0, 0,
+
+ 31, 0, 31, 0, 0, 0, 0, 0, 31, 0, 31, 0, 0, 0, 0, 0, 31, 0, 31, 0,
+ 0, 0, 0, 0, 31, 0, 31, 0, 0, 0, 0, 0,
+
+ 224, 7, 224, 7, 0, 0, 0, 0, 224, 7, 224, 7, 0, 0, 0, 0, 224, 7, 224,
+ 7, 0, 0, 0, 0, 224, 7, 224, 7, 0, 0, 0, 0,
+
+ 31, 248, 31, 248, 0, 0, 0, 0, 31, 248, 31, 248, 0, 0, 0, 0, 31, 248,
+ 31, 248, 0, 0, 0, 0, 31, 248, 31, 248, 0, 0, 0, 0,
+
+ 255, 7, 255, 7, 0, 0, 0, 0, 255, 7, 255, 7, 0, 0, 0, 0, 255, 7, 255,
+ 7, 0, 0, 0, 0, 255, 7, 255, 7, 0, 0, 0, 0,
+
+ 224, 255, 224, 255, 0, 0, 0, 0, 224, 255, 224, 255, 0, 0, 0, 0, 224,
+ 255, 224, 255, 0, 0, 0, 0, 224, 255, 224, 255, 0, 0, 0, 0
+};
+
+unsigned char dxt1_srgba[] = {
+ 0, 248, 0, 248, 0, 0, 0, 0, 0, 248, 0, 248, 0, 0, 0, 0, 0, 248, 0,
+ 248, 0, 0, 0, 0, 0, 248, 0, 248, 0, 0, 0, 0,
+
+ 31, 0, 31, 0, 0, 0, 0, 0, 31, 0, 31, 0, 0, 0, 0, 0, 31, 0, 31, 0,
+ 0, 0, 0, 0, 31, 0, 31, 0, 0, 0, 0, 0,
+
+ 224, 7, 224, 7, 0, 0, 0, 0, 224, 7, 224, 7, 0, 0, 0, 0, 224, 7, 224,
+ 7, 0, 0, 0, 0, 224, 7, 224, 7, 0, 0, 0, 0,
+
+ 31, 248, 31, 248, 0, 0, 0, 0, 31, 248, 31, 248, 0, 0, 0, 0, 31, 248,
+ 31, 248, 0, 0, 0, 0, 31, 248, 31, 248, 0, 0, 0, 0,
+
+ 255, 7, 255, 7, 0, 0, 0, 0, 255, 7, 255, 7, 0, 0, 0, 0, 255, 7, 255,
+ 7, 0, 0, 0, 0, 255, 7, 255, 7, 0, 0, 0, 0,
+
+ 224, 255, 224, 255, 0, 0, 0, 0, 224, 255, 224, 255, 0, 0, 0, 0, 224,
+ 255, 224, 255, 0, 0, 0, 0, 224, 255, 224, 255, 0, 0, 0, 0
+};
+
+unsigned char dxt1_rgba[] = {
+ 0, 248, 0, 248, 0, 0, 0, 0, 0, 248, 0, 248, 0, 0, 0, 0, 0, 248, 0,
+ 248, 0, 0, 0, 0, 0, 248, 0, 248, 0, 0, 0, 0,
+
+ 31, 0, 31, 0, 0, 0, 0, 0, 31, 0, 31, 0, 0, 0, 0, 0, 31, 0, 31, 0,
+ 0, 0, 0, 0, 31, 0, 31, 0, 0, 0, 0, 0,
+
+ 224, 7, 224, 7, 0, 0, 0, 0, 224, 7, 224, 7, 0, 0, 0, 0, 224, 7, 224,
+ 7, 0, 0, 0, 0, 224, 7, 224, 7, 0, 0, 0, 0,
+
+ 31, 248, 31, 248, 0, 0, 0, 0, 31, 248, 31, 248, 0, 0, 0, 0, 31, 248,
+ 31, 248, 0, 0, 0, 0, 31, 248, 31, 248, 0, 0, 0, 0,
+
+ 255, 7, 255, 7, 0, 0, 0, 0, 255, 7, 255, 7, 0, 0, 0, 0, 255, 7, 255,
+ 7, 0, 0, 0, 0, 255, 7, 255, 7, 0, 0, 0, 0,
+
+ 224, 255, 224, 255, 0, 0, 0, 0, 224, 255, 224, 255, 0, 0, 0, 0, 224,
+ 255, 224, 255, 0, 0, 0, 0, 224, 255, 224, 255, 0, 0, 0, 0
+};
+
+unsigned char dxt3_srgba[] = {
+ 255, 255, 255, 255, 255, 255, 255, 255, 0, 248, 0, 248, 0, 0, 0,
+ 0, 255, 255, 255, 255, 255, 255, 255, 255, 0, 248, 0, 248, 0, 0,
+ 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 0, 248, 0, 248, 0,
+ 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 0, 248, 0, 248,
+ 0, 0, 0, 0,
+
+ 255, 255, 255, 255, 255, 255, 255, 255, 31, 0, 31, 0, 0, 0, 0, 0,
+ 255, 255, 255, 255, 255, 255, 255, 255, 31, 0, 31, 0, 0, 0, 0, 0,
+ 255, 255, 255, 255, 255, 255, 255, 255, 31, 0, 31, 0, 0, 0, 0, 0,
+ 255, 255, 255, 255, 255, 255, 255, 255, 31, 0, 31, 0, 0, 0, 0, 0,
+
+ 255, 255, 255, 255, 255, 255, 255, 255, 224, 7, 224, 7, 0, 0, 0,
+ 0, 255, 255, 255, 255, 255, 255, 255, 255, 224, 7, 224, 7, 0, 0,
+ 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 224, 7, 224, 7, 0,
+ 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 224, 7, 224, 7,
+ 0, 0, 0, 0,
+
+ 255, 255, 255, 255, 255, 255, 255, 255, 31, 248, 31, 248, 0, 0, 0,
+ 0, 255, 255, 255, 255, 255, 255, 255, 255, 31, 248, 31, 248, 0, 0,
+ 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 31, 248, 31, 248, 0,
+ 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 31, 248, 31, 248,
+ 0, 0, 0, 0,
+
+ 255, 255, 255, 255, 255, 255, 255, 255, 255, 7, 255, 7, 0, 0, 0,
+ 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 7, 255, 7, 0, 0,
+ 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 7, 255, 7, 0,
+ 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 7, 255, 7,
+ 0, 0, 0, 0,
+
+ 255, 255, 255, 255, 255, 255, 255, 255, 224, 255, 224, 255, 0, 0,
+ 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 224, 255, 224, 255,
+ 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 224, 255, 224,
+ 255, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 224, 255,
+ 224, 255, 0, 0, 0, 0
+};
+
+unsigned char bptc_rgb_unsigned_float[] = {
+ 227, 61, 0, 0, 120, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 61, 0,
+ 0, 120, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 61, 0, 0, 120, 15,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 61, 0, 0, 120, 15, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,
+
+ 3, 0, 0, 222, 3, 0, 128, 247, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 222,
+ 3, 0, 128, 247, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 222, 3, 0, 128,
+ 247, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 222, 3, 0, 128, 247, 0, 0,
+ 0, 0, 0, 0, 0, 0,
+
+ 3, 128, 247, 0, 0, 224, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 128, 247,
+ 0, 0, 224, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 128, 247, 0, 0, 224,
+ 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 128, 247, 0, 0, 224, 61, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,
+
+ 227, 61, 0, 222, 123, 15, 128, 247, 0, 0, 0, 0, 0, 0, 0, 0, 227,
+ 61, 0, 222, 123, 15, 128, 247, 0, 0, 0, 0, 0, 0, 0, 0, 227, 61, 0,
+ 222, 123, 15, 128, 247, 0, 0, 0, 0, 0, 0, 0, 0, 227, 61, 0, 222,
+ 123, 15, 128, 247, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 3, 128, 247, 222, 3, 224, 189, 247, 0, 0, 0, 0, 0, 0, 0, 0, 3, 128,
+ 247, 222, 3, 224, 189, 247, 0, 0, 0, 0, 0, 0, 0, 0, 3, 128, 247,
+ 222, 3, 224, 189, 247, 0, 0, 0, 0, 0, 0, 0, 0, 3, 128, 247, 222,
+ 3, 224, 189, 247, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 227, 189, 247, 0, 120, 239, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 189,
+ 247, 0, 120, 239, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 189, 247, 0,
+ 120, 239, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 189, 247, 0, 120, 239,
+ 61, 0, 0, 0, 0, 0, 0, 0, 0, 0
+};
+
+unsigned char bptc_rgba_unorm[] = {
+ 16, 255, 3, 0, 192, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 255, 3,
+ 0, 192, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 255, 3, 0, 192, 255,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 255, 3, 0, 192, 255, 3, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,
+
+ 16, 0, 0, 240, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0,
+ 240, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 240, 255,
+ 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 240, 255, 255, 3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 16, 0, 252, 15, 192, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 252,
+ 15, 192, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 252, 15, 192,
+ 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 252, 15, 192, 255, 3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 16, 255, 3, 240, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 255,
+ 3, 240, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 255, 3, 240,
+ 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 255, 3, 240, 255, 255,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 16, 0, 252, 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 252,
+ 255, 255, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 252, 255, 255,
+ 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 252, 255, 255, 255, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 16, 255, 255, 15, 192, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 255,
+ 255, 15, 192, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 255, 255, 15,
+ 192, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 255, 255, 15, 192, 255,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0
+};
+
+unsigned char dxt5_srgba[] = {
+ 255, 103, 0, 0, 0, 0, 0, 0, 0, 248, 0, 248, 0, 0, 0, 0, 255, 98,
+ 0, 0, 0, 0, 0, 0, 0, 248, 0, 248, 0, 0, 0, 0, 255, 66, 0, 0, 0, 0,
+ 0, 0, 0, 248, 0, 248, 0, 0, 0, 0, 255, 111, 0, 0, 0, 0, 0, 0, 0,
+ 248, 0, 248, 0, 0, 0, 0,
+
+ 255, 177, 0, 0, 0, 0, 0, 0, 31, 0, 31, 0, 0, 0, 0, 0, 255, 203, 0,
+ 0, 0, 0, 0, 0, 31, 0, 31, 0, 0, 0, 0, 0, 255, 62, 0, 0, 0, 0, 0,
+ 0, 31, 0, 31, 0, 0, 0, 0, 0, 255, 26, 0, 0, 0, 0, 0, 0, 31, 0, 31,
+ 0, 0, 0, 0, 0,
+
+ 255, 13, 0, 0, 0, 0, 0, 0, 224, 7, 224, 7, 0, 0, 0, 0, 255, 15, 0,
+ 0, 0, 0, 0, 0, 224, 7, 224, 7, 0, 0, 0, 0, 255, 136, 0, 0, 0, 0,
+ 0, 0, 224, 7, 224, 7, 0, 0, 0, 0, 255, 16, 0, 0, 0, 0, 0, 0, 224,
+ 7, 224, 7, 0, 0, 0, 0,
+
+ 255, 246, 0, 0, 0, 0, 0, 0, 31, 248, 31, 248, 0, 0, 0, 0, 255, 215,
+ 0, 0, 0, 0, 0, 0, 31, 248, 31, 248, 0, 0, 0, 0, 255, 67, 0, 0, 0,
+ 0, 0, 0, 31, 248, 31, 248, 0, 0, 0, 0, 255, 124, 0, 0, 0, 0, 0, 0,
+ 31, 248, 31, 248, 0, 0, 0, 0,
+
+ 255, 50, 0, 0, 0, 0, 0, 0, 255, 7, 255, 7, 0, 0, 0, 0, 255, 21, 0,
+ 0, 0, 0, 0, 0, 255, 7, 255, 7, 0, 0, 0, 0, 255, 105, 0, 0, 0, 0,
+ 0, 0, 255, 7, 255, 7, 0, 0, 0, 0, 255, 90, 0, 0, 0, 0, 0, 0, 255,
+ 7, 255, 7, 0, 0, 0, 0,
+
+ 255, 115, 0, 0, 0, 0, 0, 0, 224, 255, 224, 255, 0, 0, 0, 0, 255,
+ 4, 0, 0, 0, 0, 0, 0, 224, 255, 224, 255, 0, 0, 0, 0, 255, 6, 0, 0,
+ 0, 0, 0, 0, 224, 255, 224, 255, 0, 0, 0, 0, 255, 192, 0, 0, 0, 0,
+ 0, 0, 224, 255, 224, 255, 0, 0, 0, 0
+};
+
+unsigned char bptc_rgb_signed_float[] = {
+ 227, 30, 0, 0, 184, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 30, 0,
+ 0, 184, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 30, 0, 0, 184, 7, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 30, 0, 0, 184, 7, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+
+ 3, 0, 0, 238, 1, 0, 128, 123, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 238,
+ 1, 0, 128, 123, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 238, 1, 0, 128,
+ 123, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 238, 1, 0, 128, 123, 0, 0,
+ 0, 0, 0, 0, 0, 0,
+
+ 3, 128, 123, 0, 0, 224, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 128, 123,
+ 0, 0, 224, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 128, 123, 0, 0, 224,
+ 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 128, 123, 0, 0, 224, 30, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,
+
+ 227, 30, 0, 238, 185, 7, 128, 123, 0, 0, 0, 0, 0, 0, 0, 0, 227, 30,
+ 0, 238, 185, 7, 128, 123, 0, 0, 0, 0, 0, 0, 0, 0, 227, 30, 0, 238,
+ 185, 7, 128, 123, 0, 0, 0, 0, 0, 0, 0, 0, 227, 30, 0, 238, 185, 7,
+ 128, 123, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 3, 128, 123, 238, 1, 224, 158, 123, 0, 0, 0, 0, 0, 0, 0, 0, 3, 128,
+ 123, 238, 1, 224, 158, 123, 0, 0, 0, 0, 0, 0, 0, 0, 3, 128, 123,
+ 238, 1, 224, 158, 123, 0, 0, 0, 0, 0, 0, 0, 0, 3, 128, 123, 238,
+ 1, 224, 158, 123, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 227, 158, 123, 0, 184, 231, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 158,
+ 123, 0, 184, 231, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 158, 123, 0,
+ 184, 231, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 158, 123, 0, 184, 231,
+ 30, 0, 0, 0, 0, 0, 0, 0, 0, 0
+};
+
+#endif /* CUBEMAP_COMPRESSED_DATA_H */
--
2.20.1
More information about the Piglit
mailing list