#ifndef __NV30_SCREEN_H__
#define __NV30_SCREEN_H__
#include <stdio.h>
#include "util/list.h"
#include "nouveau_debug.h"
#include "nouveau_screen.h"
#include "nouveau_fence.h"
#include "nouveau_heap.h"
#include "nv30/nv30_winsys.h"
#include "nv30/nv30_resource.h"
struct nv30_context;
struct nv30_screen {
struct nouveau_screen base;
struct nv30_context *cur_ctx;
struct nouveau_bo *notify;
struct nouveau_object *ntfy;
struct nouveau_object *fence;
struct nouveau_object *query;
struct nouveau_heap *query_heap;
struct list_head queries;
struct nouveau_object *null;
struct nouveau_object *eng3d;
struct nouveau_object *m2mf;
struct nouveau_object *surf2d;
struct nouveau_object *swzsurf;
struct nouveau_object *sifm;
/*XXX: nvfx state */
struct nouveau_heap *vp_exec_heap;
struct nouveau_heap *vp_data_heap;
unsigned max_sample_count;
};
static inline struct nv30_screen *
nv30_screen(struct pipe_screen *pscreen)
{
return (struct nv30_screen *)pscreen;
}
#endif