------------------
Readme for wglinfo
------------------

Copyright (C) Nate Robins, 1997
              Michael Wimmer, 1999
              Milan Ikits, 2003

wglinfo is a small utility that displays all available visuals,
aka. pixelformats, in an OpenGL system along with renderer version
information. It shows a table of all the visuals that support OpenGL
and their capabilities. The format of the table is similar to glxinfo
on Unix systems:

  visual  ~= pixel format descriptor
  id       = visual id (integer from 1 - max visuals)
  dep      = cColorBits - color depth
  tp       = dwFlags - visual type (wn: window, pb: pbuffer, bm: bitmap)
  xsp      = no analog - transparent pixel (currently always ".")
  bfsz     = cColorBits - framebuffer size
  lvl      = bReserved - overlay (>0), underlay (<0), main plane (0)
  rgci     = iPixelType - rb = rgba mode, ci = color index mode
  db       = dwFlags & PFD_DOUBLEBUFFER - double buffer flag (y = yes)
  stro     = dwFlags & PFD_STEREO - stereo flag (y = yes)
  gene	   = dwFlags & PFD_GENERIC - software generic (y = yes) or ICD
  geac	   = dwFlags & PFD_GENERIC_ACCELERATED - generic with hardware (MCD)
  rsz      = cRedBits - # bits of red
  gsz      = cGreenBits - # bits of green
  bsz      = cBlueBits - # bits of blue
  asz      = cAlphaBits - # bits of alpha
  axbf     = cAuxBuffers - # of aux buffers
  dpth     = cDepthBits - # bits of depth
  stcl     = cStencilBits - # bits of stencil
  accum sz = cAccumBits - total # of bits in accumulation buffer
  accum r  = cAccumRedBits - # bits of red in accumulation buffer
  accum g  = cAccumGreenBits - # bits of green in accumulation buffer
  accum b  = cAccumBlueBits  - # bits of blue in accumulation buffer
  accum a  = cAccumAlphaBits - # bits of alpha in accumulation buffer
  ms ns/b  = no analog  - multisample buffers (currently always ".")

In the 10th column, you will find two additional columns:

ge ge
ne ac

Those capture the PFD_GENERIC_FORMAT (gene) and
PFD_GENERIC_ACCELERATED (geac) flags of the Pixelformat descriptor. If
'gene' is set to no, there is most probably an ICD (Installable Client
Driver) at work, i.e., a full OpenGL implementation by a hardware
vendor.  If 'gene' is set to yes and 'geac' to no, then the MS/SGI
(whichever is reported) software implementation is at work.  If 'gene'
and 'geac' both are set to yes, then the generic implementation is
supplemented by hardware acceleration, which should most certainly
mean that an MCD (Mini Client Driver) is at work, i.e., a small driver
that only exposes the rasterization interface of the underlying
hardware.

For additional details on what these flags mean, please refer to the
included source code. The original source code can be found in the 
SGI OpenGL Windows SDK.

For usage information, type 'wglinfo -h'

The '-w' switch will case the program to list all pixelformats that
can be used for hardware accelerated rendering. Hence, all pixelformats
that can only render to bitmaps are omitted, making the output slightly more
readable.

The '-d' switch works around problems with some implementations where it is
not possible to create an OpenGL context without special preparations (fullscreen
mode or others). It forces wglinfo to only print pixelformat information, but
no renderer information, which would require a context to be created.
This switch shouldn't be necessary for any current OpenGL driver.

The '-v' switch lists the pixelformats in a verbose form.

The '-s' sends the output to stdout instead of wglinfo.txt.
