1760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org/**************************************************************************
2760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org *
3760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org * Copyright 2010 VMware, Inc.
4760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org * All Rights Reserved.
5760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org *
6760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org * Permission is hereby granted, free of charge, to any person obtaining a
7760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org * copy of this software and associated documentation files (the
8760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org * "Software"), to deal in the Software without restriction, including
9760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org * without limitation the rights to use, copy, modify, merge, publish,
10760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org * distribute, sub license, and/or sell copies of the Software, and to
11760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org * permit persons to whom the Software is furnished to do so, subject to
12760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org * the following conditions:
13760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org *
14760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
17760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org * THE COPYRIGHT HOLDERS, AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM,
18760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
19760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
20760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org * USE OR OTHER DEALINGS IN THE SOFTWARE.
21760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org *
22760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org * The above copyright notice and this permission notice (including the
23760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org * next paragraph) shall be included in all copies or substantial portions
24760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org * of the Software.
25760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org *
26760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org **************************************************************************/
27760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
28760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
29760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org#ifndef U_FORMAT_S3TC_H_
30760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org#define U_FORMAT_S3TC_H_
31760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
32760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
33760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org#include "pipe/p_compiler.h"
34760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
35760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
36760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgenum util_format_dxtn {
37760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org  UTIL_FORMAT_DXT1_RGB = 0x83F0,
38760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org  UTIL_FORMAT_DXT1_RGBA = 0x83F1,
39760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org  UTIL_FORMAT_DXT3_RGBA = 0x83F2,
40760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org  UTIL_FORMAT_DXT5_RGBA = 0x83F3
41760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org};
42760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
43760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
44760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgtypedef void
45760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org(*util_format_dxtn_fetch_t)( int src_stride,
46760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org                             const uint8_t *src,
47760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org                             int col, int row,
48760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org                             uint8_t *dst );
49760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
50760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgtypedef void
51760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org(*util_format_dxtn_pack_t)( int src_comps,
52760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org                            int width, int height,
53760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org                            const uint8_t *src,
54760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org                            enum util_format_dxtn dst_format,
55760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org                            uint8_t *dst,
56760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org                            int dst_stride);
57760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
58760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgextern boolean util_format_s3tc_enabled;
59760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
60760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgextern util_format_dxtn_fetch_t util_format_dxt1_rgb_fetch;
61760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgextern util_format_dxtn_fetch_t util_format_dxt1_rgba_fetch;
62760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgextern util_format_dxtn_fetch_t util_format_dxt3_rgba_fetch;
63760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgextern util_format_dxtn_fetch_t util_format_dxt5_rgba_fetch;
64760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
65760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgextern util_format_dxtn_pack_t util_format_dxtn_pack;
66760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
67760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
68760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
69760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_s3tc_init(void);
70760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
71760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
72760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
73760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt1_rgb_unpack_rgba_8unorm(uint8_t *dst_row, unsigned dst_stride, const uint8_t *src_row, unsigned src_stride, unsigned width, unsigned height);
74760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
75760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
76760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt1_rgb_pack_rgba_8unorm(uint8_t *dst_row, unsigned dst_stride, const uint8_t *src_row, unsigned src_stride, unsigned width, unsigned height);
77760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
78760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
79760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt1_rgb_fetch_rgba_8unorm(uint8_t *dst, const uint8_t *src, unsigned i, unsigned j);
80760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
81760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
82760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt1_rgba_unpack_rgba_8unorm(uint8_t *dst_row, unsigned dst_stride, const uint8_t *src_row, unsigned src_stride, unsigned width, unsigned height);
83760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
84760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
85760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt1_rgba_pack_rgba_8unorm(uint8_t *dst_row, unsigned dst_stride, const uint8_t *src_row, unsigned src_stride, unsigned width, unsigned height);
86760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
87760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
88760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt1_rgba_fetch_rgba_8unorm(uint8_t *dst, const uint8_t *src, unsigned i, unsigned j);
89760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
90760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
91760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt3_rgba_unpack_rgba_8unorm(uint8_t *dst_row, unsigned dst_stride, const uint8_t *src_row, unsigned src_stride, unsigned width, unsigned height);
92760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
93760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
94760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt3_rgba_pack_rgba_8unorm(uint8_t *dst_row, unsigned dst_stride, const uint8_t *src_row, unsigned src_stride, unsigned width, unsigned height);
95760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
96760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
97760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt3_rgba_fetch_rgba_8unorm(uint8_t *dst, const uint8_t *src, unsigned i, unsigned j);
98760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
99760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
100760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt5_rgba_unpack_rgba_8unorm(uint8_t *dst_row, unsigned dst_stride, const uint8_t *src_row, unsigned src_stride, unsigned width, unsigned height);
101760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
102760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
103760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt5_rgba_pack_rgba_8unorm(uint8_t *dst_row, unsigned dst_stride, const uint8_t *src_row, unsigned src_stride, unsigned width, unsigned height);
104760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
105760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
106760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt5_rgba_fetch_rgba_8unorm(uint8_t *dst, const uint8_t *src, unsigned i, unsigned j);
107760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
108760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
109760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt1_srgb_unpack_rgba_8unorm(uint8_t *dst_row, unsigned dst_stride, const uint8_t *src_row, unsigned src_stride, unsigned width, unsigned height);
110760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
111760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
112760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt1_srgb_pack_rgba_8unorm(uint8_t *dst_row, unsigned dst_stride, const uint8_t *src_row, unsigned src_stride, unsigned width, unsigned height);
113760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
114760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
115760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt1_srgb_fetch_rgba_8unorm(uint8_t *dst, const uint8_t *src, unsigned i, unsigned j);
116760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
117760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
118760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt1_srgba_unpack_rgba_8unorm(uint8_t *dst_row, unsigned dst_stride, const uint8_t *src_row, unsigned src_stride, unsigned width, unsigned height);
119760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
120760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
121760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt1_srgba_pack_rgba_8unorm(uint8_t *dst_row, unsigned dst_stride, const uint8_t *src_row, unsigned src_stride, unsigned width, unsigned height);
122760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
123760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
124760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt1_srgba_fetch_rgba_8unorm(uint8_t *dst, const uint8_t *src, unsigned i, unsigned j);
125760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
126760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
127760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt3_srgba_unpack_rgba_8unorm(uint8_t *dst_row, unsigned dst_stride, const uint8_t *src_row, unsigned src_stride, unsigned width, unsigned height);
128760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
129760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
130760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt3_srgba_pack_rgba_8unorm(uint8_t *dst_row, unsigned dst_stride, const uint8_t *src_row, unsigned src_stride, unsigned width, unsigned height);
131760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
132760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
133760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt3_srgba_fetch_rgba_8unorm(uint8_t *dst, const uint8_t *src, unsigned i, unsigned j);
134760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
135760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
136760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt5_srgba_unpack_rgba_8unorm(uint8_t *dst_row, unsigned dst_stride, const uint8_t *src_row, unsigned src_stride, unsigned width, unsigned height);
137760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
138760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
139760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt5_srgba_pack_rgba_8unorm(uint8_t *dst_row, unsigned dst_stride, const uint8_t *src_row, unsigned src_stride, unsigned width, unsigned height);
140760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
141760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
142760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt5_srgba_fetch_rgba_8unorm(uint8_t *dst, const uint8_t *src, unsigned i, unsigned j);
143760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
144760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
145760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
146760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt1_rgb_unpack_rgba_float(float *dst_row, unsigned dst_stride, const uint8_t *src_row, unsigned src_stride, unsigned width, unsigned height);
147760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
148760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
149760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt1_rgb_pack_rgba_float(uint8_t *dst_row, unsigned dst_stride, const float *src_row, unsigned src_stride, unsigned width, unsigned height);
150760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
151760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
152760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt1_rgb_fetch_rgba_float(float *dst, const uint8_t *src, unsigned i, unsigned j);
153760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
154760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
155760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt1_rgba_unpack_rgba_float(float *dst_row, unsigned dst_stride, const uint8_t *src_row, unsigned src_stride, unsigned width, unsigned height);
156760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
157760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
158760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt1_rgba_pack_rgba_float(uint8_t *dst_row, unsigned dst_stride, const float *src_row, unsigned src_stride, unsigned width, unsigned height);
159760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
160760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
161760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt1_rgba_fetch_rgba_float(float *dst, const uint8_t *src, unsigned i, unsigned j);
162760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
163760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
164760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt3_rgba_unpack_rgba_float(float *dst_row, unsigned dst_stride, const uint8_t *src_row, unsigned src_stride, unsigned width, unsigned height);
165760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
166760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
167760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt3_rgba_pack_rgba_float(uint8_t *dst_row, unsigned dst_stride, const float *src_row, unsigned src_stride, unsigned width, unsigned height);
168760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
169760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
170760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt3_rgba_fetch_rgba_float(float *dst, const uint8_t *src, unsigned i, unsigned j);
171760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
172760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
173760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt5_rgba_unpack_rgba_float(float *dst_row, unsigned dst_stride, const uint8_t *src_row, unsigned src_stride, unsigned width, unsigned height);
174760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
175760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
176760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt5_rgba_pack_rgba_float(uint8_t *dst_row, unsigned dst_stride, const float *src_row, unsigned src_stride, unsigned width, unsigned height);
177760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
178760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
179760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt5_rgba_fetch_rgba_float(float *dst, const uint8_t *src, unsigned i, unsigned j);
180760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
181760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
182760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt1_srgb_unpack_rgba_float(float *dst_row, unsigned dst_stride, const uint8_t *src_row, unsigned src_stride, unsigned width, unsigned height);
183760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
184760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
185760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt1_srgb_pack_rgba_float(uint8_t *dst_row, unsigned dst_stride, const float *src_row, unsigned src_stride, unsigned width, unsigned height);
186760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
187760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
188760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt1_srgb_fetch_rgba_float(float *dst, const uint8_t *src, unsigned i, unsigned j);
189760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
190760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
191760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt1_srgba_unpack_rgba_float(float *dst_row, unsigned dst_stride, const uint8_t *src_row, unsigned src_stride, unsigned width, unsigned height);
192760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
193760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
194760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt1_srgba_pack_rgba_float(uint8_t *dst_row, unsigned dst_stride, const float *src_row, unsigned src_stride, unsigned width, unsigned height);
195760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
196760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
197760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt1_srgba_fetch_rgba_float(float *dst, const uint8_t *src, unsigned i, unsigned j);
198760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
199760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
200760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt3_srgba_unpack_rgba_float(float *dst_row, unsigned dst_stride, const uint8_t *src_row, unsigned src_stride, unsigned width, unsigned height);
201760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
202760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
203760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt3_srgba_pack_rgba_float(uint8_t *dst_row, unsigned dst_stride, const float *src_row, unsigned src_stride, unsigned width, unsigned height);
204760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
205760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
206760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt3_srgba_fetch_rgba_float(float *dst, const uint8_t *src, unsigned i, unsigned j);
207760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
208760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
209760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt5_srgba_unpack_rgba_float(float *dst_row, unsigned dst_stride, const uint8_t *src_row, unsigned src_stride, unsigned width, unsigned height);
210760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
211760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
212760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt5_srgba_pack_rgba_float(uint8_t *dst_row, unsigned dst_stride, const float *src_row, unsigned src_stride, unsigned width, unsigned height);
213760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
214760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgvoid
215760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.orgutil_format_dxt5_srgba_fetch_rgba_float(float *dst, const uint8_t *src, unsigned i, unsigned j);
216760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
217760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org
218760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org#endif /* U_FORMAT_S3TC_H_ */
219