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. Coba Keyboard MultiLing dengan Bahasa Indonesia plugin.

http://market.android.com/search?q=multiling+keyboard

Sebenarnya ini adalah versi Melayu. Bagi saya tahu apa kata-kata yang hilang 
jadi saya dapat menambahkannya.

-- 
===============

2. about the market 15 minutes refund window

It seems that the new 15 minute refund windows is live, but is it so
in every country with paid apps? And if so, how does it look from
Google Checkout? I would expect that order state will change to
Charged/Shipped within more or less 15 minutes. This is not the case
in Japan though. It still takes about 24 hours for the order state to
change to Charged/Shipped. So the question is: is the new refund
window not active everywhere or is it just orders update only once a
day?

-- 

3. Emulator crashing with System Tools rev 9

4. javascript graphing

5. Programmatically Update Flash Setting (or any Camera.Parameters)

6. SocketException: No route to host

7. AudioManger.setMicrophoneMute functionality not working??