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