summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nv30/nv30_format.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/nv30/nv30_format.h')
-rw-r--r--src/gallium/drivers/nv30/nv30_format.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/src/gallium/drivers/nv30/nv30_format.h b/src/gallium/drivers/nv30/nv30_format.h
new file mode 100644
index 00000000000..8bf4a37299f
--- /dev/null
+++ b/src/gallium/drivers/nv30/nv30_format.h
@@ -0,0 +1,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