Project Home
Project Home
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - QNX 6.4.1 + devg-i830 + i965 + Photon = layers?: (6 Items)
   
QNX 6.4.1 + devg-i830 + i965 + Photon = layers?  
Hello!

I need some help about hardware compatibilities on subject set. So I have a problem on my video card i965 (vid=0x8086,
did=0x29a2) with layer support in GF+Photon.
I need 2 layers: first layer is the BGRA8888 main layer, which is used by Photon, second layer (that is reported by 
gf_layer_query) have 3 formats - all packed YUV (somthing like UVYV).
So I  wrote small programm. Here is the block scheme of it:
gf_dev_attach(); // attach the device. System have one device - i965
gf_display_attach(); // attach to the display. 1 pt
gf_layer_attach(..., 0); // attach to layer 1 (not main, but second)

After that I create a surface:
gf_surface_create_layer(...);
and graphic format parameter is GF_FORMAT_PACK_YUV_UYVY, flags without GF_SURFACE_CREATE_2D_ACCESSIBLE. With this flag 
this func return error GF_ERR_MEM...
Next:
gf_layer_set_surfaces();
After that i create a context:
gf_contex_create();
and
gf_context_set_surface();
and... It returns with error GF_ERR_PARM - no 2D access.... gf_surface_get_info() also give this information in 
(gf_surface_t*)->flags...
When I create surface with format parameter BYTE or PAL8 or some RGB (pack or planar) and surface flags includes 
GF_SURFACE_CREATE_2D_ACCESSIBLE function gf_surface_create_layer() return without error. And gf_context_set_surface(); 
too.
But layer and surfaces have different formats...
And gf_draw_<> functions draws nothing... (i do not forget about gf_draw_stsrt, gf_draw_end, gf_draw_flush)
I can see layer by gf_layer_enable(); But I can't disable layer visibility when set gf_layer_disable(); 

So help me - I need show many widgets overlayed with video on the same window. How can I create programm with multiple 
layers on i965/devg-i830? Earlier I used Radeon video card, QNX 6.2.1 and overlay system, but now I can't use Radeon 
video card, only i965/Q35 and newer...

P.S. Sorry for my bad english... Hope you can understand me... :(
Re: QNX 6.4.1 + devg-i830 + i965 + Photon = layers?  
Hi,

Can you post the source to your entire application?

Thanks
Re: QNX 6.4.1 + devg-i830 + i965 + Photon = layers?  
I have the same hardware, Chipset G31, DevID = 29c2.
I try to take supported layers info, using PgGetLayerCaps function, and i found that G31 supports 4 layers with only 
PAL8, ARGB1555 and RGB565 formats.
Re: QNX 6.4.1 + devg-i830 + i965 + Photon = layers?  
Hi, there is a bug in 641, where the PgLayerCaps_t contains Pg_FORMAT instead of Pg_LAYER_FORMAT, this is corrected in 
650, so be careful when coparing these photon values ... if you need a patch for 641 via a service plan, please contact 
support.
Re: QNX 6.4.1 + devg-i830 + i965 + Photon = layers?  
Ok. It is me again :)
Some time ago I've tried to create an "overlay" program: I need to paint some data in front of Photon layer. It is 
important, that I need to paint only on some color - widgets and other stuff would be visible. In the past I've used for
 this chroma-key. Today I need to use chroma-key again, but with 6.4.1 and i945G (0x8086,0x2772) and devg-i830.so layer 
#1 (packed YUV) is opaque always (in all cases of parameters *_CHROMA_OP_DST_MATCH/*_CHROMA_OP_SRC_MATCH/*
_CHROMA_OP_DRAW/*_CHROMA_OP_NODRAW)... What is the problem?

Also, how can I draw to YUV surface? How can I get pointer to the its video/image buffer?

And, using *_CHROMA_OP_SRC_MATCH|*_CHROMA_OP_NODRAW on layerc >1 and only RGB format is OK, but other cases no...
Attachment: Text source.c 11.4 KB
Re: QNX 6.4.1 + devg-i830 + i965 + Photon = layers?  
Also, with devg-gma9xx and on 6.4.1, 6.5.0 is the same problem...