|
|
|
|
GA_WorkAroundsFlagsType
Declaration
typedef enum {
gaSlowBltSys =
0x00000001,
gaHWCursor32x32 =
0x00000002,
gaHWCursorBlackBackground =
0x00000004,
gaSlow24bpp =
0x00000008,
gaSlow32bpp =
0x00000010,
gaBrokenLines =
0x00000020,
gaNoDDCBIOS =
0x00000040,
gaNoWriteCombine =
0x00000080,
gaNoInterlacedCursor =
0x00000100,
gaHWCursorBlackAndWhite8bpp =
0x00000200,
gaNoLCDSwitching =
0x00000400,
gaNoLCDExpandCursor =
0x00000800,
gaUsesBIOS =
0x00001000,
gaNeedFullBIOS =
0x00002000,
gaNeedContiguousFlipBuffers =
0x00004000,
gaNeed3DTiledAddressing =
0x00008000,
gaNoWHQLTransparentBlit =
0x00010000
} GA_WorkAroundsFlagsType
Prototype In
snap/graphics.h
Description
Flags for the WorkArounds member of the GA_devCtx structure. These flags define conditions for uncommon hardware bugs that can't easily be handled via the generic SNAP Graphics information reporting mechanism. Any code that calls the SNAP Graphics hardware drivers directly must be aware of these workarounds and how to deal with them. However the SNAP Graphics Software Reference Rasteriser knows how to deal with all currently known bugs, so application developers should use the reference rasteriser at all times for maximum compatibility with new hardware drivers.
The gaSlowBltSys flag indicates that the hardware BitBltSys function is faster than a direct linear framebuffer software blit. Most modern hardware can do a software blit as fast or faster than using the hardware, but some hardware can be faster than a pure software blit. This is only true when the mix mode is GA_REPLACE_MIX, since software reads from the framebuffer over the PCI bus are terribly slow.
The gaHWCursor32x32 flag indicates that the hardware only supports a 32x32 hardware cursor, while the SNAP Graphics specification implements an interface for 64x64 hardware cursors. SNAP Graphics drivers will still implement hardware cursor support for hardware that only supports a 32x32 cursor, however this flag will be set. If the high level operating system drivers require a cursor larger than 32x32, then this flag should be checked and a software cursor used in it's place when this is the case.
The gaSlow24bpp flag indicates that although the 24bpp display modes are accelerated, they are only partically accelerated. Hence if there is an equiavlent 32bpp display mode, that most should be used in preference to the 24bpp display mode if possible.
The gaSlow32bpp flag indicates that although the 32bpp display modes are accelerated, they are only partically accelerated. Hence if there is an equiavlent 24bpp display mode, that most should be used in preference to the 32bpp display mode if possible.
The gaBrokenLines flag indicates that the hardware line drawing produces slightly different pixels than the software reference rasterizer and cannot be made to produce correct pixels. For this reason, conformance testing for line drawing will be skipped on this hardware.
The gaNoDDCBIOS flag is an internal flag to indicate that the card does not have DDC BIOS support, and hence we should not attempt to use the DDC BIOS functions to read the EDID for legacy devices.
The gaNoWriteCombine flag is an internal flag to indicate that the graphics chipset does not work properly when write combining is enabled for later processors. If write combining is used, it may cause the system to lock or hang.
The gaNoInterlacedCursor flag is an internal flag to indicate that the graphics chipset does not properly handle hardware cursors in interlaced display modes. Hence a software cursor should be used instead for these modes.
The gaNoLCDSwitching flag is set if the SetOptions function does not properly implement LCD/CRT switching. This is usually set for situations where the BIOS is not working properly, and it will be up to the user to use the function keys on the laptop to do the switching.
The gaNoLCDExpandCursor flag is set if the hardware does not support the hardware cursor correctly in LCD panel expansion modes. Hence a software mouse cursor should be used instead.
The gaUsesBIOS flag is set if the driver internally uses the BIOS for mode sets. This is mostly a flag to let the OS/2 driver know that it does not need to implement BIOS specific hacks that can slow down mode switching as the BIOS is already being used internally in the drivers. The BIOS is generally only used for laptop support and for legacy drivers where there is not enough information available to work without the BIOS.
Members
gaSlowBltSys |
Software is slower than hardware for GA_REPLACE_MODE |
gaHWCursor32x32 |
The hardware cursor is only 32x32 in size |
gaHWCursorBlackBackground |
The hardware cursor requires that the background color always be black (0's) |
gaSlow24bpp |
The 24bpp modes are only partially accelerated |
gaSlow32bpp |
The 32bpp modes are only partially accelerated |
gaBrokenLines |
The hardware line drawing is not conformant |
gaNoDDCBIOS |
Card does not have DDC BIOS support |
gaNoWriteCombine |
Card does not support write combining |
gaNoInterlacedCursor |
HW cursor in interlaced modes is broken |
gaHWCursorBlackAndWhite8bpp |
The hardware cursor in 8bpp is always black and white and cannot be changed. |
gaNoLCDSwitching |
This flag is set if LCD switching does not work |
gaNoLCDExpandCursor |
This flag is set to disable cursor in LCD expand modes |
gaUsesBIOS |
Internally this driver uses the BIOS |
gaNeedFullBIOS |
This driver needs a full BIOS implementation on OS/2 in order to function |
gaNeedContiguousFlipBuffers |
Contiguous flip buffers needed for Win32 DirectDraw |
gaNeed3DTiledAddressing |
3D tiled addressing needed for Win32 DirectDraw |
gaNoWHQLTransparentBlit |
Chipset does not support WHQL style transparent blits. |
Copyright © 2002 SciTech Software, Inc. Visit our web site at http://www.scitechsoft.com