1 #ifndef __NV30_FORMAT_H__
2 #define __NV30_FORMAT_H__
3 
4 struct nv30_format_info {
5    unsigned bindings;
6 };
7 
8 struct nv30_format {
9    unsigned hw;
10 };
11 
12 struct nv30_vtxfmt {
13    unsigned hw;
14 };
15 
16 struct 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 
29 extern const struct nv30_format_info nv30_format_info_table[];
30 static inline const struct nv30_format_info *
nv30_format_info(struct pipe_screen * pscreen,enum pipe_format format)31 nv30_format_info(struct pipe_screen *pscreen, enum pipe_format format)
32 {
33    return &nv30_format_info_table[format];
34 }
35 
36 extern const struct nv30_format nv30_format_table[];
37 static inline const struct nv30_format *
nv30_format(struct pipe_screen * pscreen,enum pipe_format format)38 nv30_format(struct pipe_screen *pscreen, enum pipe_format format)
39 {
40    return &nv30_format_table[format];
41 }
42 
43 extern const struct nv30_vtxfmt nv30_vtxfmt_table[];
44 static inline const struct nv30_vtxfmt *
nv30_vtxfmt(struct pipe_screen * pscreen,enum pipe_format format)45 nv30_vtxfmt(struct pipe_screen *pscreen, enum pipe_format format)
46 {
47    return &nv30_vtxfmt_table[format];
48 }
49 
50 extern const struct nv30_texfmt nv30_texfmt_table[];
51 static inline const struct nv30_texfmt *
nv30_texfmt(struct pipe_screen * pscreen,enum pipe_format format)52 nv30_texfmt(struct pipe_screen *pscreen, enum pipe_format format)
53 {
54    return &nv30_texfmt_table[format];
55 }
56 
57 #endif
58