Acceleration and support provided by VideoHWVF

The VideoHWVF module 0.47 provides hardware acceleration using the features of an AGP graphics card, accessed through the ViewFinder podule. The acceleration provided is described below. It covers the vast majority of common operations which are used by applications. The operations are broken down into the core components for the abstracted video system.

All features which are not supported by the hardware driver will be deferred to the software driver which will use direct screen access to provide the required operation, or update its internal state.


  • 'Not supported' - the hardware driver does not provide any facilities for this feature; it will be passed to the software driver.
  • 'Supported' - the hardware driver provides this facility but it does not gain from specialised hardware features for faster
  • 'Accelerated' - the hardware driver provides this facility and uses specialised hardware features to improve performance.

Text (VDU4-style text output)
VideoV_Text_ChangeDestination  : Supported
VideoV_Text_DefineChar         : Supported
VideoV_Text_SetTextColour      : Supported
VideoV_Text_WriteTextChar      : Accelerated
VideoV_Text_TextCursor         : Accelerated
VideoV_Text_ClearBox           : Accelerated
VDU graphics operations
VideoV_Graf_SetColour1         : Accelerated [1]
VideoV_Graf_SetColour2         : Accelerated [1]
VideoV_Graf_ChangeDestination  : Supported
VideoV_Graf_ChangeBase         : Supported
VideoV_Graf_ReadPrimitives     : Supported
VideoV_Graf_Rectangle          : Accelerated
VideoV_Graf_Triangle           : Accelerated [3]
VideoV_Graf_Parallelogram      : Accelerated [3]
VideoV_Graf_BlockCopy          : Accelerated
VideoV_Graf_CircleOutline      : Accelerated [3]
VideoV_Graf_CircleFill         : Accelerated [3]
VideoV_Graf_CircleArc          : Accelerated [3]
VideoV_Graf_CircleSegment      : Accelerated [3]
VideoV_Graf_CircleSector       : Accelerated [3]
VideoV_Graf_EllipseOutline     : Accelerated [3]
VideoV_Graf_EllipseFill        : Accelerated [3]
VideoV_Graf_FillRight          : Not supported
VideoV_Graf_FillLeftAndRight   : Not supported
VideoV_Graf_FillFlood          : Not supported
VideoV_Graf_PolyHLine          : Accelerated  
Graphics primitives
HLine                          : Accelerated
VLine                          : Accelerated
Point                          : Accelerated
Mouse pointer operations
VideoV_Pointer_Define          : Supported
VideoV_Pointer_Select          : Supported
VideoV_Pointer_Update          : Supported
VideoV_Pointer_Remove          : Supported
VideoV_Pointer_SetPalette      : Supported [4]
Mode / screen operations
VideoV_Mode_VetMode            : Supported
VideoV_Mode_SetMode            : Supported
VideoV_Mode_Scroll             : Accelerated
VideoV_Mode_SetPalette         : Supported
VideoV_Mode_Enable             : Supported
VideoV_Mode_Disable            : Supported
VideoV_Mode_PowerSave          : Supported
VideoV_Mode_SetRGBTable        : Supported
VideoV_Mode_AccelConfigure     : Supported [2]
VideoV_Mode_AccelControl       : Supported [2]
VideoV_Mode_DisplaySelect      : Supported
VideoV_Mode_BankCount          : Supported
VideoV_Mode_BankDisplay        : Supported
VideoV_Mode_BankDriver         : Supported
VideoV_Mode_BankCopy           : Accelerated
Mode change fade               : Supported
VSync IRQ provision            : Supported
Monitor EDID acquisition       : Supported


1. Multi-operation ECF's cannot be supported.
2. Due to hardware restrictions cache cleaning is fixed at '1 VSync'.
3. The operation is accelerated indirectly via the graphics primitives.
4. The H/W pointer is 2 colour plus transparent. The RISC OS (3 colour plus transparent) pointer is translated. Colour 1 and either colour 2 or 3 are used.

This documentation is copyright 3QD Developments Ltd 2013 and may not be reproduced or published in any form without the copyright holders permission. RISC OS is subject to continuous development and improvement as such all information is reproduced by 3QD Developments Ltd in good faith and is believed to be correct at the time of publication E&OE. 3QD Developments Ltd cannot accept any liability for any loss or damage arising from the use of any information provided as part of the RISC OS Documentation.

HTML document version 1.02  27th April 2007