GA_options

Declaration

typedef struct {
N_uint32 dwSize;
N_fix32 memoryClock;
N_fix32 defaultMemoryClock;
N_fix32 maxMemoryClock;
GA_paletteExt gammaRamp[256];
N_int32 outputDevice;
GA_TVParams TV640PALUnder;
GA_TVParams TV640NTSCUnder;
GA_TVParams TV640PALOver;
GA_TVParams TV640NTSCOver;
GA_TVParams TV800PALUnder;
GA_TVParams TV800NTSCUnder;
GA_TVParams TV800PALOver;
GA_TVParams TV800NTSCOver;
N_uint8 bRes1;
N_uint8 bRes2;
N_int32 RTCFrequency;
N_int32 RTCAdvanceTicks;
N_uint8 bRes3;
N_uint16 ioPort;
N_uint8 ioAndMask;
N_uint8 ioLeftOrMask;
N_uint8 ioRightOrMask;
N_uint8 ioOffOrMask;
N_uint8 vSyncWidthLeft;
N_uint8 vSyncWidthRight;
N_uint8 text80x43Height;
N_uint8 text80x50Height;
N_uint8 text80x60Height;
N_uint8 text100x43Height;
N_uint8 text100x50Height;
N_uint8 text100x60Height;
N_uint8 text132x43Height;
N_uint8 text132x50Height;
N_uint8 text132x60Height;
N_uint8 tripleScanLowRes;
N_uint8 doubleScan512;
N_uint8 stereoRefresh;
N_uint8 stereoRefreshInterlaced;
N_uint8 stereoMode;
N_uint8 stereoModeWindowed;
N_uint8 stereoBlankInterval;
N_uint8 stereoRefreshWindowed;
N_uint8 stereoRefreshWindowedInterlaced;
N_uint32 stereoDevice;
N_uint16 glassesType;
N_uint16 stereoBlankIntervalPercent;
N_fix32 engineClock;
N_fix32 defaultEngineClock;
N_fix32 maxEngineClock;
N_uint8 stereoControlPanelOptions;
N_uint8 stereoCursorRedraw;
N_uint8 res0[14];
N_int16 LCDPanelWidth;
N_int16 LCDPanelHeight;
N_uint8 bLCDExpand;
N_uint8 bPrefer16bpp;
N_uint8 bPrefer32bpp;
N_int16 TVMaxWidth;
N_int16 TVMaxHeight;
N_uint8 res1[95];
N_uint32 resolutions[GA_MAX_RESOLUTIONS];
N_uint8 colorDepths[GA_MAX_COLORDEPTHS];
N_uint8 maxRefresh;
N_uint8 accelType;
N_uint8 res2[159];
N_uint8 bDebugMode;
N_uint8 bGenericRefresh;
N_uint8 bDialAMode;
N_uint8 bVirtualScroll;
N_uint8 bDoubleBuffer;
N_uint8 bTripleBuffer;
N_uint8 bHardwareStereoSync;
N_uint8 bStereo;
N_uint8 bMultiDisplay;
N_uint8 bPortrait;
N_uint8 bFlipped;
N_uint8 bInvertColors;
N_uint8 bReserved1;
N_uint8 bReserved2;
N_uint8 bVirtualDisplay;
N_uint8 bAGPFastWrite;
N_uint8 bZoom;
N_uint8 bMultiHead;
N_uint8 res3[154];
N_uint8 bTVOut;
N_uint8 bTVTuner;
N_uint8 bDualHead;
N_uint8 bDPMS;
N_uint8 bDDC;
N_uint8 bDDCCI;
N_uint8 bGammaCorrect;
N_uint8 bHardwareCursor;
N_uint8 bHardwareColorCursor;
N_uint8 bHardwareVideo;
N_uint8 bHardwareAccel2D;
N_uint8 bHardwareAccel3D;
N_uint8 bMonoPattern;
N_uint8 bTransMonoPattern;
N_uint8 bColorPattern;
N_uint8 bTransColorPattern;
N_uint8 bSysMem;
N_uint8 bLinear;
N_uint8 bBusMaster;
N_uint8 bDrawScanList;
N_uint8 bDrawEllipseList;
N_uint8 bDrawFatEllipseList;
N_uint8 bDrawRect;
N_uint8 bDrawRectLin;
N_uint8 bDrawTrap;
N_uint8 bDrawLine;
N_uint8 bDrawStippleLine;
N_uint8 bPutMonoImage;
N_uint8 bClipMonoImage;
N_uint8 bBitBlt;
N_uint8 bBitBltPatt;
N_uint8 bBitBltColorPatt;
N_uint8 bSrcTransBlt;
N_uint8 bDstTransBlt;
N_uint8 bStretchBlt;
N_uint8 bConvertBlt;
N_uint8 bStretchConvertBlt;
N_uint8 bBitBltFx;
N_uint8 bGetBitmap;
N_uint8 res4[256];
GA_layout multiHeadSize;
GA_layout multiHeadRes[GA_MAX_HEADS];
GA_layout multiHeadBounds[GA_MAX_HEADS];
} GA_options

Prototype In

snap/graphics.h

Description

Structure returned by GetOptions, which contains configuration information about the options for the installed device driver. All the boolean configuration options are enabled by default and can be optionally turned off by the user via the configuration functions.

This structure also contains the configuration information for the software stereo page flipping support in SNAP Graphics.

If you select the gaGlassesIOPort type, then you need to fill in the ioPort, ioAndMask, ioLeftOrMask, ioRightOrMask and ioOffOrMask fields. These fields define the values used to toggle the specified I/O port when the glasses need to be flipped. First the existing value is read from the specified I/O port, the AND mask in applied and then the appropriate OR mask is applied depending on the state of the glasses. This value is then written back to the desired I/O port.

If you select the gaGlassesGenericVSync type, then you need to fill in the VSyncWidthLeft and VSyncWidthRight fields, which define the vertical sync width to program when the desired eye should be active.

The values in the RTCFrequency and RTCAdvanceTicks define the frequency of the stereo timer interrupt, which can be used to fine tune the overheads taken by the stereo page flip handler for maximum performance before stuttering begins (ie: lost frames). The RTCFrequency field can be any power of 2 frequency between 1024Hz and 8192H, and the RTCAdvanceTicks should be a value larger than 1. For most systems an RTCFrequency value of 2048 and an RTCAdvanceTicks of 2 will work well. SNAP Graphics will however choose good defaults for the target OS if these values are not overridden.

Note: The dwSize member is intended for future compatibility, and should be set to the size of the structure as defined in this header file. Future drivers will be compatible with older software by examiming this value.

Members

dwSize | Set to size of structure in bytes
memoryClock | Currently configured memory clock
defaultMemoryClock | Current hardware default memory clock
maxMemoryClock | Maximum allowable memory clock
gammaRamp | Default gamma ramp for RGB display modes
outputDevice | Currently configured output device
TV640PALUnder | TV parameters for 640x480 PAL underscan modes
TV640NTSCUnder | TV parameters for 640x480 NTSC underscan modes
TV640PALOver | TV parameters for 640x480 PAL overscan modes
TV640NTSCOver | TV parameters for 640x480 NTSC overscan modes
TV800PALUnder | TV parameters for 800x600 PAL underscan modes
TV800NTSCUnder | TV parameters for 800x600 NTSC underscan modes
TV800PALOver | TV parameters for 800x600 PAL overscan modes
TV800NTSCOver | TV parameters for 800x600 NTSC overscan modes
numHorzDisplay | Number of horizontal displays
numVertDisplay | Number of vertical displays
RTCFrequency | Frequency for real time clock for software stereo
RTCAdvanceTicks | Number of ticks to advance for software stereo
glassesType | Type of stereo glasses defined by GA_glassesTypeFlags
ioPort | Generic I/O port for controlling glasses
ioAndMask | I/O port AND mask
ioLeftOrMask | I/O port OR mask when left eye is active
ioRightOrMask | I/O port OR mask when right eye is active
ioOffOrMask | I/O port OR mask when glasses are off
vSyncWidthLeft | Vertical sync width when left eye is active
vSyncWidthRight | Vertical sync width when right eye is active
text80x43Height | Character height for 80x43 text mode (8,14 or 16)
text80x50Height | Character height for 80x50 text mode (8,14 or 16)
text80x60Height | Character height for 80x60 text mode (8,14 or 16)
text100x43Height | Character height for 100x43 text mode (8,14 or 16)
text100x50Height | Character height for 100x50 text mode (8,14 or 16)
text100x60Height | Character height for 100x60 text mode (8,14 or 16)
text132x43Height | Character height for 132x43 text mode (8,14 or 16)
text132x50Height | Character height for 132x50 text mode (8,14 or 16)
text132x60Height | Character height for 132x60 text mode (8,14 or 16)
tripleScanLowRes | True to triple scan low res modes
doubleScan512 | True to double scan 512x384 modes
stereoRefresh | Value to use for stereo mode refresh rate
stereoRefreshInterlaced | Value to use for stereo mode interlaced refresh rate
stereoMode | Stereo mode to be used for fullscreen applications
stereoModeWindowed | Stereo mode to be used for windowed applications
stereoBlankInterval | Stereo mode blank interval for above below format
stereoDevice | Stereo device ID defined by stereo control panel
engineClock | Currently configured graphics engine clock
defaultEngineClock | Current hardware default graphics engine clock
maxEngineClock | Maximum allowable graphics engine clock
LCDPanelWidth | Width of attached LCD panel in pixels
LCDPanelHeight | Height of attached LCD panel in lines
bLCDExpand | Enable expansion of modes to fill LCD panel
bDebugMode | Enable debug log filter driver (0 is off)
bGenericRefresh | Enable generic refresh rate control
bDialAMode | Enable Dial-A-Mode generic mode interface
bVirtualScroll | Enable virtual scrolling functions
bDoubleBuffer | Enable double buffering functions
bTripleBuffer | Enable triple buffering functions
bHardwareStereoSync | Enable hardware stereo sync flag
bStereo | Enable stereo display mode support
bMultiDisplay | Enable multiple display mode support
bPortrait | Enable portrait display mode
bFlipped | Enable flipped display mode
bInvertColors | Enable invert color mode
bVirtualDisplay | Enable virtual display mode
bAGPFastWrite | Enable AGP fast write (only here to be licensed)
bZoom | Enable zoom support
bMultiHead | Enable multi-head support
bTVOut | Enable TV Output support
bTVTuner | Enable TV Tuner support
bDualHead | Enable Dual Head CRTC support
bDPMS | Enable DPMS Display Power Management support
bDDC | Enable DDC Display Data Channel functions
bDDCCI | Enable DDC/CI Control Interface functions
bGammaCorrect | Enable gamma correction
bHardwareCursor | Enable hardware cursor
bHardwareVideo | Enable hardware video
bHardwareAccel2D | Enable hardware 2D acceleration
bHardwareAccel3D | Enable hardware 2D acceleration
bMonoPattern | Enable 8x8 mono pattern fills
bTransMonoPattern | Enable 8x8 mono transparent pattern fills
bColorPattern | Enable 8x8 color pattern fills
bTransColorPattern | Enable 8x8 color transparent pattern fills
bSysMem | Enable system memory blits
bLinear | Enable linear offscreen memory blits
bBusMaster | Enable bus mastering functions
bDrawScanList | Enable DrawScanList family of functions
bDrawEllipseList | Enable DrawEllipseList family of functions
bDrawFatEllipseList | Enable DrawFatEllipseList family of functions
bDrawRect | Enable DrawRect family of functions
bDrawRectLin | Enable DrawRectLin family of functions
bDrawTrap | Enable DrawTrap family of functions
bDrawLine | Enable DrawLine function
bDrawStippleLine | Enable DrawStippleLine function
bPutMonoImage | Enable PutMonoImage family of functions
bClipMonoImage | Enable ClipMonoImage family of functions
bBitBlt | Enable BitBlt family of functions
bBitBltPatt | Enable BitBltPatt family of functions
bBitBltColorPatt | Enable BitBltColorPatt family of functions
bSrcTransBlt | Enable SrcTransBlt family of functions
bDstTransBlt | Enable DstTransBlt family of functions
bStretchBlt | Enable StretchBlt family of functions
bConvertBlt | Enable ConvertBlt family of functions
bStretchConvertBlt | Enable StretchConvertBlt family of functions
bBitBltFx | Enable BitBltFx family of functions
bGetBitmap | Enable GetBitmap family of functions
multiHeadSize | Virtual size for multi-head displays
multiHeadRes | Physical resolutions for multi-head displays
multiHeadBounds | Virtual layout for multi-head displays

Copyright © 2002 SciTech Software, Inc. Visit our web site at http://www.scitechsoft.com