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