patch-2.1.51 linux/include/asm-mips/rrm.h

Next file: linux/include/asm-mips/shmiq.h
Previous file: linux/include/asm-mips/pgtable.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.50/linux/include/asm-mips/rrm.h linux/include/asm-mips/rrm.h
@@ -0,0 +1,88 @@
+/*
+ * 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

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov