5 Known Problems and Workarounds
- 1 -
1. Introduction
These release notes describe the Graphics Library
Development Environment for IRIX 6.0. OpenGL information
can be found in Chapter 6.
Note: Packaged with your software is a separate sheet that
contains the Software License Agreement. This
software is provided to you solely under the terms
and conditions of the Software License Agreement.
Please take a few moments to review the Agreement.
This document contains the following chapters:
1. Introduction
2. Installation Information
3. Changes and Additions
4. Bug Fixes
5. Known Problems and Workarounds
6. OpenGL
1.1 Release_Identification_Information
Following is the release identification information for GL
Development Software:
Software Option Product GL Development
Software
Version 6.0
Product Code SC4-IDO-6.0
System Software Requirements IRIX 6.0
1.2 Online_Release_Notes
After you install the online documentation for a product
(the relnotes subsystem), you can view the release notes on
your screen.
If you have a graphics system, select ``Release Notes'' from
the Tools submenu of the Toolchest. This displays the
grelnotes(1) graphical browser for the online release notes.
- 2 -
Refer to the grelnotes(1) man page for information on
options to this command.
If you do not have a graphics system, you can use the
relnotes command. Refer to the relnotes(1) man page for
accessing the online release notes.
1.3 Product_Support
Silicon Graphics, Inc., provides a comprehensive product
support maintenance program for its products.
If you are in the U.S. or Canada and would like support for
your Silicon Graphics-supported products, contact the
Technical Assistance Center at 1-800-800-4SGI. If you are
outside these areas, contact the Silicon Graphics subsidiary
or authorized distributor in your country.
- 1 -
2. Installation_Information
This chapter lists supplemental information to the IRIS
Software Installation Guide. The information listed here is
product-specific; use it with the Installation Guide to
install this product.
2.1 Graphics_Library_Development_Environment_Subsystems
The GL Development Environment includes these subsystems:
gl_dev.man.gldev These are the man pages for
the GL calls in all languages.
gl_dev.man.relnotes These release notes.
2.2 GL Development Environment Subsystem Disk Space
Requirements
This section lists the subsystems (and their sizes) of the
GL Development Environment option.
If you are installing this option for the first time, the
subsystems marked ``default'' are the ones that are
installed if you use the ``go'' menu item. To install a
different set of subsystems, use the ``install,''
``remove,'' ``keep,'' and ``step'' commands in inst to
customize the list of subsystems to be installed, then
select the ``go'' menu item.
Note: The listed subsystem sizes are approximate. Refer to
the IRIS Software Installation Guide for information
on finding exact sizes.
Subsystem Name Subsystem Size
(512-byte blocks)
gl_dev.books.OpenGL_PG (default) 13862
gl_dev.books.OpenGL_Porting (default) 2909
gl_dev.books.OpenGL_RM (default) 5324
gl_dev.man.gldev (default) 3866
gl_dev.man.relnotes (default) 52
gl_dev.sw.gldev (default) 2070
gl_dev.sw.oglsamples 18353
- 2 -
2.3 Installation_Method
All of the subsystems for GL Development Environment can be
installed using IRIX. You do not need to use the miniroot.
Refer to the IRIS Software Installation Guide for complete
installation instructions.
2.4 Prerequisites
To use gl_dev, you must install x_dev.sw to get the libX11
libraries.
- 1 -
3. Changes_and_Additions
No new features have been added to IRIS GL for 6.0.
OpenGL is fully supported in 32-bit and 64-bit programs.
Bindings for FORTRAN OpenGL programs are available in
libfogl.so and libfoglu.so.
- 1 -
4. Bug_Fixes
None.
- 1 -
5. Known_Problems_and_Workarounds
o On all RealityEngine systems, when RGBsize(8) is set,
z-buffer readbacks might return incorrect data.
o On RealityEngine systems, pixel transfers larger than
2048 x 2048 do not work.
o On RealityEngine systems, texture coordinates from the
t3f command are not correctly transformed by the 3x3
texture matrix.
o On Extreme systems, when rendering with concave(TRUE),
very small concave and convex polygons (less than 1
pixel in size in screen space) fail to draw sometimes.
Users should avoid setting concave(TRUE) when drawing
data sets that do not contain concave polygons. The
only solution for such very small concave polygons is
for you the user to tesselate the concave polygon into
triangles.
o The glprof and gldebug programs are not supported in
this release.
- 1 -
6. OpenGL
The 6.0 release adds support for OpenGL on Power Onyx
RealityEngine2 and Power Onyx Extreme systems. Both 32-bit
and 64-bit versions of the Dynamic Shared Objects are
available.
6.1 Documentation
The following documentation is available for OpenGL:
o The OpenGL Programming Guide (Addison-Wesley, 1993) is
a comprehensive guide to programming with OpenGL.
o The OpenGL Reference Manual (Addison-Wesley, 1992)
contains an overview of OpenGL and man pages for all
OpenGL, GLX and GLU functions.
o The OpenGL Porting Guide describes how to port programs
that were written for IRIS GL.
o The IRIS Programming Notes include documentation for
X11, GL/GLX, Font Manager and mixed model programming
in IRIS GL.
The IRIS Development Option documentation includes an online
copy of The OpenGL Porting Guide, an online copy of the IRIS
Programming Notes, and man pages for all OpenGL, GLX and GLU
functions. It also comes with a hardcopy of the OpenGL
Programming Guide. You may also order a hardcopy of the
porting guide (part number M4-OGLPort-5.1) and the OpenGL
Reference Manual (part number M4-OGLMAN-1.0).
If you're porting from IRIS GL to OpenGL, the best approach
is to convert your program to a mixed-model program first
(see the IRIS Programming Notes) and then consult The OpenGL
Porting Guide for more information.
Unlike IrisGL, OpenGL processes are not allowed to share
file descriptors. This means that OpenGL processes should
not specify PR_SFDS or PR_SALL when calling sproc. OpenGL
processes may share access to the graphics hardware if they
access the graphics device through unique file descriptors.
6.2 Known_problems_in_6.0
The following problems exist 6.0:
o Textures loaded using glPixelMap might be corrupted
when enough textures are loaded to cause kernel
management of texture memory. Corruption should occur
- 2 -
only if the glPixelMap has changed or been disabled
since the original load.
o Line stippling for antialiased lines is not quite
correct on Power Onyx RealityEngine systems.
o Different OpenGL processes which render to the same
window using direct rendering will not share the
software ancillary buffers on that window.
o X and OpenGL may not coordinate swapping on double-
buffered windows properly.
o During direct rendering, software buffers that are
associated with the window are not freed when the
window is destroyed, but rather when the display
connection is closed. (The machine type determines
which buffers are implemented in software; on Indigo
Starter and Indy, for example, depth buffer, stencil
buffer, and accum buffer are all software buffers.)
A workaround has been included to force the buffers to
be cleaned up, at the cost of an extra X connection.
To enable this feature, do
setenv GL_CHECK_WINDOW_DESTROY y
before the first glXCreateContext. It will check for
window destroy events and clean up memory the next time
any rendering context is bound to a new window.
o If an OpenGL program does a server grab using its X
connection, then for the duration of the grab it should
not render OpenGL into any window that the client doing
the grab did not create. Otherwise a deadlock occurs.
The client is still able to do X rendering. This holds
for both local and remote rendering.
o No locking of display list structures is done on behalf
of indirect OpenGL contexts that share display list
spaces. Applications that use such contexts should use
their own mechanisms to ensure mutual exclusion when
defining or destroying display lists.
o When running OpenGL applications that use indirect
rendering, it is normal for more than one instance of
Xsgi, the SGI X server, to show up under ps. They
represent multiple threads of the X server, used to
implement indirect rendering.
- 3 -
o No extensions to OpenGL have been implemented.
o You may notice some discrepancies between the OpenGL
Reference Manual which is available through InSight and
the man pages you see when you type "man glXxx" in a
shell window. If so, you should believe what you see in
the shell window.
o
- 1 -
1. gl_dev_Man_Pages
This appendix contains the man page(s) for gl_dev. These
man pages appear on-line when you type:
man commandname
Printed copies of these man pages are included; they are not
included in the on-line release notes.