1bf215546Sopenharmony_ci#ifndef __NV30_SCREEN_H__ 2bf215546Sopenharmony_ci#define __NV30_SCREEN_H__ 3bf215546Sopenharmony_ci 4bf215546Sopenharmony_ci#include <stdio.h> 5bf215546Sopenharmony_ci 6bf215546Sopenharmony_ci#include "util/list.h" 7bf215546Sopenharmony_ci 8bf215546Sopenharmony_ci#include "nouveau_debug.h" 9bf215546Sopenharmony_ci#include "nouveau_screen.h" 10bf215546Sopenharmony_ci#include "nouveau_fence.h" 11bf215546Sopenharmony_ci#include "nouveau_heap.h" 12bf215546Sopenharmony_ci#include "nv30/nv30_winsys.h" 13bf215546Sopenharmony_ci#include "nv30/nv30_resource.h" 14bf215546Sopenharmony_ci#include "compiler/nir/nir.h" 15bf215546Sopenharmony_ci 16bf215546Sopenharmony_cistruct nv30_context; 17bf215546Sopenharmony_ci 18bf215546Sopenharmony_cistruct nv30_screen { 19bf215546Sopenharmony_ci struct nouveau_screen base; 20bf215546Sopenharmony_ci 21bf215546Sopenharmony_ci struct nv30_context *cur_ctx; 22bf215546Sopenharmony_ci 23bf215546Sopenharmony_ci struct nouveau_bo *notify; 24bf215546Sopenharmony_ci 25bf215546Sopenharmony_ci struct nouveau_object *ntfy; 26bf215546Sopenharmony_ci struct nouveau_object *fence; 27bf215546Sopenharmony_ci 28bf215546Sopenharmony_ci struct nouveau_object *query; 29bf215546Sopenharmony_ci struct nouveau_heap *query_heap; 30bf215546Sopenharmony_ci struct list_head queries; 31bf215546Sopenharmony_ci 32bf215546Sopenharmony_ci struct nouveau_object *null; 33bf215546Sopenharmony_ci struct nouveau_object *eng3d; 34bf215546Sopenharmony_ci struct nouveau_object *m2mf; 35bf215546Sopenharmony_ci struct nouveau_object *surf2d; 36bf215546Sopenharmony_ci struct nouveau_object *swzsurf; 37bf215546Sopenharmony_ci struct nouveau_object *sifm; 38bf215546Sopenharmony_ci 39bf215546Sopenharmony_ci /*XXX: nvfx state */ 40bf215546Sopenharmony_ci struct nouveau_heap *vp_exec_heap; 41bf215546Sopenharmony_ci struct nouveau_heap *vp_data_heap; 42bf215546Sopenharmony_ci 43bf215546Sopenharmony_ci nir_shader_compiler_options fs_compiler_options; 44bf215546Sopenharmony_ci 45bf215546Sopenharmony_ci unsigned max_sample_count; 46bf215546Sopenharmony_ci}; 47bf215546Sopenharmony_ci 48bf215546Sopenharmony_cistatic inline struct nv30_screen * 49bf215546Sopenharmony_cinv30_screen(struct pipe_screen *pscreen) 50bf215546Sopenharmony_ci{ 51bf215546Sopenharmony_ci return (struct nv30_screen *)pscreen; 52bf215546Sopenharmony_ci} 53bf215546Sopenharmony_ci 54bf215546Sopenharmony_ci#endif 55