Patch Name: PHSS_8091 Patch Description: s700 9.X 9.07 Starbase Development cumulative patch Creation Date: 96/10/29 Post Date: 96/10/31 Hardware Platforms - OS Releases: s700: 9.01 9.03 9.05 9.07 Products: HP-UX Starbase Graphics Development Filesets: STAR-PRG SBDL-PRG FAFM-PRG Automatic Reboot?: No Status: General Release Critical: No Path Name: /hp-ux_patches/s700/9.X/PHSS_8091 Symptoms: PHSS_8091: - Enhancement: Device independent way to read RGB values in starbase, similar to OpenGL calls glReadPixels and glDrawPixels which allows getting RGB data easily. - Software texture mapping in highly perspective images appears blurry and distorted. - When picking polylines that contain move/draw flags bogus hits may be reported. - Texture mapping on Visualize-48 hangs system if certain large texture map sizes are used (2048x512 and 4096x1024). - Segmentation violation when inserting PHIGS ISO Fill Area primitives that are non-convex into a structure before a PHIGS Workstation is opened. - PEXOCCTriangles draws triangles with alternating geometric normals, causing incorrect display or non-display of these triangles when face distinguishing is active and interior style is hollow. - Locked structures or structures containing PEXNoop elements may dump core when traversed. - Memory corruption/core dump may occur on VISUALIZE-24 and VISUALIZE-48 using SOFAs. - PHIGS and other applications may hang on Hyper and Visualize devices for certain offscreen windows. - PHIGS Compliant backface lighting could cause core dump on VISUALIZE-24. PHSS_7485: - Under certain conditions, one can have bad edging on a trimmed spline. - the hpvmx driver does not always send a configure notify after a window resize. - Starbase sox11 driver does not return function key events. - PEX Nurbs has problems with trimming curves/rendering. - PEX polyline Set may skip a line. - Texture Mapping on a Visualize-48 product with a rectangular texture map will not correctly texture primitives under certain conditions. - PHIGS label performance poor. PHSS_6905: - Perspective correction for view clipped textured primitives is incorrect. - Font performance is poor when using many fonts, especially across a network. - A polygon containing two or more horizontal colinear edges with opposite direction is now judged as self intersecting and decomposed into trapezoids instead of triangles. - PHIGS traversers are slower than necessary when repeatedly traversing the same structures. - Pex memory leak destroying structures with quadmesh data - Starbase texture mapping does not allow a rectangular texture map. The check for consecutive map levels in tm_load_texels fails for a rectangular texture map. Symptom of Defect? tm_load_texels returns a BAD_DIMS error for nonsquare texture maps. - Duplicate symbols "_hp_dl_link_extra_data" and "_hp_dl_unlink_extra_data" appear during archive linking. - Some PHIGS programs with recursive networks can segment fault during UPDATE WORKSTATION or REDRAW ALL STRUCTURES. Some PHIGS programs that use SET HIGHLIGHTING BETWEEN HANDLES ESCAPE (pue331, pescape_u331) will fail to update workstations properly. - DRAW_POINTS gescape, specifically the CENTER_VECTORS and CENTER_TEXT functionality was ignored on VISUALIZE-24 and VISUALIZE-48 products. This functionality is now enabled. - A variable denoting the xyz offset from the beginning of a vertex list for sofas was uninitialized. This caused some facets in sofas to be sometimes improperly culled. - Missing hatching functionality on PEX & PHIGS APIs for Visualize-24 and Visualize-48 devices. - Need control of caching traverser during heavy editing. - Texture mapping rendered by HCRX family of devices could exhibit bleed through between primitives intersecting in z and possibly result in holes and incomplete spans in the textured primitives. - Starbase texture mapping does not allow a rectangular texture map. - The starbase daemon does not recognize function keys and/or pointer keys when using Starbase through X11. PHSS_6537: - Potential memory leak on VISUALIZE 48, VISUALIZE 24, HCRX 8/24 Z, CRX24Z with multiple obscuring windows. - 2-byte kanji fonts were missing in 9.07 - HCRX devices could experience deadlock when the LOCK_DEVICE gescape was used. - PHIGS text could be clipped incorrectly in non-default alignments. - European annotation text can disappear with a non-zero cull height. - When turning the interior style in PEX from texture prespecular to another style, the specular highlights are lost. - Starbase environment mapping was computed with perspective even in a parallel viewing model. hen using Starbase environment mapping and a parallel view model, the texture map would appear skewed on the surface. - On a system with a Visualize-48 card that has the optional texture map card attached, the "timd" process appears to make the average system load of an idle system be 1.0, when the actual average load of the system is idle. - VIZUALIZE-48 clears Z buffer during dbuffer_switch() even when SUPPRESS_CLEAR is specified. - Certain applications hang when opening graphics window on VISUALIZE-24 if the window is completely off screen. - Certain programs may incorrectly generate an illegal instruction and core dump using HCRX8Z or HCRX24Z graphics with archived libraries (libddhcrx.a). - PEXGetZbuffer returns incorrect value on crx48z devices. - Shared memory objects were leaked, or not destroyed correctly; also several memory leaks. - Tablet can return multiple Starbase events for a single trigger, if the cursor is moving. - Primitives can disappear if multiple application data elements are present. - Applications that use SBDL or PHIGS display lists, that link with the -Wl,-z option, and that insert attributes, can dump core (often) with a segmentation violation. - Memory leak in PEXElementSearch. - Some applications using Starbase drivers may fail at startup time with signal 11 due to having older versions of FAFM libraries. PHSS_6241: - Starbase applications that don't use SBDL will fail to link properly when linked bind-immediate or when linked with archive libraries. - SOFAS with edge_flags in ilist on new VISULAIZE-48 was slower than on the older product CRX48Z. - Multiple textures per primitive could result in the incorrect image being rendered. - On VISULAIZE-48 devices sometimes a quad or triangle will have less specular lighting on it than it should have. Under certain very specific conditions, a vertex that should be rather dim can end up bright white. - block_write does not work with a width of 1 on the CRX24(z). The one pixel wide block write will also write a black pixel (value 0) immediately to the left of the desired pixels. - HCRX8Z, HCRX24Z devices in certain cases may introduce floating point data corruption. Most likely visible in optimized (level +O2 and higher) applications. - An edged polygon may be drawn incorrectly on VISUALIZE- 24 and VISUALIZE-48 devices. It is drawn incorrectly due to an improper check for partial polygons. - The VMX driver can ignore user defined linetypes when rendering to remote X windows. PHSS_6127: Picking in HP APIs (including HP-PHIGS) can return incorrect paths if the source structure or segment has multiple consecutive application data elements PHSS_6017: - If an application repeatedly adds ignored elements (i.e. application data) to a segment, the traversal time for that segment goes higher and higher. This fix detects this phenomenon for some segments (particulary certain PHIGS structures) and shortens the traversal time significantly for these segments. - 1D MIPped textures via software texture mapping can draw incorrect image. Image will look "blotchy" and drastically wrong. - PEX dbe_idiom_centerline behaves incorrectly on Stinger image plns[2,2,0]. - When rendering software texture mapped images on CRX48Z that use texture alpha, pixels appear to be dropped or not rendered. - If user is: - using PEX sofa() or Starbase polyhedron() and texture mapping - and doing a transform on the texture coordinates - and doing facet normal lighting THEN the code will alter the facet normal pointer, resulting in incorrect data being used for facet normal lighting PHSS_5621: - Memory corruption may result if block_move is done in a window with backing store enabled and certain combinations of obscuring windows. - Core dump in _hp_acm_polyline_from_polygon with edging enabled using quad-mesh primitives. - User will see random polygon edging when screen door transparency is turn on AND move/draw flags are specified. - When a PEX texture mapping program specifies explicit texture mapping but then gives no floatlist, on VISUALIZE devices incorrect data will be picked up for the texture coords; PEX specifies the coords should default to zeroes. - If the first primitive used in a program is a DC- polygon, and nothing is done after that that retransmits clip limits, MC primitives may not get clipped correctly. They could get totally clipped away inside the shared streamline loop. Problem is that the DC-clip special tries to only revalidate part of MATRIX state. Must revalidate all of it. The fix is to change the matrix-dirt mask for dc-clip to revalidate all matrix state. - Streamlined polygons (fast path) can cause a memory leak when the polygons are concave. The leaked memory will be freed as soon as you do an operation that gets out of streamlines. Clipping polygons or vectors or doing graphical text are all ways of getting out of the streamlines. - Switching between a lot of different fonts can result is memory getting eaten up because the memory for the fonts is not freed as it should be. The fix is to free the memory properly. - When using the Starbase Texturing composition mode TM_COMPOSITE_DECAL with a texture that includes alpha values, the visualize 48 will render only a non textured image. When using the Starbase Texturing composition mode TM_COMPOSITE_DECAL with a texture that includes alpha values, the VISUALIZE-48 will render only a non-textured image. - Widelines can pass a NULL pointer to strcmp() - PHIGS applications, when linked with archive libraries, don't draw expected direct pick highlights. - Customer: Starbase application dumps core when moving window on PVRX only. - CRX24Z and CRX48Z Stinger dither a pure color, but shouldn't [5,3,0] The color scales were too small, making these devices unable to render full intensity colors. One pixel out of each 4x4 dither cell was rendered with a color component less than the maximum, making solid colors look speckled. - Using line_width(w,VDC_UNITS) with a transformation from viewing coordinates to vdc's that is anisotropic, wide lines appear distorted. Widelines were only scaled correctly along X. - While using block move with backing store on, memory corruptions may happen while the window is obscured. Defect Description: PHSS_8091: See Symptoms PHSS_7485: See Symptoms PHSS_6905: See Symptoms PHSS_6537: See Symptoms PHSS_6241: See Symptoms PHSS_6127: See Symptoms PHSS_6017: See Symptoms PHSS_5621: See Symptoms SR: 1653130724 5003131466 5003285437 1653154005 5003300145 5003290593 5003291534 1653152355 5003280743 5003300509 5003292284 1653158634 1653159764 5003295493 1653159269 1653151340 1653167205 5003304253 5003309682 1653171439 1653173104 1653183731 Patch Files: /usr/lib/libsb1.a /usr/lib/libsb2.a /usr/lib/libsbdl.a /usr/lib/libddhcrx.a /usr/lib/libddhcrx48.a /usr/lib/libddgcrx.a /usr/lib/libddcrx48z.a /usr/lib/libdd98705.a /usr/lib/libddhpcgm.a /usr/lib/libsbXg.a /usr/lib/libfa.a /usr/lib/libfontm.a /usr/lib/llib-lsb /usr/lib/llib-lsb.ln /usr/include/sbdl.c.h /usr/include/sbdl.p1.h /usr/include/sbdl.p2.h /usr/include/sbdl.f1.h /usr/include/sbdl.f2.h /usr/include/starbase.c.h /usr/include/starbase.f1.h /usr/include/starbase.f2.h /usr/include/starbase.p1.h /usr/include/starbase.p2.h what(1) Output: /usr/lib/libsb1.a: GRAPHICS CORE R907 BRANCH 96/10/16libsb1.a $Revision : 530.1.100.3 $ PHSS_8090/8091 Oct 96 Starbase/CORE 9.07 Periodic Pa tch GRAPHICS CORE R907 BRANCH 96/10/16libpi $Revision: 5 30.1.100.4 $ PHSS_8090/8091 Oct 96 Starbase/CORE 9.07 Periodic Pa tch GRAPHICS CORE R907 BRANCH 96/10/16libsga $Revision: 530.1.100.11 $ PHSS_8090/8091 Oct 96 Starbase/CORE 9.07 Periodic Pa tch GRAPHICS CORE R907 BRANCH 96/10/16libddvmx $Revision : 530.1.100.2 $ PHSS_8090/8091 Oct 96 Starbase/CORE 9.07 Periodic Pa tch $Revision: 530.1.100.2 $ Prototype VM-Xlib rasteriz ers GRAPHICS CORE R907 BRANCH 96/10/16libddnull $Revisio n: 530.1.100.1 $ PHSS_8090/8091 Oct 96 Starbase/CORE 9.07 Periodic Pa tch /usr/lib/libsb2.a: GRM Library HP-UX 8.0 A.01 Protocol PROTO_VER F ILE_VERSION GRAPHICS CORE R907 BRANCH 96/10/16libsb2.a $Revision : 530.1.100.2 $ PHSS_8090/8091 Oct 96 Starbase/CORE 9.07 Periodic Pa tch /usr/lib/libsbdl.a: GRAPHICS CORE R907 BRANCH 96/10/16libsbdl.a $Revisio n: 530.1.100.5 $ PHSS_8090/8091 Oct 96 Starbase/CORE 9.07 Periodic Pa tch /usr/lib/libddhcrx.a: GRAPHICS CORE R907 BRANCH 96/10/16libddhyper $Revisi on: 530.1.100.13 $ PHSS_8090/8091 Oct 96 Starbase/CORE 9.07 Periodic Pa tch /usr/lib/libddhcrx48.a: GRAPHICS CORE R907 BRANCH 96/10/16libddhcrx48 $Revis ion: 530.1.100.21 $ PHSS_8090/8091 Oct 96 Starbase/CORE 9.07 Periodic Pa tch /usr/lib/libddgcrx.a: GRAPHICS CORE R907 BRANCH 96/10/16libddgcrx $Revisio n: 530.1.100.1 $ PHSS_8090/8091 Oct 96 Starbase/CORE 9.07 Periodic Pa tch /usr/lib/libddcrx48z.a: GRAPHICS CORE R907 BRANCH 96/10/16libddcrx48z $Revis ion: 530.1.100.2 $ PHSS_8090/8091 Oct 96 Starbase/CORE 9.07 Periodic Pa tch /usr/lib/libdd98705.a: GRAPHICS CORE R907 BRANCH 96/10/16libdd98705.a $Revi sion: 530.1.100.1 $ PHSS_8090/8091 Oct 96 Starbase/CORE 9.07 Periodic Pa tch /usr/lib/libddhpcgm.a: GRAPHICS CORE R907 BRANCH 96/10/16libddhpcgm.a $Revi sion: 530.1.100.2 $ PHSS_6904 April 96 Hardcopy 9.07 Periodic Patch /usr/lib/libsbXg.a: GRAPHICS CORE HP-UX 9.0 930315 libsbXg /usr/lib/libfa.a: GRAPHICS CORE R907 BRANCH 96/10/16libfa.a $Revision: 530.1.100.1 $ PHSS_8090/8091 Oct 96 Starbase/CORE 9.07 Periodic Pa tch /usr/lib/libfontm.a: GRAPHICS CORE R907 BRANCH 96/10/16libfontm.a $Revisi on: 530.1.100.1 $ PHSS_8090/8091 Oct 96 Starbase/CORE 9.07 Periodic Pa tch /usr/lib/llib-lsb: $Revision: 530.1.100.2 $ $Date: 95/07/10 17:49:39 $ llib-lsb */ /usr/lib/llib-lsb.ln: No what string for this file /usr/include/sbdl.c.h: sbdl.c.h $Date: 96/06/07 15:31:00 $ */ /usr/include/sbdl.p1.h: sbdl.p1.h $Date: 96/06/07 15:31:00 $ } /usr/include/sbdl.p2.h: sbdl.p2.h $Date: 95/04/01 01:20:44 $ } /usr/include/sbdl.f1.h: sbdl.f1.h $Date: 95/04/01 01:20:44 $ /usr/include/sbdl.f2.h: sbdl.f2.h $Date: 96/06/07 15:31:00 $ /usr/include/starbase.c.h: No what string for this file /usr/include/starbase.f1.h: No what string for this file /usr/include/starbase.f2.h: No what string for this file /usr/include/starbase.p1.h: No what string for this file /usr/include/starbase.p2.h: No what string for this file sum(1) Output: 55397 5313 /usr/lib/libsb1.a 64134 546 /usr/lib/libsb2.a 24384 1289 /usr/lib/libsbdl.a 58526 632 /usr/lib/libddhcrx.a 20357 576 /usr/lib/libddhcrx48.a 56575 520 /usr/lib/libddgcrx.a 2594 312 /usr/lib/libddcrx48z.a 24966 592 /usr/lib/libdd98705.a 45652 240 /usr/lib/libddhpcgm.a 25941 33 /usr/lib/libsbXg.a 62734 41 /usr/lib/libfa.a 11681 61 /usr/lib/libfontm.a 58881 72 /usr/lib/llib-lsb 40522 88 /usr/lib/llib-lsb.ln 1918 31 /usr/include/sbdl.c.h 34924 32 /usr/include/sbdl.p1.h 3324 19 /usr/include/sbdl.p2.h 47738 9 /usr/include/sbdl.f1.h 47457 65 /usr/include/sbdl.f2.h 32120 129 /usr/include/starbase.c.h 38978 32 /usr/include/starbase.f1.h 60927 73 /usr/include/starbase.f2.h 37052 41 /usr/include/starbase.p1.h 64721 70 /usr/include/starbase.p2.h Patch Conflicts: None Patch Dependencies: s700: 9.01 9.03 9.05: PHSS_5695 and PHSS_5696 and PHSS_5913 and PHSS_5916 and PHSS_8090 s700: 9.07: PHSS_8090 Hardware Dependencies: None Other Dependencies: None Supersedes: PHSS_5621 PHSS_6017 PHSS_6127 PHSS_6241 PHSS_6537 PHSS_6905 PHSS_7485 Equivalent Patches: None Patch Package Size: 5490 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. Copy the patch to your /tmp directory and unshar it: cd /tmp cp patch_source/PHSS_8091 . sh PHSS_8091 3. Become root and run update: /etc/update [-r [kernel_gen_file]] -s \ /tmp/PHSS_8091.updt PHSS_8091 Update moves the original software to /system/PHSS_8091/orig. Keep this file to recover from any potential problems. You should move the .text file to /system/PHSS_8091 for future reference. To put this patch on a magnetic tape and update from the tape drive, use dd: dd if=PHSS_8091.updt of=/dev/rmt/0m bs=2048 Special Installation Instructions: Be sure that applications using Starbase are NOT running and that the X-server is NOT running before installing this patch. Executables may appear "busy" to the file system and therefore unwritable because HP-UX uses the executable's image on disk as swap for code segments. The same is true for shared libraries because they are executable images as well.