OpenGL ICD - 10/1/98 - BETA 3a Release

print this page
Design Support

Rendition®* OpenGL ICD - 10/1/98 - BETA 3a Release

This ZIP file contains a beta release of Rendition's OpenGL ICD for the V2x00 generation of chips. As this is a beta release, you should expect to find bugs (potentially serious) and a few remaining missing features. Use this ICD at your own risk.

Releases

10/1/98 - BETA 3a Release

  • 3DNow Quake2 bug fix
  • Revised documentation (this file)
9/25/98 - BETA 3 Release
  • Initial 3DNow support
  • Fixed GL Unreal support
  • Numerous bug fixes and performance tweaks
7/31/98 - BETA 2 Release
  • Optimizations for Unreal
  • Environment variables supersede registry
  • Numerous bug fixes and performance tweaks
6/23/98 - First BETA Release
  • OpenGL conformance
  • Per polygon mipmapping
  • Bug fixes
  • New extensions
    • "GL_EXT_compiled_vertex_array "
    • "GL_EXT_clip_volume_hint "
    • "GL_DFI_eight_bit_source_EXT "
    • "GL_REND_screen_coordinates "
  • Faster vertex arrays
  • Faster lighting
  • Lightwave bugs fixed
    + more (including many bug fixes)

Alpha release details removed...

To install this driver:

  • Copy the v2000gl.uc file to your windows\system directory.
    NOTE: A v1000gl.uc is included to allow GL experimentation on older V1000 cards. We do not guarantee this ICD will function on the V1000, and you will likely experience unacceptably slow performance.
  • Copy the opengl32.dll to the directory containing the application or game you wish to run with the ICD.
  • The Maze screen saver that comes with Windows does not work with the current ICD. A fixed ssmaze.scr file (contained in SDK.zip) can be downloaded from the web site and copied into your windows\system directory to replace the broken one. (It only took a one line fix to get it going!)
  • If you wish to experiment with making the accelerated ICD the default for all OpenGL applications, you can copy the opengl32.dll into your windows\system directory. Be sure and our windows\system directory. Be sure and make a backup copy of the windows default opengl32.dll first, and be prepared to change back to it if you encounter any problems.
  • Be sure and delete or rename all older versions of the ICD and v2000gl.uc files. If a version mismatch occurs, a crash is likely.
    NOTE: Version mismatch is the most common source of problems with this ICD. Reinstalling your graphics drivers or DirectX may accidentally overwrite the v2000gl.uc or opengl32.dll. If you notice any odd behavior or crashes, double check to make sure you have the proper matched set installed.

Again, these drivers are unsupported by Rendition.
End-users are recommended to use drivers provided by their board manufacturer to ensure that they can obtain full support.

Configuration Instructions

The latest ICD uses registry entries and/or environment variables to modify behavior. Three features that can be adjusted are:

  1. Triple buffering (when you are a full screen app, and ask for double buffering you actually have 3 buffers allocated - 6 if stereo - in a transparent fashion to the user). Triple buffering drastically reduces the time the graphics chip spends waiting for the vertical sync between frames. An offshoot of this is that it is no longer necessary to have the highest refresh rate to see maximum performance. On the other hand we can run at the lowest comfortable refresh rate, having the CRT controller access the framebuffer much less frequently and thereby freeing up memory bandwidth for rendering. So setting the lowest refresh rate gives best results when triple buffering is enabled. When it is not, then highest refresh rate gives you the fastest results.
  2. Line doubled stereo. When viewing stereo, if the vertical resolution is halved the eye gets fooled into believing that there is almost as much resolution as in a non-stereo buffer with twice the vertical resolution. Halving the vertical resolution, halves the memory/rendering bandwidths required. So we are able to run almost as fast as the non-stereo case (not quite true if the geometry is the bottleneck).
  3. Mipmapping. This release of the ICD supports per-polygon mipmapping.

Triple buffering is on by default. Stereo line doubling is off by default. Mipmapping defaults to "none". There is no need to edit your registry if you do not wish to change this default behavior.

Registry Entries

To change these settings, use regedit to add the following to the local machine registry under "Software\Rendition\OpenGL":

Name Type Values Default Description
TripleBuffering DWORD 0 or 1 1 enable/disable triple buffering
MipMapMode STRING None or PerPolygon None changes mipmapping mode
StereoLineDouble DWORD 0 or 1 0 enable/disable line doubling in stereo
TexLockedMemSize DWORD 1000000 to 8000000 8000000 bytes of memory to lock for texture swapping
GL_EXT_vertex_array DWORD 0 or 1 1 enable/disable GL_EXT_vertex_array
WGL_EXT_swap_control DWORD 0 or 1 1 enable/disable WGL_EXT_swap_control
WGL_EXT_gamma_control DWORD 0 or 1 1 enable/disable WGL_EXT_gamma_control
GL_EXT_point_parameters DWORD 0 or 1 1 enable/disable GL_EXT_point_parameters
GL_EXT_bgra DWORD 0 or 1 1 enable/disable GL_EXT_bgra
GL_EXT_compile_vertex_array DWORD 0 or 1 1 enable/disable GL_EXT_compile_vertex_array
GL_EXT_clip_volume_hint DWORD 0 or 1 1 enable/disable GL_EXT_clip_volume_hint
GL_WIN_swap_hint DWORD 0 or 1 1 enable/disable GL_WIN_swap_hint
GL_DFI_eight_bit_source_EXT DWORD 0 or 1 1 enable/disable GL_DFI_eight_bit_source_EXT
GL_REND_screen_coordinates DWORD 0 or 1 1 enable/disable GL_REND_screen_coordinates
Disable3DNow DWORD 0 or 1 0 enable/disable 3DNow support

Environment Variables

The registry settings can be overridden with environment variables. Set the following variables within your DOS session to override the defaults or under Windows NT under MyComputer/Properties/Environment or under Window 9x in your autoexec.bat

Note:

False = F = No = N = 0 :: these all mean False

True = T = Yes = Y = 1 :: these all mean True

  • TripleBuffering=True or False
  • MipMapMode=None or PerPolygon
  • StereoLineDouble=True or False
  • TexLockedMemSize=1000000 to 8000000
  • GL_EXT_vertex_array=True or False
  • WGL_EXT_swap_control=True or False
  • WGL_EXT_gamma_control=True or False
  • GL_EXT_point_parameters=True or False
  • GL_EXT_bgra=True or False
  • GL_EXT_compile_vertex_array=True or False
  • GL_EXT_clip_volume_hint=True or False
  • GL_WIN_swap_hint=True or False
  • GL_DFI_eight_bit_source_EXT=True or False
  • GL_REND_screen_coordinates=True or False
  • Disable3DNow=True or False

This is handy for writing scripts or creating icons to start apps with your desired settings.

3DNow Support

This release contains preliminary support for AMD's 3DNow technology. OpenGL 3DNow support works best with 3DNow enabled applications, and it may actually slow down with non-3DNow applications. For more information on 3DNow enabled products, please contact AMD at 'www.amd.com'. Also, 'www.3dnow.net' is another web site with useful 3DNow related information.

3DNow support can be disabled with the 'Disable3DNow' registry or environment setting. It is enabled by default.

App Notes

Triple buffering uses 50% more frame buffer memory than double buffering. On a 4MB card, memory may be scarce in some applications. If you notice any performance problems with triple buffering enabled, you may wish to disable it or run at a lower resolution.

Quake 1 assumes a double-buffered screen, and when run with triple buffering may exhibit flashing. At the console "set gl_triplebuffer 1" to fix this.

To turn on stereo in Quake 2, type "set cl_stereo 1", "set gl_ztrick 0", followed by a "vidrestart".

With line-doubling enabled, the default console font in Quake 2 is very difficult to read. You may wish to experiment with different fonts, or to turn off stereo mode temporarily while working with the console.

If you experience crashes and think you may be running out of memory, try decreasing the amount of memory locked for texture swapping. A system with 24MB may not have enough memory left over to run many applications after the default 8MB has been locked.

Release Notes

This is a beta version of Rendition's OpenGL ICD. The following should be kept in mind at all times:

  1. Performance is still being improved upon
  2. A few known bugs still exist

Features *Not* Included

  1. No Stencil support
  2. No accumulation buffer support
  3. wgl is not complete

Known Bugs

  1. Running a fullscreen app using textures while running a windowed app animating and using textures, may cause the display to hang when exiting the fullscreen app.
  2. Window clipping bugs when single buffering
  3. Texture borders do not work
  4. Shared display list not thread safe
  5. Precision problems in z values when clipping
  6. Very large textures sometimes causes crashes
K6-2 3DNow
  • Screen Saver, Flying Objects, Explode setting, doesn't appear
Both K6-2 3DNow and Intel
  • Quake has occasional missing textures
  • Several SDK Book demos fail, 3dpipes screen saver, et. al.
    (due to single buffering bug)
  • Indy 3D has corrupted window
  • polygon_offset causes Z to wrap from far to near
  • 3DSMAX2. The ICD is not getting window events.

Misc Notes

There are still outstanding issues with some screen savers. Particularly, the OpenGL "maze" screen saver uses render to bitmap pixel formats that are not supported. Also, there is still a problem with the OpenGL pipes screen saver not drawing the prettiest picture.

This release is OpenGL 1.1 conformant.

* Note: Rendition is now part of the Integrated Products Group of Micron Technology, Inc.