1848b8605Smrg/* 2848b8605Smrg * Copyright (C) 2011 LunarG, Inc. 3848b8605Smrg * 4848b8605Smrg * Permission is hereby granted, free of charge, to any person obtaining a 5848b8605Smrg * copy of this software and associated documentation files (the "Software"), 6848b8605Smrg * to deal in the Software without restriction, including without limitation 7848b8605Smrg * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8848b8605Smrg * and/or sell copies of the Software, and to permit persons to whom the 9848b8605Smrg * Software is furnished to do so, subject to the following conditions: 10848b8605Smrg * 11848b8605Smrg * The above copyright notice and this permission notice (including the next 12848b8605Smrg * paragraph) shall be included in all copies or substantial portions of the 13848b8605Smrg * Software. 14848b8605Smrg * 15848b8605Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16848b8605Smrg * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17848b8605Smrg * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 18848b8605Smrg * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19848b8605Smrg * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20848b8605Smrg * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 21848b8605Smrg * DEALINGS IN THE SOFTWARE. 22848b8605Smrg */ 23848b8605Smrg 24848b8605Smrg#ifndef TEXCOMPRESS_ETC1_H 25848b8605Smrg#define TEXCOMPRESS_ETC1_H 26848b8605Smrg 27848b8605Smrg#include <inttypes.h> 28848b8605Smrg#include "glheader.h" 29848b8605Smrg#include "texcompress.h" 30848b8605Smrg#include "texstore.h" 31848b8605Smrg 32848b8605Smrg 33848b8605SmrgGLboolean 34848b8605Smrg_mesa_texstore_etc1_rgb8(TEXSTORE_PARAMS); 35848b8605Smrg 36848b8605SmrgGLboolean 37848b8605Smrg_mesa_texstore_etc2_rgb8(TEXSTORE_PARAMS); 38848b8605Smrg 39848b8605SmrgGLboolean 40848b8605Smrg_mesa_texstore_etc2_srgb8(TEXSTORE_PARAMS); 41848b8605Smrg 42848b8605SmrgGLboolean 43848b8605Smrg_mesa_texstore_etc2_rgba8_eac(TEXSTORE_PARAMS); 44848b8605Smrg 45848b8605SmrgGLboolean 46848b8605Smrg_mesa_texstore_etc2_srgb8_alpha8_eac(TEXSTORE_PARAMS); 47848b8605Smrg 48848b8605SmrgGLboolean 49848b8605Smrg_mesa_texstore_etc2_r11_eac(TEXSTORE_PARAMS); 50848b8605Smrg 51848b8605SmrgGLboolean 52848b8605Smrg_mesa_texstore_etc2_rg11_eac(TEXSTORE_PARAMS); 53848b8605Smrg 54848b8605SmrgGLboolean 55848b8605Smrg_mesa_texstore_etc2_signed_r11_eac(TEXSTORE_PARAMS); 56848b8605Smrg 57848b8605SmrgGLboolean 58848b8605Smrg_mesa_texstore_etc2_signed_rg11_eac(TEXSTORE_PARAMS); 59848b8605Smrg 60848b8605SmrgGLboolean 61848b8605Smrg_mesa_texstore_etc2_rgb8_punchthrough_alpha1(TEXSTORE_PARAMS); 62848b8605Smrg 63848b8605SmrgGLboolean 64848b8605Smrg_mesa_texstore_etc2_srgb8_punchthrough_alpha1(TEXSTORE_PARAMS); 65848b8605Smrg 66848b8605Smrgvoid 67848b8605Smrg_mesa_etc1_unpack_rgba8888(uint8_t *dst_row, 68848b8605Smrg unsigned dst_stride, 69848b8605Smrg const uint8_t *src_row, 70848b8605Smrg unsigned src_stride, 71848b8605Smrg unsigned src_width, 72848b8605Smrg unsigned src_height); 73848b8605Smrgvoid 74848b8605Smrg_mesa_unpack_etc2_format(uint8_t *dst_row, 75848b8605Smrg unsigned dst_stride, 76848b8605Smrg const uint8_t *src_row, 77848b8605Smrg unsigned src_stride, 78848b8605Smrg unsigned src_width, 79848b8605Smrg unsigned src_height, 80b8e80941Smrg mesa_format format, 81b8e80941Smrg bool bgra); 82848b8605Smrg 83848b8605Smrgcompressed_fetch_func 84848b8605Smrg_mesa_get_etc_fetch_func(mesa_format format); 85848b8605Smrg 86848b8605Smrg#endif 87