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
89
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.