Multiple Framebuffer devices(dynamically change) support for Surfaceflinger.

by Robin Gujjar » Wed, 16 Sep 2009 02:37:22 GMT


Sponsored Links
 Hi All,

As suface flinger uses fb0 for rendering the image and video. i want
to change the frame buffer devices dynamically for rendering the image
on the screen one time on Fb0 other time on Fb1. i am looking into the
surface flinger code. but we are not able to get the pointer where to
change for this. can simeone please give us some pointer.

thanks

--~--~---------~--~----~------------~-------~--~----~



Multiple Framebuffer devices(dynamically change) support for Surfaceflinger.

by Robin Gujjar » Thu, 17 Sep 2009 12:35:04 GMT


 Hi All,

As suface flinger uses fb0 for rendering the image and video. i want
to change the frame buffer devices dynamically for rendering the image
on the screen one time on Fb0 other time on Fb1. i am looking into the
surface flinger code. but we are not able to get the pointer where to
change for this. can simeone please give us some pointer.

thank
Robin Singh



Sponsored Links


Multiple Framebuffer devices(dynamically change) support for Surfaceflinger.

by Pankaj » Sat, 26 Sep 2009 02:11:59 GMT


 Hi Dianne,

We have hardware acceleration support and that supports multiple frame
buffer device display ( as we have tested it with driver test
application). but how to fit that into SurfaceFlinger is the issue.
As per our study and understanding of SurfaceFlinger we have done few
changes as below:
1: Instead of mGraphicsPlane, take array of GraphicsPlane,
mGraphicsPlane[2] //for 2 displays fb0 and fb1
2: First Initialize main display DisplayHardware by passing dpy as 0
(Modified the constructor of the Display Hardware), then secondary
DisplayHardware by passing dpy as 1.
3: From init of DisplayHardware pass dpy to EGLDisplaySurface's
mapFrameBuffer and based on dpy value open /dev/graphics/fb0 or fb1.
4: Add a new interface API to the surfaceflinger so that secondary
display could be initilized as and when required.
5: Modified the threadLoop so that each of the APIs handlePageFlip(),
handleRepaint(), unlock Clients() will be called for both displays
dpy-0 and dpy-1.

There are following issues that I am not that much clear.
1: Does we need to modify the OpenGL|ES initialization based on the
DisplayId (dpy) or it will remain same for both display?
2: Does any chnage in the libagl is required for support of multiple
frame buffer support?
3: We have kept the mWormHoleRegion separate for both GrpahicsPlane (0
and 1), so whether we require to maintain different mDirtyRegion and
mInvalidate region for both GrpahicsPlane?
4: How the Layer created on different grphics plane will be composed
to display on the same physical screen?

It will be nice if you can focus some more light on the above issues.

Thanks and Regards,
Pankaj Dubey





--~--~---------~--~----~------------~-------~--~----~



Other Threads

1. how to add webview to listview

Hi,

   How to add WebView to the listview. I need to take input from a
textview at the bottom of the screen and after formatting the text
need to add it to the ListView above it.So each time the user enters
some text in the textview sends it , it should be added to the
listview.

--~--~---------~--~----~------------~-------~--~----~

2. File.setLastModified(long) broken?

setLastModified in the File class seems to always return false, even
for files I have
created on the SD card?  Has anyone been able to get this to work?

--~--~---------~--~----~------------~-------~--~----~

3. question, has any one use the void glDrawElements(intmode,intcount,inttype,intoffset) in GL11

4. Devices for android

5. Displaying contact Email address in a List in ListActivity

6. How to write code to install a apk file to device or emulator

7. Barcode scanning through the camera