rrm.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:2k
- /*
- * SGI Rendering Resource Manager API (?).
- *
- * written by Miguel de Icaza (miguel@nuclecu.unam.mx)
- *
- * Ok, even if SGI choosed to do mmap trough ioctls, their
- * kernel support for virtualizing the graphics card is nice.
- *
- * We should be able to make graphic applications on Linux
- * fly.
- *
- * This header file should be included from GNU libc as well.
- */
- /* Why like this you say? Well, gdb can print enums */
- #define RRM_BASE 1000
- #define RRM_CMD_LIMIT (RRM_BASE + 100)
- enum {
- RRM_OPENRN = RRM_BASE, /* open rendering node */
- RRM_CLOSERN,
- RRM_BINDPROCTORN, /* set current rendering region for node */
- RRM_BINDRNTOCLIP,
- RRM_UNBINDRNFROMCLIP,
- RRM_SWAPBUF,
- RRM_SETSWAPINTERVAL,
- RRM_WAITFORRETRACE,
- RRM_SETDISPLAYMODE,
- RRM_MESSAGE,
- RRM_INVALIDATERN,
- RRM_VALIDATECLIP,
- RRM_VALIDATESWAPBUF,
- RRM_SWAPGROUP,
- RRM_SWAPUNGROUP,
- RRM_VALIDATEMESSAGE,
- RRM_GETDISPLAYMODES,
- RRM_LOADDISPLAYMODE,
- RRM_CUSHIONBUFFER,
- RRM_SWAPREADY,
- RRM_MGR_SWAPBUF,
- RRM_SETVSYNC,
- RRM_GETVSYNC,
- RRM_WAITVSYNC,
- RRM_BINDRNTOREADANDCLIP,
- RRM_MAPCLIPTOSWPBUFID
- };
- /* Parameters for the above ioctls
- *
- * All of the ioctls take as their first argument the rendering node id.
- *
- */
- /*
- * RRM_OPENRN:
- *
- * This is called by the IRIX X server with:
- * rnid = 0xffffffff rmask = 0
- *
- * Returns a number like this: 0x10001.
- * If you run the X server over and over, you get a value
- * that is of the form (n * 0x10000) + 1.
- *
- * The return value seems to be the RNID.
- */
- struct RRM_OpenRN {
- int rnid;
- unsigned int rmask;
- };
- struct RRM_CloseRN {
- int rnid;
- };
- /*
- * RRM_BINDPROCTORN:
- *
- * Return value when the X server calls it: 0
- */
- struct RRM_BindProcToRN {
- int rnid;
- };
- #ifdef __KERNEL__
- int rrm_command (unsigned int cmd, void *arg);
- int rrm_close (struct inode *inode, struct file *file);
- #endif