nv50_screen.h revision f30810cb68a53c4fef360778a230126ed0ee0ee3
1#ifndef __NV50_SCREEN_H__ 2#define __NV50_SCREEN_H__ 3 4#include "nouveau/nouveau_screen.h" 5 6struct nv50_context; 7 8struct nv50_screen { 9 struct nouveau_screen base; 10 11 struct nouveau_winsys *nvws; 12 13 struct nv50_context *cur_ctx; 14 15 struct nouveau_grobj *tesla; 16 struct nouveau_grobj *eng2d; 17 struct nouveau_grobj *m2mf; 18 struct nouveau_notifier *sync; 19 20 struct nouveau_bo *constbuf_misc[1]; 21 struct nouveau_bo *constbuf_parm[PIPE_SHADER_TYPES]; 22 23 struct nouveau_resource *immd_heap; 24 25 struct nouveau_bo *tic; 26 struct nouveau_bo *tsc; 27 28 struct nouveau_bo *stack_bo; /* control flow stack */ 29 struct nouveau_bo *local_bo; /* l[] memory */ 30 31 boolean force_push; 32}; 33 34static INLINE struct nv50_screen * 35nv50_screen(struct pipe_screen *screen) 36{ 37 return (struct nv50_screen *)screen; 38} 39 40extern void nv50_screen_relocs(struct nv50_screen *); 41 42struct nv50_format { 43 uint32_t rt; 44 uint32_t tic; 45 uint32_t vtx; 46 uint32_t usage; 47}; 48 49extern const struct nv50_format nv50_format_table[]; 50 51#endif 52