1#ifndef __NV30_FORMAT_H__
2#define __NV30_FORMAT_H__
3
4struct nv30_format_info {
5   unsigned bindings;
6};
7
8struct nv30_format {
9   unsigned hw;
10};
11
12struct nv30_vtxfmt {
13   unsigned hw;
14};
15
16struct nv30_texfmt {
17   unsigned nv30;
18   unsigned nv30_rect;
19   unsigned nv40;
20   struct {
21      unsigned src;
22      unsigned cmp;
23   } swz[6];
24   unsigned swizzle;
25   unsigned filter;
26   unsigned wrap;
27};
28
29extern const struct nv30_format_info nv30_format_info_table[];
30static INLINE const struct nv30_format_info *
31nv30_format_info(struct pipe_screen *pscreen, enum pipe_format format)
32{
33   return &nv30_format_info_table[format];
34}
35
36extern const struct nv30_format nv30_format_table[];
37static INLINE const struct nv30_format *
38nv30_format(struct pipe_screen *pscreen, enum pipe_format format)
39{
40   return &nv30_format_table[format];
41}
42
43extern const struct nv30_vtxfmt nv30_vtxfmt_table[];
44static INLINE const struct nv30_vtxfmt *
45nv30_vtxfmt(struct pipe_screen *pscreen, enum pipe_format format)
46{
47   return &nv30_vtxfmt_table[format];
48}
49
50extern const struct nv30_texfmt nv30_texfmt_table[];
51static INLINE const struct nv30_texfmt *
52nv30_texfmt(struct pipe_screen *pscreen, enum pipe_format format)
53{
54   return &nv30_texfmt_table[format];
55}
56
57#endif
58