summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nouveau/nv30/nv30_format.h
blob: fa1e922fb656ddc16a6cb6291bb881bc0a67b4ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#ifndef __NV30_FORMAT_H__
#define __NV30_FORMAT_H__

struct nv30_format_info {
   unsigned bindings;
};

struct nv30_format {
   unsigned hw;
};

struct nv30_vtxfmt {
   unsigned hw;
};

struct nv30_texfmt {
   unsigned nv30;
   unsigned nv30_rect;
   unsigned nv40;
   struct {
      unsigned src;
      unsigned cmp;
   } swz[6];
   unsigned swizzle;
   unsigned filter;
   unsigned wrap;
};

extern const struct nv30_format_info nv30_format_info_table[];
static inline const struct nv30_format_info *
nv30_format_info(struct pipe_screen *pscreen, enum pipe_format format)
{
   return &nv30_format_info_table[format];
}

extern const struct nv30_format nv30_format_table[];
static inline const struct nv30_format *
nv30_format(struct pipe_screen *pscreen, enum pipe_format format)
{
   return &nv30_format_table[format];
}

extern const struct nv30_vtxfmt nv30_vtxfmt_table[];
static inline const struct nv30_vtxfmt *
nv30_vtxfmt(struct pipe_screen *pscreen, enum pipe_format format)
{
   return &nv30_vtxfmt_table[format];
}

extern const struct nv30_texfmt nv30_texfmt_table[];
static inline const struct nv30_texfmt *
nv30_texfmt(struct pipe_screen *pscreen, enum pipe_format format)
{
   return &nv30_texfmt_table[format];
}

#endif