Title: 3D Graphics Library Implementation
13D Graphics Library Implementation
CELF PLENARY MEETING 2005
Rev.1.2
2Resent Embedded 3D Graphics
- Many Embedded 3D Hardware Accelerators are
available.(See P3) - Separate Chip nVIDEA, ATI, etc.
- IP Cores Imagination Technologies, BitBoy,
etc. - Japanese Semicon Vender tends to provide their
own cores. - Various implementations (SeeP4)
- Different CPUs, w/wo Floating Point
Processor,w/wo Geometry -Vector Porcessor, w/wo
2D Accelerator,,, - Many Embedded 3D Graphics Libraries are
available. - OPEN/GL(ES)
- Criterion, Fatfammer, IdeaWorks, Mascot Capsule,
Superscape, etc.
33D Graphics Hardware
TYPE
Style
Remarks
Company
Selected by RENESAS TI, INTEL
Hardware IP-Core
MBX MBX-LITE
Imagination
Hardware IP-Core
Acceleon G30
BitBoys
GoForce SC10
Companion Chip
nVIDEA
Imageon 2300
ATI
Companion Chip
RENESAS(Z3D/Z4D)
TOSHIBA(T4G)
Others
FUJITSU
GSHARK , etc.
4Imagination MBX Implementations
CPU
FPU
VGP
3D-Acc
2D-Acc
-
SH4
Yes
VGP
MBX
1
SH4A
Yes
VGP
MBX
Hardware
2
Software using 3D
SH3A
No
VGP-lite
MBX-lite
3
Software using 3D
ARM11
Yes
VGP
MBX
4
Software using 3D
XSCALE (Separate CHIP)
No
No
MBX-lite
5
5CELF AVG 2D Hardware Abstraction
- Integrating the abstraction layer named DirectFB.
- Present Target SH7751RSilicon Motion for
Digital TV application - Benefit
- Provides a light-weight and standardized
interface for CE application. - Provides the portability and usability among the
different hardware. - Provides application direct pass to controller to
enable hardware drawing. - GTK on top of DirectFB will also provide the
application portability. - Requirement / Problem
- Needs to develop a special driver for the
hardware acceleration. - Integrated with the frame buffer driver for
standard LINUX environment - DirectFB is not so common in PC LINUX world such
as PC LINUX adopt X11 based windowing
environment. - Then not so many implementation yet
6Issues(1)
- To investigate the possibility of HAL for 3D
graphics library. - Coexistence with HAL for 2D graphics library
- CELF 2D HAL is using DirectFB.
- Direct FB can be expanded to 3D using MESA(a free
OpenGL compliant library )/DRI named DirectFBGL. - KAA mechanism for 2D acceleration implementation
is also abvailable. - Needs to investigate these HAL and the other
candidates - To specify the way to put 3D image on a 2D
structure.moving image frame. - It may be possible to write 3D image on the
specific moving image frame. - Needs to check the frame delay.
- Needs to check 2D graphics component on top of 3D
image. - Is it possible to draw both 3D and 2D image in a
frame simultaneously? - 2D and 3D Hardware needs to create
synchronization way.
7Issues(2)
- To improve the performance
- Needs to provide the way to synchronize
2D/3D/Display Drivers. - Ex.Imaginations 3rd Party Display Driver API
- Needs to provide the substitution way for the
floating point mathematics capability. - For the implementation with no floating point
arithmetic unit or vector arithmetic unit for
geometry. - Needs to check a resource allocation mechanism
for CPU(and Bus or Memory) This is an essential
OS structure issue. - It may be OK if CPU in one thread could be used
for 2D/3D drawing using VSYNC Synchronization and
if the application manages the priority. - If the communication or sound drivers is
initiating new thread, the session of
communication or the sound stream could be
disturbed, or 3D graphics loses some frames.
8AURORA SYSTEM
AURORA SYSTEM
SI-ELECTORNICS a part of SEGA-SAMMY Holdings has
designed AURORA System for their business. AURORA
consists of a system-on-chip solution integrated
with CPU, Graphics Hardware Accelerator Engine,
and Sound Engine and provides very compact and
high performance 3D graphics and sound system.
FEATURES
Integrated with CPUSH-4(SuperHTM),PowerVR(Ima
gination Technologies), and AD PCM Sound Engine.
High End 3D Graphics Capability Triangle
drawing 10Mpolygon/sec, and Pixel Fill Rate
150Mpixel/sec
Specially designed 3D graphics library provides
simple and easy development environment for 3D
graphics application not requiring deep hardware
knowledge.
Movie/Stream Audio middleware provides High
Quality and High Performance Video and Audio
rendering.
(Real-time) LINUX OS provides highly efficient
Real-time multi-task operation.
9Block Diagram of AURORA System
Monitor mode Max 1280x1024
SH4 300MHz
DMAC
GRAPHIC 3D
CPU
DDR
MEMEORY
MPEG
Sound
DDR
PERIPHERAL
SOUND
SERIAL
PCI
ROM
USB
ETHER
150MHz
ROM
ROM
ROM
User Option
10Software Configuration of Aurora System
APPLICATION
A/V Steaming Middleware
GT LIBRARY
LINUX 2.6
CPU (SH4-300MHz)
MGL
Sound Driver
Power VR (MBXVGP150MHz)
ADPCM Sound
11Synchronization Issue
y16.6ms(for NTSC)
VSYNC
Time X
Xy
X2y
X4y
CPU calc.
ACCELERATOR Write In to FB
Display Readout from FB
Xy
X2y
X
Xy
X2y
X3y
True Time to display
X
Xy
?Need (or not) to provide Synchronization API
among CPU, ACC, and Display Driver. ?ACCELERATOR
may also require y or more time to draw the
triangles and to full them with textures.
How to detect the timing? ?Need (or not) to
provide mechanism to forcing to stop the CPU/ACC
at next VSYNC? ?2D ACCELERATOR may this problem
more difficult. Which has the priority among 2D
or 3D? ?Some user is requesting to draw 2D and 3D
in a frame. Each accelerator needs to
announce their finish of drawing to CPU. ?Also
Motion Image like MPEG2/4 could be integrated
with these images. How to synchronize them?
12Discussion
- Needs to specify the application requirements
- To list up the application case
- GAME on Cellular
- GAME on Car Navigation System
- 2D and 3D Mixed Image on Navigation System
- Digital TV 3D
- Surveillance Video, etc.
- Needs to specify the coverage of OS for the
functionality - Needs to clarify on the requirement on HAL,
Synchronization, Resource Management, 2D/3D Mixed
Drawing - Activity with the other working group
- To invite 3rd Parties
- Accelerator venders, Library venders, etc.
- etc.