Quantum3D AA5(R) Drivers Windows NT/2000 Release Notes
Release 4.6
28-May-2004

Copyright (C) 1999-2004  Quantum3D, Inc.  All rights reserved.

=====================================================================
Quantum3D, Inc.
6330 San Ignacio Avenue
San Jose, California  95119-1209  USA
Voice: +1 (408) 361-9998   Fax: +1 (408) 361-9980
Web Site: http://www.quantum3d.com
Technical Support: support@quantum3d.com
=====================================================================

=====================================================================

Release 4.6
===========
- Fixed noise issues for 1280x1024@60Hz in genlock slave mode:
  - Modified to run with the internal loop filter
  - Modified to run with VCO divider of 4 and charge pump of 1uA

Release 4.5
===========
- Set phase frequency detector gain to 128 for all modes

Release 4.4
===========
- Lowered VCO frequency in genlock modes
- Changed to use external hsync feedback when genlocked to
  external syncs

Release 4.3
===========
- Adjusted timing of 640x480@85Hz
- Build with SimGL bid_05BA-v4.5-build339


Release 4.2
===========
- Increased 'aaDepthBuffer' aperture as it was not large enough on 32M
  cards. Consequently depth buffer reads were getting corrupted for
  the last few lines of the display.
- Build with SimGL bid_05B2-v4.5-build0331
- Build with Glide Redirector bid_04A8-V4.01


Release 4.1
===========
- Fixed swaplock slave hang when running at 1024x768@60Hz


Release 4.0
===========
- Fixed hang in grSstWinClose


Release 3.9
===========
- Changed DAC power state when syncs are disabled
- Modified logotest to allow only one instance to run


Release 3.8
===========
- Fixed Fvco calculations for 1024x768@60Hz PLL


Release 3.5
===========
- Build with SimGL bid_598-V4.4-build308
- Build with Glide Redirector bid_04A5-V1.31


Release 3.4
===========
- Added code to initialize the ISR as a shared interrupt vector. This
  was causing problems on some motherboards if the AAlchemy shared an
  interrupt with another device.
- Added optimizations for Pentium 4.


Release 3.3
===========
- Fixed depth buffer reads


Release 3.2
===========
- Fixed hwcGammaTable() for when nEntries is 256. Before this fix the
  upper 3 entries of the 1024 entry Gamma table were being set
  incorrectly.


Release 3.1
===========
- Fixed grTexMaxAddress for applications that allocate large texture
  memory space.
- Added line numbers to build for easier customer debugging.
- Added Win2k installation instructions to readme.txt file.
- Fixed realtime modeset feature for changing resolutions on the fly.
- Modified _VideoPortGetAccessRanges() to do the correct resource
  enquiries and registry updates.
- Added 1360x1024@60Hz as a built-in timing for JVC projectors


Release 3.0
===========
- Initial support for Windows 2000
- Fixed query of custom resolutions; allows property sheet to
  enumerate them.
- Fixed SwapLock initialization for non-standard configurations.
- Updated pixel clock calculations for better accuracy.
- To accommodate multiple-heads, dual boards now read their settings
  from device0 in the registry.
- Fixed 1024x768@70Hz timings for better sync to some monitors.
- Property Sheet:
  1) Added better support for dual heads. Each head is selected from
     the adapter selection list; individual settings can be modified
     and saved into their corresponding registry directory:
     "Device(n)/Glide/..."
  2) Changed gamma edit box behavior; made them more interactive.
  3) Added support for custom resolutions.


Release 2.4
===========
- Added support for dual head registry configuration.
- Property sheet:
  1) Dual head support; change settings for each board by selecting
     each adapter.
  2) Dual head support: radio button "AA off" in "AA settings"
     should not be enabled.
  3) Changed the Fine-Tuning tabs default initial settings.


Release 2.3
===========
- Put Xilinx into logical bypass mode during driver initialization.
- Modified MTRR allocation code to look for an pre-existing MTRR
  within our board address range. Previously the code looked for
  an exact match.
- Fixed code to scan all 8 MTRRs not just the first 7.
- Modified driver so that an MTRR is always re-allocated even if it
  already exists. This mod is a workaround for BIOS's that allocate
  an excessive number of MTRRs themselves.
- Added FX_GLIDE_REVERSE_CONNECTIVITY environment variable for
  systems that have their PCI slots in the reverse order to what the
  driver expects.
- Modified single chip debug output mode to work on dual board
  systems. The ALT key selects which board to output from when one
  of the numbers on the keypad is pressed.
- Fixed genlock slaves to use master's clock.
- Fixed stall when swapinterval is 0.
- Fixed sli tearing when swapinterval is 0.
- Updated address in documents.
- Property sheet:
  1) Fixed bug with enabling and disabling Antialiasing buttons.
  2) Fixed bug with Apply button being enabled to early.
  3) Fixed Gamma lock checkbox restoring state properly.


Release 2.2
===========
- Changed file format for screen snapshots to  BMP (used to be TGA
  format).
- Fixed SwapLock for multi-channel/dual board/dual head


Release 2.1
===========
- Added Sensor API to Glide Extensions
- Fixed I2C read bytes
- Added support for new I2C Xilinx functions
- Added new single chip output debugging feature
- Changed AA offsets to range from -0.5 to +0.5, previous range was
    0 to 1. This was causing some clipping issues at the edge of the
    screen.
- Fixed the FX_GLIDE_AAm_OFFSET_X/Yn environment variables to allow
    user setting of AA offsets on 4 and 8 chip boards.
- Fixed _TriFill (used for non-WAX screen clears) so that the alpha
    buffer is cleared to the correct value.
- Fixed chip debugging to work with sensor
- New AA clock delay values
- Fix IOCTLs for dual board
- Fixed performance issues with grsstorigin
- Added new feature to switch between 1280x1024@60Hz and
    1280x1024@40Hz
- Added new Sensor features
- Modified LODBias offsets used for PT so that base+detail fill rate
    is improved
- Removed calls to HalTranslateBusAddress() for IO accesses since
    this call seems to be broken on SX motherboards.
- Added uninstall of old test20 version of property sheet glide test
- Added Checkbox "Invert Composite sync"
- Added grGet/SetStallCallbackQ3D() extension functions.
- Fixed tearing in 8-way SLI mode
- Fixed missing lines in SwapLock slave modes
- Fixed sensor feature detection
- Fixed pll stability for 640x480@85Hz


Release 2.0
===========
- Fixed grGet(GR_BITS_DEPTH) to return "the number of bits of
  depth (z or w) in the frame buffer" as specified in the Glide
  documentation.
- Added AA screen shot function
    1) Enables the user to capture an anti-aliased picture
       of the display
    2) User-selectable screen shot hot key added to the
       Property Sheet
    3) New extension API, grLfbReadRegionQ3D(), added for doing AA
       frame buffer reads
- Hot key to toggle Anti-Aliasing On and Off dynamically
  added to the Property Sheet
- Fixed bug in grTBufferWriteMaskExt()
- Fixed Glide Confidence Test to run on AAlchemy
- Build with SimGL bid_03B5-V4.4-build212
- Auto-detect board types; remove override board type registry
  entry.
- Added 8-subsample AA mode for 8xxx
- Fixed 1280x940@70Hz for 82xx
- Added support for Performance Trilinear feature on new boards.
- Added Performance Trilinear options in the Property Sheet.
- Added new 1024x1024 BuiltIn resolutions.
- Added Multi-resolution SwapLock / GenLock.
- Fixed problems with PCI Bus causing some applications to hang


Release 1.6
===========
- Added true color model to property sheet.
  16bpp = 22bpp, 32bpp = 30bpp.


Release 1.5
===========
- Use SimGL bid_03A8-V4.4-build199
- Use Glide Redirector bid_0449-V1.08
- Fixed bug that meant that previously on 4 or 8 chip boards in
  16bit rendering mode with 4SPAA, the achieved output color depth
  was only 19 bits instead of 22.
- Disabled EDID read to fix custom timings that were not
  "GTF compliant" for certain monitors


Release 1.4
===========
- Fixed grGet(GR_IS_BUSY) for 82xx
- In PSheet:
    1) Replaced all gamma dial controls into slider controls
    2) Changed the resolution selection behavior when checkbox is
       checked.  The default resolution item in the list is
       automatically selected without user intervention.
    3) Support for new composite sync configurations.
    4) All 50Hz-related resolutions are treated as Q3D BuiltIn
       resolutions and noted as <width>x<height>@<refresh>.
    5) Fix Glide test so that it runs at the correct resolution,
       refresh rate and color depth.
    6) Added RGB Gamma value edit boxes.
    7) Allow user to set Swap Interval to 0.
- Added GR_GSI_ performance queries.
- Fixed grQueryResolutions(). It now returns all supported standard
  and BuiltIn resolutions.
- Fixed composite sync.
- Fixed tile sizes for 1280x940 on 82xx.
- Fixed 640x480 video resolution.
- Fixed 82xx to work with SPP board.


Release 1.3
===========
- Allow trilinear textures to be contiguous when the Glide
  TEXTURE_UMA extension is present.
- In Property Sheet:
    1) Used 1024x768 as the resolution template for generating the
       override refresh rate list because it contains the most
       complete refresh rate list.
    2) Disabled the Off radio button in the AntiAliasing Settings
       dialog box for 82xx.
    3) Disabled 8-way subsampling.
    4) Added Xilinx Revision to "Driver Info" dialog.
- Fixed screen clear when leaving syncs active on exit
- Fixed "unsetting" of SwapLock modes
- Driver now checks for Xilinx revision number
- Fixed compatibility issues with GX+ motherboards


Release 1.2
===========
- Fixed grGetString queries for TXTFMT, COMBINE, PIXFMT
- Fixed DAC PLL calculations for 82xx
- Optimized loading gamma tables
- Added SwapLock for 82xx boards
- Fixed Property Sheet and added more functionality:
    1) Added default resolution and refresh selection for SimGL
       applications.
    2) Allows user to override resolution for Glide applications.
    3) Allows user to override default resolution for SimGL
       applications.
    4) Added an option for leaving sync signals active on exit.
    5) Added composite sync settings selection.
    6) Added sync control settings (Override VESA standard).
       Users can define H/V-sync polarities.
    7) Added context-sensitive help.
    8) Added support for 82xx.
- Added 50Hz video timings.
- Fixed GrGet for GR_BITS_DEPTH and GR_BITS_RGBA.
- Added Custom Resolutions.
- Added GlideRedirector to all 8xxx releases.
- Added 82xx swap-on-swap mode.
- Added user-override of built-ins and custom timings.
- Performance enhancement for LFB writes.
- Added Actel setup for 82xx.
- Added code to scan all PCI busses.
- Added GR_GSI queries to support AA5 new functionality.
- Added option for constant monitor syncs.
- Fixed incorrect loading of small textures into mipmap level 0.
- Fixed FXT1 when using trilinear mipmaps.
- Fixed FindLowestDeviceName to use constant strings.
- Added 2 more SwapLock modes with longer vertical totals.
- Added Authentication.
- Added Gamma correction to use 10-bit gamma tables.


Release 1.1
===========
- Fixed identification of 32MB vs. 64MB boards causing bad display of
  textures.
- Added composite sync, sync on green, and sync polarity.
- Added genlocking to an external source.


Release 1.0
===========
- Initial release.