HP c8000 manual Buffer sharing between multiple processes and threads, Sigchld and the GRM daemon

Page 14

overview of OpenGL

the OpenGL product

a.Depth- and stencil buffers are only allocated for image-plane visuals.

b.Double buffering is set to True (1) if the X visual supports the X double-buffering extension (DBE).

c.Alpha will only work correctly on 12- and 24-bit TrueColor and DirectColor visuals when the X server does not use the high-order nibble/byte in the X visual. Also, note that when alpha is present, Buffer Size will be 16 for the 12-bit visuals and 32 for the 24-bit visuals.

buffer sharing between multiple processes and threads

In the OpenGL implementation, all drawable buffers that are allocated in virtual memory are not sharable among multiple processes. As an example, on a HP Visualize fx-5 configuration, the accumulation buffer for a drawable resides in virtual memory (VM) and therefore, each OpenGL process rendering to the same drawable through a direct rendering context, will have its own separate copy of the accumulation buffer. For more information on hardware and software buffer configurations for OpenGL devices, see Tables 1-1 through 1-8 in the Supported Visuals section of this chapter.

True buffer sharing between multiple processes can be accomplished by utilizing indirect rendering contexts. In this case, rendering on behalf of all GLX clients is performed by the X server OpenGL daemon process, and there is only one set of virtual memory buffers per drawable.

Within a single process, multiple threads will share virtual memory buffers (both rendering and accumulation buffers) by default. GLX-compliant concurrent rendering into these buffers is supported. It is the responsibility of the application to synchronize buffer access or partition the rendering buffer amongst individual threads, if desired.

SIGCHLD and the GRM daemon

The Graphics Resource Manager daemon (grmd) is started when the X11 server is started. In normal operation, an OpenGL application will not start the daemon, and as a result grmd will not be affected by the SIGCHLD manipulation that occurs as part of that start-up. However, if grmd dies for some reason, the graphics libraries will restart grmd whenever they need shared memory. An example of where this can occur is during calls to glXCreateContext or glXMakeCurrent.

threads support

threads support in November, 1999 11. ACE release Starting with the HP-UX 11.0 Additional Core Enhancements (ACE) (November, 1999) release, HP OpenGL will support Level 1b threads. This means HP OpenGL can be used in a threaded application, but OpenGL graphics

12

Chapter 1

Image 14
Contents OpenGL Implementation Guide Legal Notices Contents Installation and setup Programming hints Contents Overview of OpenGL Introduction OpenGL Reference ManualHp’s implementation of the OpenGL libraries OpenGL productHp’s implementation of OpenGL Supported graphics devices Supported operating systemsSupported visuals Visual Table for HP Visualize fxeVisual Table for ATI Fire GL T2/X1/X3 Stereo Visual Support for HP Fire GL-UX Visual support for other graphics devicesBuffer sharing between multiple processes and threads Sigchld and the GRM daemonBit programming Sample 64-bit compile and link for 11.x only SLS supportInput and output routines Standard OpenGL productOpenGL Utilities Library GLU OpenGL extensions for the X Window system GLXOpenGL product Mixing of OpenGL and Xlib Gamma correction Occlusion extension OpenGL extensionsVisibility test extensions Occlusion culling code fragmentsEnumerated Types for Occlusion GLHPsupersample extension EXP and EXP2 fogging Default visualsRendering details Bow-tie quadrilateralsVertices outside of a begin/end pair Index mode ditheringDecomposition of concave quadrilaterals Environment variables New environment variables as of release Switches to the faster double buffering method Installation and setup Installation and setup Verify that OpenGL is on your workstation Verification instructionsIs your system software preloaded with instant ignition? Installing OpenGL Install OpenGLOpenGL Development Environment Filesets for 11.0 Check log file Verify the product OpenGL file structure 64-bit libraries are in a subdirectory OpenGL file structure Chapter Running OpenGL programs Special considerations Virtual GLX VGL modeVisual support for the VGL mode Bool hpglXDisplayIsVGLDisplay *dpy, int screen Running hps implementation of the OpenGL stereo application Running hps implementation of the OpenGL stereo application Running OpenGL programs Compiling and linking programs Overview Subdirectory This Directory ContainsIncluding header files Linking shared libraries Compiling 32-bit and 64-bit applications for OpenGL OpenGL procedure calls Programming hints Programming hints Texture coordinates OpenGL correctness hints4D values Display list performance Glcompileandexecute modeOpenGL performance hints Geometric primitivesDraw array set extensions Textures State changes and their effects on display listsRegular primitive data Texture downloading performance Selection performanceState change High frame rate applications Optimization of lightingOcclusion culling Rescaling normals OpenGL performance hints
Related manuals
Manual 27 pages 63.95 Kb Manual 8 pages 32.71 Kb Manual 89 pages 28.35 Kb