Monday, November 22, 2010

general display

1.linux
x client
xserver
usermode lib
kernel driver

2.framebuffer hardware
its a complete hardware,takes block of memory and converts to pixels

framebuffer layers
opengl feeds instructions to gpu layer
gpu layer combines this with overlay devices like cursor,camera preview
gpu layer
videomemory layer
it fills the back buffer ,front buffer
display layer
dumps the picture

3.if some gl operations cannot be done by hw then it should fallback using sw .

4.an activity can give a set of gl commands and output memory block,gpu will render into this
memory and ,cpu will copy this memory to video ram for display

an activity can give set of gl commands and mapped vram memory to gpu,gpu will render into this and it will be directly displayed

software rendering can happen in 1 way,where it does all gpu operation and renders into
mapped vram.lot of temporary buffers required.lot of computations as well.

conclusion /dev/fb0 can be both accelerated and non accelerated device.

/dev/fb0 software renderer
/dev/devmem device is needed for hardware rendering

this abstracts device memory and this memory is mapped to user space directly
/dev/fb0 has an additional interface for hardware rendering. it can be disabled or enabled.

frame memory is mapped to activity whether it is hw/sw rendering.in hw rendering enclosing operations are done in hw,otherwirse in sw

No comments:

Post a Comment