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. (More) Proxy Trouble

Hi,

I new to Android and Java, but I am a roperdeveloper.

I trying to get the emulator to work behind the company proxy, and
thought I had it cracked but I haven.  Ie set up the APN using the
proxy name, port, username and password and now the Browser
application is happy it will pull pages back and display them.  But
following the HelloGoogleMaps and HelloWebView  tutorials and they
don work.  I tried this at on the other side of the proxy and it
works fine for both (so my Google key is OK).

So what I know is...
-http-proxy apparently doesn work
-verbose-proxy should be ebug-proxy but it doesn tell me much
anyway
I have <uses-permission android:name="android.permission.INTERNET" />
in my manifest file.
The SQL INSERT may work but I find it a little offensive that I have
to do it so am still looking for a cleaner official way of resolving
this.

I concluding that this must be a proxy issue as the code works fine
on the other side of the proxy, but I struggling to see how to set
the proxy up correctly for applications.  I thought setting the APN
would be enough but it appears not to be.

Do I need to tell the app to use the APN or something?  How?  As I say
I new to Java and Android so I don know if this is a Java thing or
an Android thing.

Can anyone help?
Thanks,
 -  Chris.

-- 

2. Intent to bring up top-most activity in task?

If my app is already running, then either Activity1 or Activity2 might
be currently on top.

How to construct an Intent so that it will simply show whichever
Activity is already on top (in the task)? Just like if you touch an
icon in the Recent list (long-press home).

At the moment, it looks like (for explicit Intents) you need to be
explicit about the Activity to launch. But I would rather be explicit
about the app (package name).

FWIW, I'm thinking of Intents triggered via Notifications.

-- 

3. How to start an Activity from a Service and getting a result from it

4. Game Developers: Some general questions about high scores, achievements, multi player support and in game ads.

5. Possible to finish() my activity when Home is pressed?

6. About the MediaController

7. onItemClick gives index/ positi on of item on visible page 鈥?not actual index of the item in list ..problem on enabling setTextFilterEnabled ..