On Fri, Feb 20, 2004 at 06:36:01AM -0800, Manoj Kumar Bhatta wrote:
>  Dear All
> 
>    I am using DirectFB-0.9.20 .
> 
> I am using Nvdia TNT2 Graphics chipset .
> 
> When i run DirectFB Application it goes through
> several  DisplayLayer (like --dfb:primary-layer= )
>  But i want to know how many DisplayLayer  DFB
> supports when we run one application .is it different
> for different applications?

The number of display layers depends on the hardawre and driver.

Use dfbinfo to see how may layers there are (typically one or two)

You should have two with the TNT2.

>  If i am not wrong DFB is having MAXIMUM display layer
> 100 .

The current limit is 40 but you'd have to have some pretty special 
hardware to reach that. Like I said you typically have one or two layers.

> Is it one DisplayLayer is having one pixel
> format ?

A layer can support multiple pixelformats. How many depends on the 
hardawre and driver.

>   if yes , then if graphics card does not support that
> pixel format what DFB does ?

If the layer doesn't support the format you get an error when trying to 
set it up. But if it's just the accelerator that doesn't support it 
DirectFB will use software fallbacks when drawing something.

>   if not , means one DisplayLayer  is having more than
> one pixel format , how DFB behaves to drawing
> premitives . means does it call DFB/graphics card
> driver  functions .

CheckState() / SetState() are the gfx driver functions that deal with
pixelformats. The gfxcard code first call CheckState() and if that fails 
it knows that software fallback is needed so it will use gAquire() which 
is basically the SetState() of the software accel "driver". In theory 
gAquire() should never fail because all drawing operations should have a 
software fallback but we are missing much of this stuff for YUV formats.

> 
>  May i know use of   different displaylayers  .

Typically they are used for video playback as they usually handle YUV 
formats and can scale the image. Also because they can usually scale 
the image they may be used for video game emulators. They can also be used 
to display OSDs, subtitles etc but that more common in set top box type 
stuff than in PCs.

>  i found DFB examples (df_window.c ) it uses display
> layer =   DLID_PRIMARY .
> 
>  when running df_window with --dfb:primary-layer=(1-5)
>  it behaves differently . 

It should only behave different with a value of 1. Bigger values should 
behave identical to 0.

With 1 you don't probably see much because the nvidia overlay doesn't 
support RGB pixel formats and we don't have many software fallbacks for 
YUV formats.

-- 
Ville Syrj�l�
[EMAIL PROTECTED]
http://www.sci.fi/~syrjala/


--
Info:  To unsubscribe send a mail to [EMAIL PROTECTED] with
"unsubscribe directfb-dev" as subject.

Reply via email to