A module is interposed between a multitasking operating system and the
device driver for a graphics adapter including a frame buffer with a
linear aperture for continuous, asynchronous data transfers. The
interposed module may selectively intercept all graphics device driver
function requests or simply pass such requests to the device driver, and
provides a mechanism for generating graphics output in the frame buffer
without utilizing graphics accelerator hardware on the graphics adapter.
The interposed module is aware of the start and stop of asynchronous data
transfers to the frame buffer. When asynchronous data transfers are
started, the interposed module invokes the graphics adapter device driver
to obtain access to the frame buffer linear aperture and sets its own
internal state to active. While active, the interposed module intercepts
all graphics device driver requests and employs its own mechanism to
generate graphics output in the frame buffer responsive to such requests,
without utilizing the graphics accelerator hardware. Since the graphics
accelerator hardware is not utilized, the frame buffer linear aperture
always remains enabled. While inactive, the interposed module simply
passes all graphics device driver requests to the device driver. The
interposed module is preferably implemented in accordance with the GRADD
architecture model, with the mechanism for generating graphics output
being provided by the VMAN and SOFTDRAW libraries.
Un module est interposé entre un logiciel d'exploitation de traitement multitâche et le module de gestion de périphérique pour un adapteur de graphiques comprenant un amortisseur d'armature avec une ouverture linéaire pour des transferts de données continus et asynchrones. Le module interposé peut sélectivement arrêter toutes les demandes de fonction de module de gestion de périphérique de graphiques ou simplement passer de telles demandes au module de gestion de périphérique, et fournit un mécanisme pour produire des graphiques produits dans l'amortisseur d'armature sans utiliser le matériel d'accélérateur de graphiques sur l'adapteur de graphiques. Le module interposé se rend compte du début et de l'arrêt des transferts de données asynchrones à l'amortisseur d'armature. Quand des transferts de données asynchrones sont commencés, le module interposé appelle le module de gestion de périphérique d'adapteur de graphiques pour obtenir l'accès à l'ouverture linéaire d'amortisseur d'armature et place son propre état interne à actif. Tandis qu'actif, le module interposé arrête tous les graphiques que le module de gestion de périphérique demande et utilise son propre mécanisme pour produire du rendement de graphiques dans l'amortisseur d'armature sensible à de telles demandes, sans utiliser le matériel d'accélérateur de graphiques. Puisque le matériel d'accélérateur de graphiques n'est pas utilisé, l'ouverture linéaire d'amortisseur d'armature reste toujours permise. Tandis qu'inactif, le module interposé passe simplement toutes les demandes de module de gestion de périphérique de graphiques au module de gestion de périphérique. Le module interposé est de préférence mis en application selon le modèle d'architecture de GRADD, avec le mécanisme pour produire d'être fourni produit par graphiques par les bibliothèques de VMAN et de SOFTDRAW.