Top Document: SGI graphics Frequently Asked Questions (FAQ) Previous Document: -53- Can I use 4Dgifts code in my application? Next Document: -55- How can I translate screen (x,y) coords into world (x,y,z) coords? See reader questions & answers on this topic! - Help others by sharing your knowledge The "WMAN" in that message means "window manager." However, this no longer means "window manager" such as 4Dwm, but rather the entire X Window system. The error means that the GL program triggered a fatal X error. A GL program can get an X error, because all GL programs are actually X clients. When a GL program does a winopen(), libgl actually calls XCreateWindow, etc.) When a GL program gets an X error, libgl prints out these X errors using this error message: GL: X request = maj.min, error code = ercode where maj = major request code that caused the error min = minor request code ercode = X error code This turns out to be easy to interpret, so long as the request was a core X protocol request (e.g., a CreateWindow request). In that case: 1. You can look up the major code in /usr/include/X11/Xproto.h. 2. The minor code is not used. 3. The X error code can be found in /usr/include/X11/X.h. As you can see in Xproto.h, the core X protocol requests have request codes <= 127. However, if maj > 127, then the request is an X extension request. Unfortunately, it can be difficult to interpret this unless you built your program with a debugging libgl.a (compiled with -g). The reason is that for an X extension, the major request code and the starting error code are copied from the X server during client startup, and these codes are saved in variables inside libgl. With a debugging libgl, these variables can be printed out from within a debugger, such as dbx. If the major code indicates an X Input extension request, then the minor numbers then tell the X input request type, and these are found in /usr/include/X11/extensions/XIproto.h. Finally, the X Input Extension uses 132 as its "starting error code." The possible errors are found in /usr/include/X11/extensions/XI.h, where they're defined like this: #define XI_BadDevice 0 #define XI_BadEvent 1 #define XI_BadMode 2 #define XI_DeviceBusy 3 #define XI_BadClass 4 If you add 132 to these numbers, you get the error that's reported by the libgl error message. User Contributions:Top Document: SGI graphics Frequently Asked Questions (FAQ) Previous Document: -53- Can I use 4Dgifts code in my application? Next Document: -55- How can I translate screen (x,y) coords into world (x,y,z) coords? Single Page [ Usenet FAQs | Web FAQs | Documents | RFC Index ] Send corrections/additions to the FAQ Maintainer: sgi-faq@viz.tamu.edu (The SGI FAQ group)
Last Update March 27 2014 @ 02:12 PM
|
Comment about this article, ask questions, or add new information about this topic: