1a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs#ifndef __NV30_SCREEN_H__ 2a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs#define __NV30_SCREEN_H__ 3a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs 4a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs#include <stdio.h> 5a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs 6a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs#define NOUVEAU_ERR(fmt, args...) \ 7a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs fprintf(stderr, "%s:%d - "fmt, __FUNCTION__, __LINE__, ##args); 8a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs 9a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs#include "util/u_double_list.h" 10a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs 11a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs#include "nouveau/nouveau_screen.h" 12a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs#include "nouveau/nouveau_fence.h" 13a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs#include "nouveau/nouveau_heap.h" 14a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs#include "nv30_winsys.h" 15a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs#include "nv30_resource.h" 16a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs 17a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggsstruct nv30_context; 18a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs 19a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggsstruct nv30_screen { 20a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs struct nouveau_screen base; 21a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs 22a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs struct nv30_context *cur_ctx; 23a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs 24a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs struct nouveau_bo *notify; 25a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs 26a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs struct nouveau_object *ntfy; 27a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs struct nouveau_object *fence; 28a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs 29a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs struct nouveau_object *query; 30a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs struct nouveau_heap *query_heap; 31a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs struct list_head queries; 32a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs 33a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs struct nouveau_object *null; 34a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs struct nouveau_object *eng3d; 35a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs struct nouveau_object *m2mf; 36a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs struct nouveau_object *surf2d; 37a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs struct nouveau_object *swzsurf; 38a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs struct nouveau_object *sifm; 39a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs 40a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs /*XXX: nvfx state */ 41a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs struct nouveau_heap *vp_exec_heap; 42a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs struct nouveau_heap *vp_data_heap; 43a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs}; 44a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs 45a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggsstatic INLINE struct nv30_screen * 46a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggsnv30_screen(struct pipe_screen *pscreen) 47a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs{ 48a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs return (struct nv30_screen *)pscreen; 49a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs} 50a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs 51a2fc42b899de22273c1df96091bfb5c636075cb0Ben Skeggs#endif 52