Patch Name: PHSS_17140 Patch Description: s700 10.20 OpenGL 1.1 Runtime patch Creation Date: 99/02/12 Post Date: 99/02/26 Hardware Platforms - OS Releases: s700: 10.20 Products: OpenGLRunTime B.10.20 OpenGL 1.0 Runtime Environment Filesets: OpenGLRunTime.OPENGL-DEMO OpenGLRunTime.OPENGL-RUN OpenGLRunTime.OPENGL-SHLIBS Automatic Reboot?: No Status: General Superseded Critical: No Path Name: /hp-ux_patches/s700/10.X/PHSS_17140 Symptoms: PHSS_17140: - See defect description. PHSS_15848: - See defect description. PHSS_15839: - See defect description. PHSS_15837: - See defect description. PHSS_14944: - See defect description. PHSS_14932: - See defect description. PHSS_14930: - See defect description. PHSS_13908: - See defect description. PHSS_13524: - See defect description. PHSS_12472: - See defect description. PHSS_12459: - See defect description. PHSS_11405: - See defect description. Defect Description: PHSS_17140: - Deleting display lists with textures could corrupt memory and infinite loop. - Some texture map operations and pixel zoom could corrupt the point width value. - glReadPixels could return incorrect values if read regions are partially offscreen. - Changing a single mipmap level in an existing pyramid could destroy the entire pyramid. - Performance tune for flat shaded primitives. - Incorrect fog color values for primitives outside the range {GL_FOG_START,GL_FOG_END}. - glCopyPixels is a no-op if texture mapping enabled. PHSS_15848: - Number of open contexts per process limited by file descriptors per process. - glDrawPixels produces trapezoidal, instead of rectangular, output. - Fog may be clamped incorrectly in software path - 16bit X fonts not supported by the glXUseXFont interface - Color scaling in 444 RGBA visuals does not conform to OpenGL spec - User modal state change calls not processed under some conditions - Support for 1.0 polygon offset extension is advertised, but really doesn't work - Performance enhancement. Customers using 3D texture maps in Display List will now take advantage of the same Display List Optimization for 2D and 1D texture maps. To turn this feature off define the Environment variable HPOGL_DISABLE_3D_TEXTURE_DL_OPT. PHSS_15839: - PHSS_15837 was recalled, and will be replaced by this patch. Because libm links in an archived fashion by default, applications that were linked with PHSS_15837 with Bind Immediate link mode cannot be run on earlier versions of OpenGL--at load time, unresolved libm symbols are reported. This patch has the references restored. This patch is simply a re-release of PHSS_15837 with the libm references repaired. PHSS_15837: - Display list performance enhancement. Small, adjacent geometric primitives will execute faster when put in a display list. - Dramatically improved "glDrawPixels" performance in certain cases. - Multiple heads with texture mapping accelerators are now supported on a single workstation. - Defect Fixes - Texture objects & textures in display lists fixed to properly share between shared contexts. - GLX protocol updated to support all new extensions. - Minor PolygonOffset conformance issue resolved. - Minor RescaleNormals lighting anomaly fixed. - This release introduces the ability to use the glPolygonOffset feature in both the OpenGL conformant mode, and a slightly faster non-conformant mode. By default, glPolygonOffset is OpenGL spec-compliant. By setting the HPOGL_DSM_ENABLE_FAST_POLYGON_OFFSET environment variable, a performance increase of up to 10% can be obtained. However, setting this variable may cause depth values for line and point primitives to be calculated incorrectly. PHSS_14944: - repackaged to correctly set up the patch dependencies with the associated 3D graphics patches for Starbase, PEX, Phigs, and OpenGL for the June 1998 patch. PHSS_14932: - This patch is primarily targetted at defect fixes - Defect Fixes fix normal transformation in glPopMatrix fix FX series hang during filled primitive drawing by glPolygonMode and glShadeModel fix glXUseXFont error fix memory leak allow display of OpenGL clients to Envizex X Terminals PHSS_14930: - Spot patch not for general release PHSS_13908: - This patch is primarily targetted at both defect fixes and some performance improvements. - Performance Improvements greatly improved display list memory management performance improve validation by inlining sqrt calls improve glDrawPixel performance with ColorIndex format - Defect Fixes fix blend artifacts when software texture mapping fix texture coordinate generation and default values fix sync problem on multiple double buffering processes allow negative fog start/end values PHSS_13524: - This patch is primarily targetted at texture mapping bug and performance fixes with some number of general performance improvements included. Performance Improvements - texture map improvements, hardware support - ReadPixel improvement for certain pack modes and alignments - DrawArraySetHP improvement - buffer swap improvement (allow apps to not wait for retrace) set HPOGL_DSM_ENABLE_FAST_BUFFER_SWAP to enable - cache prefetch in immediate mode set HPOGL_DISABLE_PREFETCH to disable - stippled line validation improvement Defect Fixes - texture map fixes - prelit texture in protocol mode fixed - resize accum buffer corner case fixed PHSS_12472: - new rescale normal extension - new DrawArraySetHP extension - defect fixes: for some fonts the blank character is improperly rendered glReadPixel can sometimes return bad data fixed hang when using display lists with lots of glMaterial calls in select mode lines sometimes return false hits fixed interaction between glxUseFont and X load font GLU has bad version string fix return of gl errors when using protocol mode - NOTE: kernel patch PHKL_13260 should be installed to prevent system hangs. - NOTE: if using texture mapping hardware, this patch depends on PHSS_12470. PHSS_12459: - Fixes problem with Interleaved Array pointers not always being updated correctly. PHSS_11405: - Fragments that lose the alpha test were nonetheless updating the depth and stencil buffers when using VMD/VGL or when texture mapping without TM hardware. - Fixes problem with lines of width < 0.5 not being rendered when using VMD/VGL or texture mapping with no TM hardware. - Fixes problems with writing stencil values in VMD/VGL or when texture mapping with no TM hardware. - Fixes glCopyPixels from incorrectly performing a copy when copying from one color buffer to the other. - Under some corner case timing situations when using indirect contexts with HP OpenGL Release 1.0, incorrect X or GLX error messages can be reported from the X Server. - If a memory allocation error occurs while processing glXUseXFont(), the PixelStore attribute values are not restored as they should be. - VMD/VGL and texture mapping w/o hw texture support could incorrectly clip filled primitives if glViewport mapped NDC to an area larger than the window size. This was causing incorrect rendering and core dumps. - For Release 1.0 of OpenGL, if an X Server is run in multi-screen mode with an HP_VISUALIZE_?X screen and a non HP_VISUALIZE_?X screen, the non HP_VISUALIZE-?X screen will not operate with HP OpenGL unless the HPOGL_FORCE_VGL environment is set in the client environment. - When using occlusion culling the test may indicate that the object was completely occluded when it actually wasn't. This is because we didn't wait for all the pixels to get written before looking at the HW status. - When running in indirect (protocol) mode, large OpenGL replies such as glReadPixels() may fail and generate improper Xlib errors. - Texture coordinates are not getting correctly reset to the default values of 0,0,0,1. - Autogen mipmap memory corruption fix. - If a customer closes one X Display connection that has been used for OpenGL, and then immediately opens and attempts to use another for OpenGL, their application may abort because an attempt is made to access global last context and drawable information that was freed during the close display operation and may have been re-used. - This will fix a small offset that when mipmap selection for filters NEAREST_MIPMAP_NEAREST and LINEAR_MIPMAP_NEAREST. - This will fix mipmap calculation coming very near horizontal or vertical lines. - This will fix texture mapping running over the edge when linear interpolated and using clamp to edge. SR: 0000000000 Patch Files: /opt/graphics/OpenGL/ReleaseNotes /opt/graphics/OpenGL/demos/chess/Data/BlackMarble.ppm /opt/graphics/OpenGL/demos/chess/Data/WhiteMarble.ppm /opt/graphics/OpenGL/demos/chess/Data/Wood.ppm /opt/graphics/OpenGL/demos/chess/Data/bishop.bj /opt/graphics/OpenGL/demos/chess/Data/black_top.bj /opt/graphics/OpenGL/demos/chess/Data/chassis.bj /opt/graphics/OpenGL/demos/chess/Data/king.bj /opt/graphics/OpenGL/demos/chess/Data/knight.bj /opt/graphics/OpenGL/demos/chess/Data/pawn.bj /opt/graphics/OpenGL/demos/chess/Data/queen.bj /opt/graphics/OpenGL/demos/chess/Data/rook.bj /opt/graphics/OpenGL/demos/chess/Data/white_top.bj /opt/graphics/OpenGL/demos/chess/README /opt/graphics/OpenGL/demos/chess/chess.uid /opt/graphics/OpenGL/demos/chess/chess /opt/graphics/OpenGL/demos/chess/crafty /opt/graphics/OpenGL/demos/occlusion_cull/README /opt/graphics/OpenGL/demos/occlusion_cull/ocComplex /opt/graphics/OpenGL/demos/occlusion_cull/ocSimple /opt/graphics/OpenGL/demos/occlusion_cull/screwdriver.gz /opt/graphics/OpenGL/demos/verify.uid /opt/graphics/OpenGL/demos/verify_install /opt/graphics/OpenGL/demos/verify_viewer /opt/graphics/OpenGL/demos/verify_viscenter /opt/graphics/OpenGL/lbin/ogld /opt/graphics/OpenGL/lib/lib2fc1066b.sl /opt/graphics/OpenGL/lib/libGL.1 /opt/graphics/OpenGL/lib/libGL.sl /opt/graphics/OpenGL/lib/libGLU.1 /opt/graphics/OpenGL/lib/libGLU.sl /opt/graphics/OpenGL/lib/libddvisxgl.1 /opt/graphics/OpenGL/lib/libddvisxgl.sl /opt/graphics/OpenGL/lib/libddvmd.1 /opt/graphics/OpenGL/lib/libddvmd.sl /opt/graphics/OpenGL/lib/nls/msg/C/glu.cat /opt/graphics/OpenGL/lib/nls/msg/en_US.roman8/glu.cat /opt/graphics/OpenGL/registration/prompt_registration /usr/lib/X11/Xserver/brokers/extensions/Glx.1 /usr/lib/X11/Xserver/modules/extensions/hp/glx.1 what(1) Output: /opt/graphics/OpenGL/ReleaseNotes: None /opt/graphics/OpenGL/demos/chess/Data/BlackMarble.ppm: None /opt/graphics/OpenGL/demos/chess/Data/WhiteMarble.ppm: None /opt/graphics/OpenGL/demos/chess/Data/Wood.ppm: None /opt/graphics/OpenGL/demos/chess/Data/bishop.bj: None /opt/graphics/OpenGL/demos/chess/Data/black_top.bj: None /opt/graphics/OpenGL/demos/chess/Data/chassis.bj: None /opt/graphics/OpenGL/demos/chess/Data/king.bj: None /opt/graphics/OpenGL/demos/chess/Data/knight.bj: None /opt/graphics/OpenGL/demos/chess/Data/pawn.bj: None /opt/graphics/OpenGL/demos/chess/Data/queen.bj: None /opt/graphics/OpenGL/demos/chess/Data/rook.bj: None /opt/graphics/OpenGL/demos/chess/Data/white_top.bj: None /opt/graphics/OpenGL/demos/chess/README: None /opt/graphics/OpenGL/demos/chess/chess.uid: None /opt/graphics/OpenGL/demos/chess/chess: None /opt/graphics/OpenGL/demos/chess/crafty: HP92453-02A.10.00 HP-UX SYMBOLIC DEBUGGER (END.O) $R evision: 74.03 $ /opt/graphics/OpenGL/demos/occlusion_cull/README: None /opt/graphics/OpenGL/demos/occlusion_cull/ocComplex: None /opt/graphics/OpenGL/demos/occlusion_cull/ocSimple: None /opt/graphics/OpenGL/demos/occlusion_cull/screwdriver.gz: None /opt/graphics/OpenGL/demos/verify.uid: None /opt/graphics/OpenGL/demos/verify_install: None /opt/graphics/OpenGL/demos/verify_viewer: None /opt/graphics/OpenGL/demos/verify_viscenter: None /opt/graphics/OpenGL/lbin/ogld: OpenGL 1.1 Revision 1.10 on HP-UX 10.20 $Date: 11-Fe b-99.20:25:23 $ $Revision: 19990211.4298 $ o gld /opt/graphics/OpenGL/lib/lib2fc1066b.sl: OpenGL 1.1 Revision 1.10 on HP-UX 10.20 $Date: 11-Fe b-99.18:42:02 $ $Revision: 19990211.19960 $ libddvisxgl.1 /opt/graphics/OpenGL/lib/libGL.1: OpenGL 1.1 Revision 1.10 on HP-UX 10.20 $Date: 11-Fe b-99.20:25:23 $ $Revision: 19990211.4298 $ l ibGL.1 /opt/graphics/OpenGL/lib/libGL.sl: OpenGL 1.1 Revision 1.10 on HP-UX 10.20 $Date: 11-Fe b-99.20:25:23 $ $Revision: 19990211.4298 $ l ibGL.1 /opt/graphics/OpenGL/lib/libGLU.1: OpenGL 1.1 Revision 1.10 on HP-UX 10.20 $Date: 11-Fe b-99.20:25:23 $ $Revision: 19990211.4298 $ l ibGLU.1 /opt/graphics/OpenGL/lib/libGLU.sl: OpenGL 1.1 Revision 1.10 on HP-UX 10.20 $Date: 11-Fe b-99.20:25:23 $ $Revision: 19990211.4298 $ l ibGLU.1 /opt/graphics/OpenGL/lib/libddvisxgl.1: OpenGL 1.1 Revision 1.10 on HP-UX 10.20 $Date: 11-Fe b-99.18:42:02 $ $Revision: 19990211.19960 $ libddvisxgl.1 /opt/graphics/OpenGL/lib/libddvisxgl.sl: OpenGL 1.1 Revision 1.10 on HP-UX 10.20 $Date: 11-Fe b-99.18:42:02 $ $Revision: 19990211.19960 $ libddvisxgl.1 /opt/graphics/OpenGL/lib/libddvmd.1: OpenGL 1.1 Revision 1.10 on HP-UX 10.20 $Date: 11-Fe b-99.19:35:43 $ $Revision: 19990211.25163 $ libddvmd.1 /opt/graphics/OpenGL/lib/libddvmd.sl: OpenGL 1.1 Revision 1.10 on HP-UX 10.20 $Date: 11-Fe b-99.19:35:43 $ $Revision: 19990211.25163 $ libddvmd.1 /opt/graphics/OpenGL/lib/nls/msg/C/glu.cat: None /opt/graphics/OpenGL/lib/nls/msg/en_US.roman8/glu.cat: None /opt/graphics/OpenGL/registration/prompt_registration: OpenGL 1.1 Revision 1.10 on HP-UX 10.20 $Date: 11-Fe b-99.20:25:23 $ $Revision: 19990211.4298 $ p rompt_registration /usr/lib/X11/Xserver/brokers/extensions/Glx.1: HP_GLX Extension Broker $Revision: /main/4 $ $D ate: 1996/10/29 17:09:27 $ OpenGL 1.1 Revision 1.10 on HP-UX 10.20 $Date: 11-Fe b-99.20:25:23 $ $Revision: 19990211.4298 $ G lx.1 /usr/lib/X11/Xserver/modules/extensions/hp/glx.1: HP_GLX Extension $Revision: /main/10 $ $Da te: 1996/11/26 16:52:49 $ OpenGL 1.1 Revision 1.10 on HP-UX 10.20 $Date: 11-Fe b-99.20:25:23 $ $Revision: 19990211.4298 $ g lx.1 cksum(1) Output: 4281906583 16909 /opt/graphics/OpenGL/ReleaseNotes 2532825095 49168 /opt/graphics/OpenGL/demos/chess/Data/ BlackMarble.ppm 996221197 49168 /opt/graphics/OpenGL/demos/chess/Data/ WhiteMarble.ppm 1032795738 49168 /opt/graphics/OpenGL/demos/chess/Data/ Wood.ppm 3453883977 63382 /opt/graphics/OpenGL/demos/chess/Data/ bishop.bj 381441698 2596 /opt/graphics/OpenGL/demos/chess/Data/ black_top.bj 822686284 19847 /opt/graphics/OpenGL/demos/chess/Data/ chassis.bj 2634535594 56508 /opt/graphics/OpenGL/demos/chess/Data/ king.bj 676604550 56057 /opt/graphics/OpenGL/demos/chess/Data/ knight.bj 2013449535 56467 /opt/graphics/OpenGL/demos/chess/Data/ pawn.bj 4110072861 66886 /opt/graphics/OpenGL/demos/chess/Data/ queen.bj 3716092052 52734 /opt/graphics/OpenGL/demos/chess/Data/ rook.bj 2668702744 2604 /opt/graphics/OpenGL/demos/chess/Data/ white_top.bj 1072295849 4282 /opt/graphics/OpenGL/demos/chess/README 244122518 24576 /opt/graphics/OpenGL/demos/chess/chess.uid 635584997 451943 /opt/graphics/OpenGL/demos/chess/chess 739186593 1761800 /opt/graphics/OpenGL/demos/chess/crafty 3449587546 2614 /opt/graphics/OpenGL/demos/occlusion_cull/ README 1508925579 98823 /opt/graphics/OpenGL/demos/occlusion_cull/ ocComplex 417070137 107059 /opt/graphics/OpenGL/demos/occlusion_cull/ ocSimple 1929283584 2419155 /opt/graphics/OpenGL/demos/ occlusion_cull/screwdriver.gz 1267814793 16384 /opt/graphics/OpenGL/demos/verify.uid 1338441258 1255 /opt/graphics/OpenGL/demos/verify_install 4074503879 913986 /opt/graphics/OpenGL/demos/verify_viewer 4290464265 1443 /opt/graphics/OpenGL/demos/verify_viscenter 748884575 326939 /opt/graphics/OpenGL/lbin/ogld 1628671259 1362311 /opt/graphics/OpenGL/lib/lib2fc1066b.sl 4010891150 2379953 /opt/graphics/OpenGL/lib/libGL.1 4010891150 2379953 /opt/graphics/OpenGL/lib/libGL.sl 1774880843 377955 /opt/graphics/OpenGL/lib/libGLU.1 1774880843 377955 /opt/graphics/OpenGL/lib/libGLU.sl 1628671259 1362311 /opt/graphics/OpenGL/lib/libddvisxgl.1 1628671259 1362311 /opt/graphics/OpenGL/lib/libddvisxgl.sl 378614698 779119 /opt/graphics/OpenGL/lib/libddvmd.1 378614698 779119 /opt/graphics/OpenGL/lib/libddvmd.sl 366412750 2168 /opt/graphics/OpenGL/lib/nls/msg/C/glu.cat 366412750 2168 /opt/graphics/OpenGL/lib/nls/msg/ en_US.roman8/glu.cat 3321898053 20545 /opt/graphics/OpenGL/registration/ prompt_registration 3493086497 12310 /usr/lib/X11/Xserver/brokers/extensions/ Glx.1 64339778 49254 /usr/lib/X11/Xserver/modules/extensions/hp/ glx.1 Patch Conflicts: None Patch Dependencies: s700: 10.20: PHSS_14947 Hardware Dependencies: None Other Dependencies: None Supersedes: PHSS_11405 PHSS_12459 PHSS_12472 PHSS_13524 PHSS_13908 PHSS_14930 PHSS_14932 PHSS_14944 PHSS_15837 PHSS_15839 PHSS_15848 Equivalent Patches: None Patch Package Size: 11510 KBytes Installation Instructions: Please review all instructions and the Hewlett-Packard SupportLine User Guide or your Hewlett-Packard support terms and conditions for precautions, scope of license, restrictions, and, limitation of liability and warranties, before installing this patch. ------------------------------------------------------------ 1. Back up your system before installing a patch. 2. Login as root. 3. Copy the patch to the /tmp directory. 4. Move to the /tmp directory and unshar the patch: cd /tmp sh PHSS_17140 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHSS_17140.depot 5b. For a homogeneous NFS Diskless cluster run swcluster on the server to install the patch on the server and the clients: swcluster -i -b This will invoke swcluster in the interactive mode and force all clients to be shut down. WARNING: All cluster clients must be shut down prior to the patch installation. Installing the patch while the clients are booted is unsupported and can lead to serious problems. The swcluster command will invoke an swinstall session in which you must specify: alternate root path - default is /export/shared_root/OS_700 source depot path - /tmp/PHSS_17140.depot To complete the installation, select the patch by choosing "Actions -> Match What Target Has" and then "Actions -> Install" from the Menubar. 5c. For a heterogeneous NFS Diskless cluster: - run swinstall on the server as in step 5a to install the patch on the cluster server. - run swcluster on the server as in step 5b to install the patch on the cluster clients. By default swinstall will archive the original software in /var/adm/sw/patch/PHSS_17140. If you do not wish to retain a copy of the original software, you can create an empty file named /var/adm/sw/patch/PATCH_NOSAVE. Warning: If this file exists when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. It is recommended that you move the PHSS_17140.text file to /var/adm/sw/patch for future reference. To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHSS_17140.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None