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:
- 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.
- 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).
- 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:
- Performance is still being improved upon
- A few known bugs still exist
Features *Not* Included
- No Stencil support
- No accumulation buffer support
- wgl is not complete
Known Bugs
- 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.
- Window clipping bugs when single buffering
- Texture borders do not work
- Shared display list not thread safe
- Precision problems in z values when clipping
- 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.