SGI Logo
 
 

Patch 2739 : RealityEngine rollup #4 for IRIX 6.2 : [IRIX 6.2]
INDEX

  • Relations
  • Release Notes
  • Inst Subsystem Requirements
  • Inst Subsystem Checksums
  • Inst Subsystem File Listings
  • Download Patch


    RELATIONS

    This patch replaces the following patches:
    1442, 1702, 2038

    This patch is incompatible with the following patches:
    1355, 1699, 1808, 2327, 3003

    This patch fixes the following bugs:
    341355 - GL_AMBIENT_AND_DIFFUSE lighting problem on RE Irix 5.3/6.2
    357517 - OpenGL venice disables of evaluators are broken
    358341 - Stonehenge (o32) samples program causes GEFAULT on VENICE (IP19REV)
    365068 - texture -> pbuffer -> convolve -> readback crashes pipe on RE
    370840 - On RE1/2 OpenGL BlendEquation(REVERSE_SUBSTRACT) is totally broken
    372086 - missing error detection in soft code list compile DrawArraysEXT
    372836 - UI&gtCorrupt text appears on dialogs on Onyx RE2 graphics
    372990 - pixie/N32 OpenGL fix
    374451 - flFog on RE
    406391 - Push/Pop does something bad to stencil state.
    407193 - OpenGL RE does not push/pop texgen
    407195 - RE OpenGL GetTexGen always returns the default planes
    412633 - Pipe hang in RE OpenGL copy with convolve and optimizable color matrix
                    

    419755 - Repeatable pipe crash on RE2
    421407 - RE OpenGL GetClipPlane fails under heavy context switching
    433594 - SDRC -- bug in soft pixel code, shows up later as a dlist death on RE
    437745 - glColorTableSGI memory leak on RE
    448477 - X/OpenGL doesn't work on RE2 MCO with screensize > 2048
    452106 - Discreet: Maximizing iconified IrixGL app. segfaults on RE2
    454622 - Pixmap rendering is broken on venice and kona
    458806 - RE OpenGL does not properly handle ODMA in SELECT mode
    467103 - EXP/EXP2 fog broken w/6.2patch1702
    472831 - Graphics hang on REII IP19 when loading texture memory
    481989 - DB app goes single buffered in stereo


    RELEASE NOTES

    1. Patch SG0002739 Release Note

           This release note describes patch SG0002739 to IRIX 6.2.
    
           The primary purpose of patch SG0002739 is to consolidate a
           number of RealityEngine bug fixes that were applied after
           the release of IRIX 6.2.  It replaces patch SG0001442, patch
           SG0001702, and patch SG0002038 which previously served that
           purpose.
    
           In addition to bug fixes, patch SG0002739 also provides
           significant performance improvements for the IrisGL and
           OpenGL groups of commands that are detailed below.
    
    
    1.1 Supported Hardware Platforms
           This patch is for Onyx/PowerOnyx RealityEngine2 and VTX, and
           Crimson RealityEngine.  The software cannot be installed on
           other configurations.
    
    
    1.2 Supported Software Platforms
           Patch SG0002739 contains bug fixes for the Execution
           Environment (eoe) of a system running IRIX 6.2.  The
           software cannot be installed on other configurations.
    
    
    1.3 Bugs Fixed by Patch SG0002739
           This patch contains fixes for the following bugs in IRIX
           6.2.  Bug numbers from the Silicon Graphics bug tracking
           system are included for reference.
    
              o Graphics hang on REII IP19 when loading texture memory.
                Bug number 472831.
    
              o DoubleBuffer application goes SingleBuffered in stereo.
                Bug number 481989.
    
              o Pixmap rendering is broken on RealityEngine.  Bug
                number 454622
    
              o Incorrect primitive lighting when using
                GL_AMBIENT_AND_DIFFUSE parameter to glColorMaterial().
                Bug number 341355.
    
              o A pipe hang caused by X server drawing large bitmap
                images.  Bug number 419755.
    
              o Incorrect X server drawing of bitmaps under certain
                circumstances.  Bug number 372836.
    
    
              o Corruption of dynamically allocated graphics subsystem
                memory (heap memory) that occurred when multiple
                graphics contexts allocate memory (i.e., for histogram,
                pixel maps, OpenGL's attribute stack etc.) such that
                the total size of the graphics subsystem heap exceeds
                the available heap memory.  Under certain circumstances
                such corruption would cause a pipe hang.  Bug number
                358341.
    
              o Incorrect restoration of many parts of OpenGL state
                after glPopAttrib().  Examples are the stencil
                writemask, user clip planes, TexGen environments, etc.
                Bug numbers 406391, 407193.
    
              o Incorrect handling of glCopyPixels() with convolution
                enabled.  In addition to possible pipe hangs the
                determination of the ability to use optimized path
                based on the values of the color matrix and color
                buffer write mask was incorrect.  The failure to select
                an optimized paths had a very significant performance
                implication.  Bug numbers 365068 and 412633.
    
              o Incorrect handling of GL_FUNC_REVERSE_SUBTRACT_EXT
                blend function.  Bug number 370840.
    
              o Incorrect handling of OpenGL's 1D and 2D evaluators'
                enable state.  Bug number 357517.
    
              o Incorrect error detection and handling for a variety of
                OpenGL commands both for illegal command parameter
                values and for issuing commands that are not allowed
                inside glBegin(...)/glEnd() while inside a
                glBegin(...)/glEnd().  One of the problems that has
                been fixed is described by bug number 372086.
    
              o glGetTexGen() of the eye or object plane equations
                always returned the default values rather than the
                actual equations set by the user (although these
                equations were used when generating texture
                coordinates).  Bug number 407195.
    
              o glGetClipPlane() would return incorrect results when
                more than 16 graphics contexts were running
                simultaneously (the actual equations used by the system
                were however correct).  Bug number 421407.
    
              o Incorrect handling of linear fog; bug number 374451.
                Note that there were two issues in this case.  First,
                there was a bug that caused certain fog parameters to
                be corrupted; this has been fixed.  Second, there was
                no support for the IB2 chip, which has significantly
    
    
                improved fog capability compared to the older IB1.  In
                order to preserve compatibility with previous releases,
                IB2 capability is not enabled by default.  One must set
                the environment variable RE_FOG_MODE to the value 2 in
                order to enable it.  Note that IB2 capability must be
                used if compatibility between RealityEngine and
                InfiniteReality is desired.
    
              o There was a memory leak in glColorTableSGI() when
                loading texture color lookup tables.  Bug number
                437745.
    
              o Iconifying and de-iconifying a running application
                could cause a segmentation violation.  The conditions
                needed to cause this are exceedingly rare, except in
                real-time applications running with non-degrading
                priority.  Bug number 452106.
    
              o Cursor colors with component values greater than 127
                were handled incorrectly.  (No associated bug number.)
    
              o Suspension and resumption of selection and feedback
                modes were handled incorrectly.  Bug number 458806.
    
              o A problem (introduced in patch 1442) with accidental
                enabling of user clip planes was fixed.  This bug was
                manifest as incorrect feedback results after user clip
                planes had been set.  (No associated bug number.)
    
              o When using pixie with N32 OpenGL programs, the pixied
                program dumps core.  Bug number 372990.
    
              o Use of a glDrawPixels() command with an image of a
                particular size could cause display-list corruption,
                leading to a segmentation fault.  Bug number 433594.
    
              o The change introduced in patch SG0001702 to fix bug
                374451 accidentally created new problems with
                exponential and EXP2 fog, for both OpenGL and IrisGL.
                Bug number 467103.
    
    
    1.4 Performance improvements and functional enhancements in
                Patch SG0002739
    
    
    1.4.1 Performance improvements
              o The performance of IrisGL and OpenGL mode changes
                (i.e., setting of the color mask, depth test, blending
                and fog functions, enables, material binding, etc.),
                and OpenGL matrix queries have been improved by more
    
    
                than 30%.
    
              o OpenGL switching between different contexts
                (glMakeCurrent/Read) performance has been improved by
                about 25%.
    
              o The performance of OpenGL pushing and popping of the
                current state (glPush/PopAttrib(GL_CURRENT_BIT)) has
                been improved by a factor of more than 15.
    
              o The performance of OpenGL and IrisGL evaluators has
                been improved by more than 40%.
    
              o glDrawPixels of small images (< 50K bytes) has been
                tuned.
    
    
    1.4.2 Functional enhancements
              o The size of the available graphics subsystem dynamic
                memory (heap memory) has been doubled.  Thus, for
                example, OpenGL applications can use a larger number of
                big pixel lookup tables (PixelMaps) simultaneously with
                a large histogram.
    
              o The maximum width of an OpenGL viewport has been
                increased from 2048 to 2560.  Bug number 448477.
    
              o IB2-style fog (more accurate than the default, provided
                your system has revision 2 IB chips) is now enabled by
                setting the RE_FOG_MODE environment variable to 2.  See
                notes under ``Bugs Fixed'' above.
    
    
    1.5 Subsystems Included in Patch SG0002739
           This patch release includes these subsystems:
    
              o patchSG0002739.eoe_sw.gfx
    
              o patchSG0002739.eoe_sw.unix
    
              o patchSG0002739.nfs_sw.dskless_client
    
    
    1.6 Installation Instructions
           Because you want to install only the patches for problems
           you have encountered, patch software is not installed by
           default.  After reading the descriptions of the bugs fixed
           in this patch (see Section 1.3), determine the patches that
           meet your specific needs.
    
    
           If, after reading Sections 1.1 and 1.2 of these release
           notes, you are unsure whether your hardware and software
           meet the requirements for installing a particular patch, run
           inst.  The inst program does not allow you to install
           patches that are incompatible with your hardware or
           software.
    
           Patch software is installed like any other Silicon Graphics
           software product.  Follow the instructions in your Software
           Installation Administrator's Guide to bring up the miniroot
           form of the software installation tools.
    
           Follow these steps to select a patch for installation:
    
             1.  At the Inst> prompt, type
    
                 install patchSGxxxxxxx
    
                 where xxxxxxx is the patch number.
    
             2.  Initiate the installation sequence. Type
    
                 Inst> go
    
             3.  You may find that two patches have been marked as
                 incompatible.  (The installation tools reject an
                 installation request if an incompatibility is
                 detected.)  If this occurs, you must deselect one of
                 the patches.
    
                 Inst> keep patchSGxxxxxxx
    
                 where xxxxxxx is the patch number.
    
             4.  After completing the installation process, exit the
                 inst program by typing
    
                 Inst> quit
    
    
    1.7 Patch Removal Instructions
           To remove a patch, use the versions remove command as you
           would for any other software subsystem.  The removal process
           reinstates the original version of software unless you have
           specifically removed the patch history from your system.
    
           versions remove patchSGxxxxxxx
    
    
           where xxxxxxx is the patch number.
    
           To keep a patch but increase your disk space, use the
           versions removehist command to remove the patch history.
    
           versions removehist patchSGxxxxxxx
    
           where xxxxxxx is the patch number.
    
    

    INST SUBSYSTEM REQUIREMENTS
    No Requirements Information Available.
    

    INST SUBSYSTEM CHECKSUMS

    These checksums help to provide a 'signature' for the patch inst image which can be used to authenticate other inst images. You can obtain this kind of output by running sum -r on the image (from the command line):

    39545      6   patchSG0002739
    06864  17059   patchSG0002739.eoe_sw
    57365  10877   patchSG0002739.eoe_sw32
    55153   8447   patchSG0002739.eoe_sw64
    13955     74   patchSG0002739.idb
    11444     16   patchSG0002739.nfs_sw
    

    INST SUBSYSTEM FILE LISTINGS

    The following lists the files which get installed from each subsystem in the patch:

    patchSG0002739.eoe_sw.gfx
    usr/cpu/sysgen/IP17boot/gfxs.a
    usr/cpu/sysgen/IP17boot/rrm.o
    usr/cpu/sysgen/IP17boot/venice.a
    usr/cpu/sysgen/IP19boot/gfxs.a
    usr/cpu/sysgen/IP19boot/rrm.o
    usr/cpu/sysgen/IP19boot/venice.a
    usr/cpu/sysgen/IP21boot/rrm.o
    usr/cpu/sysgen/IP21boot/venice.a
    usr/cpu/sysgen/IP25boot/rrm.o
    usr/cpu/sysgen/IP25boot/venice.a
    usr/gfx/arch/IP17REC/libGL.so
    usr/gfx/arch/IP17REC/libGLcore.so
    usr/gfx/arch/IP19REV/libGL.so
    usr/gfx/arch/IP19REV/libGLcore.so
    usr/gfx/arch/IP21RET/libGL.so
    usr/gfx/arch/IP21RET/libGLcore.so
    usr/gfx/arch/IP25RES/libGL.so
    usr/gfx/arch/IP25RES/libGLcore.so
    usr/gfx/ucode/RE/cp.u
    usr/gfx/ucode/RE/fcg.u
    usr/gfx/ucode/RE/fcg.u
    usr/gfx/ucode/RE/fcg.u
    usr/gfx/ucode/RE/fcg_cp.u
    usr/gfx/ucode/RE/fcg_cp.u
    usr/gfx/ucode/RE/fcg_cp.u
    usr/gfx/ucode/RE/fcg_ge.u
    usr/gfx/ucode/RE/fcg_ge.u
    usr/gfx/ucode/RE/fcg_ge.u
    usr/gfx/ucode/RE/ge.u
    usr/include/sys/rrm.h
    usr/lib/libGL.so
    usr/lib/libGL.so
    usr/lib/libGL.so
    usr/lib/libGL.so
    usr/lib/libGL.so
    usr/lib/libGL.so
    usr/lib/libGL.so
    usr/lib/libGL.so
    usr/lib/libGL.so
    usr/lib/libGL.so
    usr/lib/libGL.so
    usr/lib/libGL.so
    usr/lib/libGL.so
    usr/lib/libGL.so
    usr/lib/libGL.so
    usr/lib/libGL.so
    usr/lib/libGL.so
    usr/lib/libGL.so
    usr/lib/libGL.so
    usr/lib/libGL.so
    usr/lib/libGL.so
    usr/lib/libGLcore.so
    usr/lib/libGLcore.so
    usr/lib/libGLcore.so
    usr/lib/libGLcore.so
    usr/lib/libGLcore.so
    usr/lib/libGLcore.so
    usr/lib/libGLcore.so
    usr/lib/libGLcore.so
    usr/lib/libGLcore.so
    usr/lib/libGLcore.so
    usr/lib/libGLcore.so
    usr/lib/libGLcore.so
    usr/lib/libGLcore.so
    usr/lib/libGLcore.so
    usr/lib/libGLcore.so
    usr/lib/libGLcore.so
    usr/lib/libGLcore.so
    usr/lib/libGLcore.so
    usr/lib/libGLcore.so
    usr/lib/libGLcore.so
    usr/lib/libGLcore.so
    usr/relnotes/patchSG0002739/TC
    usr/relnotes/patchSG0002739/ch1.z
    var/arch/lib/libGL.so
    var/arch/lib/libGL.so
    var/arch/lib/libGL.so
    var/arch/lib/libGL.so
    var/arch/lib/libGL.so
    var/arch/lib/libGL.so
    var/arch/lib/libGL.so
    var/arch/lib/libGL.so
    var/arch/lib/libGL.so
    var/arch/lib/libGL.so
    var/arch/lib/libGL.so
    var/arch/lib/libGL.so
    var/arch/lib/libGL.so
    var/arch/lib/libGL.so
    var/arch/lib/libGL.so
    var/arch/lib/libGL.so
    var/arch/lib/libGL.so
    var/arch/lib/libGL.so
    var/arch/lib/libGL.so
    var/arch/lib/libGL.so
    var/arch/lib/libGL.so
    var/arch/lib/libGLcore.so
    var/arch/lib/libGLcore.so
    var/arch/lib/libGLcore.so
    var/arch/lib/libGLcore.so
    var/arch/lib/libGLcore.so
    var/arch/lib/libGLcore.so
    var/arch/lib/libGLcore.so
    var/arch/lib/libGLcore.so
    var/arch/lib/libGLcore.so
    var/arch/lib/libGLcore.so
    var/arch/lib/libGLcore.so
    var/arch/lib/libGLcore.so
    var/arch/lib/libGLcore.so
    var/arch/lib/libGLcore.so
    var/arch/lib/libGLcore.so
    var/arch/lib/libGLcore.so
    var/arch/lib/libGLcore.so
    var/arch/lib/libGLcore.so
    var/arch/lib/libGLcore.so
    var/arch/lib/libGLcore.so
    var/arch/lib/libGLcore.so
    var/sysgen/system/gfx.sm
    var/sysgen/system/gfx.sm
    var/sysgen/system/gfx.sm
    var/sysgen/system/gfx.sm

    patchSG0002739.eoe_sw32.gfx
    usr/gfx/arch/IP17REC32/libGL.so
    usr/gfx/arch/IP17REC32/libGLcore.so
    usr/gfx/arch/IP19REV32/libGL.so
    usr/gfx/arch/IP19REV32/libGLcore.so
    usr/gfx/arch/IP21RET32/libGL.so
    usr/gfx/arch/IP21RET32/libGLcore.so
    usr/gfx/arch/IP25RES32/libGL.so
    usr/gfx/arch/IP25RES32/libGLcore.so

    patchSG0002739.eoe_sw64.gfx
    usr/gfx/arch/IP19REV64/libGL.so
    usr/gfx/arch/IP19REV64/libGLcore.so
    usr/gfx/arch/IP21RET64/libGL.so
    usr/gfx/arch/IP21RET64/libGLcore.so
    usr/gfx/arch/IP25RES64/libGL.so
    usr/gfx/arch/IP25RES64/libGLcore.so

    patchSG0002739.nfs_sw.dskless_client
    var/sysgen/system.dl/gfx.sm
    var/sysgen/system.dl/gfx.sm
    var/sysgen/system.dl/gfx.sm
    var/sysgen/system.dl/gfx.sm


    DOWNLOAD PATCH
    Download Server File Name Date Added Size Download
    download.sgi.com patchSG0002739.tar 22-Apr-1998 17 Mb FTP HTTP Add to download cart 
    download.sgi.com patchSG0002739.tardist 22-Apr-1998 17 Mb FTP HTTP
     
    FTP = download using FTP protocol
    HTTP = download using HTTP protocol
    Add to shopping list= store in your basket for downloading later
  •  


    Document Id: 20021117070727-IRIXPatch-1164