diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2009-03-18 08:22:35 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2009-03-18 09:44:40 +1000 |
commit | e00ae524e236afba1305150cacd634eaa1f5460b (patch) | |
tree | e6173fc3a85b6f6b66691e4a880257a39764fd6e /src/gallium/winsys/drm/nouveau/common/nouveau_context.h | |
parent | b46fcf25be4d1d5a5d072fbce03c2490bf41203f (diff) |
nouveau: rewrite winsys in terms of drm_api, support dri2 state tracker
drm_api is a set of hooks used by the dri2 state tracker, this wraps our
dri1 code around the same set of hooks.
Currently the dri2 build will produce nouveau_dri2.so which you'll need
to install as nouveau_dri.so if you wish to try it. The dri2 state
tracker doesn't make it easy for a driver to support both paths in the
same binary.
Diffstat (limited to 'src/gallium/winsys/drm/nouveau/common/nouveau_context.h')
-rw-r--r-- | src/gallium/winsys/drm/nouveau/common/nouveau_context.h | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/src/gallium/winsys/drm/nouveau/common/nouveau_context.h b/src/gallium/winsys/drm/nouveau/common/nouveau_context.h deleted file mode 100644 index ba8fc3ad2d..0000000000 --- a/src/gallium/winsys/drm/nouveau/common/nouveau_context.h +++ /dev/null @@ -1,59 +0,0 @@ -#ifndef __NOUVEAU_CONTEXT_H__ -#define __NOUVEAU_CONTEXT_H__ - -#include "nouveau/nouveau_winsys.h" -#include "nouveau_drmif.h" -#include "nouveau_device.h" -#include "nouveau_channel.h" -#include "nouveau_pushbuf.h" -#include "nouveau_bo.h" -#include "nouveau_grobj.h" -#include "nouveau_notifier.h" -#include "nouveau_class.h" -#include "nouveau_local.h" - -struct nouveau_channel_context { - struct pipe_reference reference; - struct pipe_screen *pscreen; - - unsigned cur_pctx; - unsigned nr_pctx; - struct pipe_context **pctx; - - struct nouveau_channel *channel; - unsigned next_handle; -}; - -struct nouveau_context { - int locked; - struct nouveau_screen *nv_screen; - struct pipe_surface *frontbuffer; - struct pipe_texture *frontbuffer_texture; - - struct { - int hw_vertex_buffer; - int hw_index_buffer; - } cap; - - /* Hardware context */ - struct nouveau_channel_context *nvc; - int pctx_id; -}; - -extern int nouveau_context_init(struct nouveau_screen *nv_screen, - drm_context_t hHWContext, drmLock *sarea_lock, - struct nouveau_context *nv_share, - struct nouveau_context *nv); -extern void nouveau_context_cleanup(struct nouveau_context *nv); - -extern void LOCK_HARDWARE(struct nouveau_context *); -extern void UNLOCK_HARDWARE(struct nouveau_context *); - -extern uint32_t *nouveau_pipe_dma_beginp(struct nouveau_grobj *, int, int); -extern void nouveau_pipe_dma_kickoff(struct nouveau_channel *); - -/* Must be provided by clients of common code */ -extern void -nouveau_contended_lock(struct nouveau_context *nv); - -#endif |