Merge branch 'master' of git+ssh://znh@git.freedesktop.org/git/mesa/mesa
[mesa.git] / src / mesa / drivers / dri / nouveau / nouveau_object.h
1 #ifndef __NOUVEAU_OBJECT_H__
2 #define __NOUVEAU_OBJECT_H__
3
4 #include "nouveau_context.h"
5
6 #define ALLOW_MULTI_SUBCHANNEL
7
8 void nouveauObjectInit(nouveauContextPtr nmesa);
9
10 enum DMAObjects {
11 Nv3D = 0x80000019,
12 NvCtxSurf2D = 0x80000020,
13 NvImageBlit = 0x80000021,
14 NvMemFormat = 0x80000022,
15 NvDmaFB = 0xD0FB0001,
16 NvDmaAGP = 0xD0AA0001,
17 NvSyncNotify = 0xD0000001
18 };
19
20 enum DMASubchannel {
21 NvSubCtxSurf2D = 0,
22 NvSubImageBlit = 1,
23 NvSubMemFormat = 2,
24 NvSub3D = 7,
25 };
26
27 extern void nouveauObjectOnSubchannel(nouveauContextPtr nmesa, int subchannel, int handle);
28
29 extern GLboolean nouveauCreateContextObject(nouveauContextPtr nmesa,
30 int handle, int class,
31 uint32_t flags,
32 uint32_t dma_in,
33 uint32_t dma_out,
34 uint32_t dma_notifier);
35 extern GLboolean nouveauCreateDmaObject(nouveauContextPtr nmesa,
36 uint32_t handle,
37 uint32_t offset,
38 uint32_t size,
39 int target,
40 int access);
41 #endif