18d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie/* 28d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie * Copyright (C) 2011 Red Hat Inc. 38d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie * 48d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie * Permission is hereby granted, free of charge, to any person obtaining a 58d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie * copy of this software and associated documentation files (the "Software"), 68d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie * to deal in the Software without restriction, including without limitation 78d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie * the rights to use, copy, modify, merge, publish, distribute, sublicense, 88d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie * and/or sell copies of the Software, and to permit persons to whom the 98d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie * Software is furnished to do so, subject to the following conditions: 108d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie * 118d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie * The above copyright notice and this permission notice (including the next 128d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie * paragraph) shall be included in all copies or substantial portions of the 138d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie * Software. 148d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie * 158d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 168d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 178d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 188d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 198d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 208d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 218d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie * DEALINGS IN THE SOFTWARE. 228d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie */ 238d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie 248d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie#ifndef TEXCOMPRESS_RGTC_H 258d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie#define TEXCOMPRESS_RGTC_H 268d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie 278d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie#include "glheader.h" 288d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie#include "mfeatures.h" 298d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie#include "texstore.h" 308d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie 31a1661dc8957a35899d653e9fffd97f166c56be56Brian Paulstruct swrast_texture_image; 328d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie 338d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlieextern GLboolean 348d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie_mesa_texstore_red_rgtc1(TEXSTORE_PARAMS); 358d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie 368d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlieextern GLboolean 378d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie_mesa_texstore_signed_red_rgtc1(TEXSTORE_PARAMS); 388d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie 398d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlieextern GLboolean 408d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie_mesa_texstore_rg_rgtc2(TEXSTORE_PARAMS); 418d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie 428d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlieextern GLboolean 438d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie_mesa_texstore_signed_rg_rgtc2(TEXSTORE_PARAMS); 448d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie 458d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlieextern void 46d78b44c2651b45c337dda71b17351beb41eb9c14Brian Paul_mesa_fetch_texel_red_rgtc1(const struct swrast_texture_image *texImage, 47d78b44c2651b45c337dda71b17351beb41eb9c14Brian Paul GLint i, GLint j, GLint k, GLfloat *texel); 488d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie 498d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlieextern void 50d78b44c2651b45c337dda71b17351beb41eb9c14Brian Paul_mesa_fetch_texel_signed_red_rgtc1(const struct swrast_texture_image *texImage, 51d78b44c2651b45c337dda71b17351beb41eb9c14Brian Paul GLint i, GLint j, GLint k, GLfloat *texel); 528d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie 538d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlieextern void 54d78b44c2651b45c337dda71b17351beb41eb9c14Brian Paul_mesa_fetch_texel_rg_rgtc2(const struct swrast_texture_image *texImage, 55d78b44c2651b45c337dda71b17351beb41eb9c14Brian Paul GLint i, GLint j, GLint k, GLfloat *texel); 568d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie 578d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlieextern void 58d78b44c2651b45c337dda71b17351beb41eb9c14Brian Paul_mesa_fetch_texel_signed_rg_rgtc2(const struct swrast_texture_image *texImage, 59d78b44c2651b45c337dda71b17351beb41eb9c14Brian Paul GLint i, GLint j, GLint k, GLfloat *texel); 607d16e2c0cd70dc5a23b746dbc8e44c58366b5353Marek Olšák 617d16e2c0cd70dc5a23b746dbc8e44c58366b5353Marek Olšákextern void 62d78b44c2651b45c337dda71b17351beb41eb9c14Brian Paul_mesa_fetch_texel_l_latc1(const struct swrast_texture_image *texImage, 63d78b44c2651b45c337dda71b17351beb41eb9c14Brian Paul GLint i, GLint j, GLint k, GLfloat *texel); 647d16e2c0cd70dc5a23b746dbc8e44c58366b5353Marek Olšák 657d16e2c0cd70dc5a23b746dbc8e44c58366b5353Marek Olšákextern void 66d78b44c2651b45c337dda71b17351beb41eb9c14Brian Paul_mesa_fetch_texel_signed_l_latc1(const struct swrast_texture_image *texImage, 67d78b44c2651b45c337dda71b17351beb41eb9c14Brian Paul GLint i, GLint j, GLint k, GLfloat *texel); 687d16e2c0cd70dc5a23b746dbc8e44c58366b5353Marek Olšák 697d16e2c0cd70dc5a23b746dbc8e44c58366b5353Marek Olšákextern void 70d78b44c2651b45c337dda71b17351beb41eb9c14Brian Paul_mesa_fetch_texel_la_latc2(const struct swrast_texture_image *texImage, 71d78b44c2651b45c337dda71b17351beb41eb9c14Brian Paul GLint i, GLint j, GLint k, GLfloat *texel); 727d16e2c0cd70dc5a23b746dbc8e44c58366b5353Marek Olšák 737d16e2c0cd70dc5a23b746dbc8e44c58366b5353Marek Olšákextern void 74d78b44c2651b45c337dda71b17351beb41eb9c14Brian Paul_mesa_fetch_texel_signed_la_latc2(const struct swrast_texture_image *texImage, 75d78b44c2651b45c337dda71b17351beb41eb9c14Brian Paul GLint i, GLint j, GLint k, GLfloat *texel); 767d16e2c0cd70dc5a23b746dbc8e44c58366b5353Marek Olšák 778d47c919859e9cd90cfc04eb220ac8a5aa87048eDave Airlie#endif 78