RISC OS Open
A fast and easily customised operating system for ARM devices
ROOL
Home | News | Downloads | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account

GraphicsV 13

GraphicsV
» GraphicsV 13

Graphics Vector (42)

Entry  
R0 Flags:
Bit 0: Synchronise
Bit 1: Synchronise if unclaimed
R1 Render operation:
0 = No-op
1 = Copy rectangle
2 = Fill rectangle
R2 Pointer to operation parameter block
R4 Bits 0-23: 13 (reason code)
Bits 24-31: Driver number
Exit  
R4 0
- All other registers preserved

Use

The kernel issues this call to instruct the driver to perform a hardware-accelerated rendering task. The appropriate driver should respond to the call in the following manner:

  • If the render operation is supported, perform the requested action and set R4 to 0 to claim the call. If bit 0 of R0 is set, synchronise with the video controller to ensure the operation is complete before returning.
  • If the render operation is unsupported, leave the call unclaimed. If bit 1 of R0 is set, synchronise with the video controller to ensure that any previous render operations have completed.
  • If no hardware acceleration is supported at all, the driver can safely ignore the call.

Notes

Screen memory will typically be bufferable – GraphicsV driver implementations should make sure to perform the necessary memory barrier operations at the start/end of any given acceleration op (e.g. write barrier at start, read barrier at end). Suitable barrier routines are available via OS_MMUControl 2.

If no driver responds to the request then there is no generic software fallback in place. Software rendering fallbacks must be handled on a case-by-case basis by the caller. Therefore any user software which wishes to make use of hardware acceleration should either do so via the VDU interface (e.g. use block copy/fill OS_Plot operations, which will have the appropriate fallbacks in place inside the kernel), or call GraphicsV directly and use their own software fallback for any unsupported operations. Just because one call succeeds it does not guarantee that the next call will succeed, or that a call made with slightly different parameters will succeed.

See also

  • GraphicsV
Revised on August 16, 2015 19:56:31 by Jeffrey Lee (213) (91.84.11.161)
Edit | Back in time (6 revisions) | See changes | History | Views: Print | Source | Linked from: HAL_VideoRender, HAL Video API, GraphicsV, GraphicsV 6, GraphicsV 13 0, GraphicsV 13 1, GraphicsV 13 2

Search the Wiki

Social

Follow us on and

ROOL Store

Buy RISC OS Open merchandise here, including SD cards for Raspberry Pi and more.

Donate! Why?

Help ROOL make things happen – please consider donating!

RISC OS IPR

RISC OS is an Open Source operating system owned by RISC OS Developments Ltd and licensed primarily under the Apache 2.0 license.

Navigation

  • Home Page
  • All Pages
  • Recently Revised
  • Authors
  • Feeds
Site design © RISC OS Open Limited 2018 except where indicated
The RISC OS Open Instiki theme is based on Insitki's default layout

Valid XHTML 1.0  |  Valid CSS

Instiki 0.19.1(MML+)
This site runs on Rails

Hosted by Arachsys