make oldconfig will rebuild these...
[linux-2.4.21-pre4.git] / include / asm-mips64 / rrm.h
1 /*
2  * SGI Rendering Resource Manager API (?).
3  *
4  * written by Miguel de Icaza (miguel@nuclecu.unam.mx)
5  *
6  * Ok, even if SGI choosed to do mmap trough ioctls, their
7  * kernel support for virtualizing the graphics card is nice.
8  *
9  * We should be able to make graphic applications on Linux
10  * fly.
11  *
12  * This header file should be included from GNU libc as well.
13  */
14
15
16 /* Why like this you say?  Well, gdb can print enums */
17 #define RRM_BASE 1000
18 #define RRM_CMD_LIMIT (RRM_BASE + 100)
19
20 enum {
21         RRM_OPENRN = RRM_BASE,  /* open rendering node */
22         RRM_CLOSERN,
23         RRM_BINDPROCTORN,       /* set current rendering region for node */
24         RRM_BINDRNTOCLIP,
25         RRM_UNBINDRNFROMCLIP,
26         RRM_SWAPBUF,
27         RRM_SETSWAPINTERVAL,
28         RRM_WAITFORRETRACE,
29         RRM_SETDISPLAYMODE,
30         RRM_MESSAGE,
31         RRM_INVALIDATERN,
32         RRM_VALIDATECLIP,
33         RRM_VALIDATESWAPBUF,
34         RRM_SWAPGROUP,
35         RRM_SWAPUNGROUP,
36         RRM_VALIDATEMESSAGE,
37         RRM_GETDISPLAYMODES,
38         RRM_LOADDISPLAYMODE,
39         RRM_CUSHIONBUFFER,
40         RRM_SWAPREADY,
41         RRM_MGR_SWAPBUF,
42         RRM_SETVSYNC,
43         RRM_GETVSYNC,
44         RRM_WAITVSYNC,
45         RRM_BINDRNTOREADANDCLIP,
46         RRM_MAPCLIPTOSWPBUFID
47 };
48
49 /* Parameters for the above ioctls
50  *
51  * All of the ioctls take as their first argument the rendering node id.
52  *
53  */
54
55 /*
56  * RRM_OPENRN:
57  *
58  * This is called by the IRIX X server with:
59  * rnid = 0xffffffff rmask = 0
60  *
61  * Returns a number like this: 0x10001.
62  * If you run the X server over and over, you get a value
63  * that is of the form (n * 0x10000) + 1.
64  *
65  * The return value seems to be the RNID.
66  */
67 struct RRM_OpenRN {
68         int      rnid;
69         unsigned int rmask;
70 };
71
72 struct RRM_CloseRN {
73         int rnid;
74 };
75
76 /*
77  * RRM_BINDPROCTORN:
78  *
79  * Return value when the X server calls it: 0
80  */
81 struct RRM_BindProcToRN {
82         int      rnid;
83 };
84
85 #ifdef __KERNEL__
86 int rrm_command (unsigned int cmd, void *arg);
87 int rrm_close (struct inode *inode, struct file *file);
88 #endif