Project Home
Project Home
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - Main layer format support list - enumeration problem: (9 Items)
   
Main layer format support list - enumeration problem  
Thank you, Derek for the answers, but I have another question:

My photon display settings are 640x480@60Hz with 16 bpp (RGB555 format), photon is not running. I'm using devg-radeon 
driver on AGP ATI Radeon 9250 Pro.

After GF initializing and attaching to main display layer, I'm started main display layer format enumeration via 
gf_layer_query() and got:

Main layer index=0

Layer format N0
   format=00001310
   caps=80000004
   alpha_valid_flags=00000000
   alpha_combinations=00000000
   order_caps=00000001
   chromakey_caps=00000000
   src_max_height=4096
   src_max_width=4096
   src_max_viewport_height=480
   src_max_viewport_width=640
   dst_max_height=480
   dst_max_width=640
   dst_min_height=480
   dst_min_width=640
   max_scaleup_x=1
   max_scaleup_y=1
   max_scaledown_x=1
   max_scaledown_y=1
   output_mask=00000000
   vcap_mask=001C2ED8

Layer format N1
   format=00001310
   caps=80000004
   alpha_valid_flags=00000000
   alpha_combinations=00000000
   order_caps=00000001
   chromakey_caps=00000000
   src_max_height=4096
   src_max_width=4096
   src_max_viewport_height=480
   src_max_viewport_width=640
   dst_max_height=480
   dst_max_width=640
   dst_min_height=480
   dst_min_width=640
   max_scaleup_x=1
   max_scaleup_y=1
   max_scaledown_x=1
   max_scaledown_y=1
   output_mask=00000000
   vcap_mask=001C2ED8

End of layer formats list

Format 00001310 is a RGB555 and it is ok with it. All information fileds of gf_layer_info_t structure settings are set 
correctly, except for vcap_mask - it has bogus value.

Why the same layer's pixel format is enumerated twice ? Where are all other formats ?

After this experiment I set 640x480@60Hz using 32 bpp (RGBA8888) through gf_display_set_mode(), after layer reattaching 
it reports the same ! It has RGB565 formats only.

I changed photon default desktop video mode to 640x480@60Hz 32 bpp. After photon shutdown my GF application reports that
 main layer index has: 

Main layer index=0

Layer format N0
   format=00001420
   caps=80000004
   alpha_valid_flags=00000000
   alpha_combinations=00000000
   order_caps=00000001
   chromakey_caps=00000000
   src_max_height=4096
   src_max_width=4096
   src_max_viewport_height=480
   src_max_viewport_width=640
   dst_max_height=480
   dst_max_width=640
   dst_min_height=480
   dst_min_width=640
   max_scaleup_x=1
   max_scaleup_y=1
   max_scaledown_x=1
   max_scaledown_y=1
   output_mask=00000000
   vcap_mask=001C2ED8

Layer format N1
   format=00001420
   caps=80000004
   alpha_valid_flags=00000000
   alpha_combinations=00000000
   order_caps=00000001
   chromakey_caps=00000000
   src_max_height=4096
   src_max_width=4096
   src_max_viewport_height=480
   src_max_viewport_width=640
   dst_max_height=480
   dst_max_width=640
   dst_min_height=480
   dst_min_width=640
   max_scaleup_x=1
   max_scaleup_y=1
   max_scaledown_x=1
   max_scaledown_y=1
   output_mask=00000000
   vcap_mask=001C2ED8

End of layer formats list

I set 640x480@60Hz 8bpp, 15bpp, 16bpp, 32bpp using gf_display_set_mode() function but gf_layer_query() reports only two 
the same available formats: format=00001420, which is RGBA8888.
Re: Main layer format support list - enumeration problem  
Forgot to say this in previous post.

Why output_mask is zero ? I think it must be at least 0x00000001, which means that main display layer could appear on 
first video output only. Or if zero is ok value, it must be documented.

In the previous post I forgot to say also, that gf_surface_create_layer() function returns GF_ERR_MEM in case of attempt
 of surface creation with pixel format differ than the pixel format returned in the gf_layer_query().

Right now I tested devg-tnt driver on GF2MX400 videocard. All problems are same, except bogus vcap_mask (devg-tnt has it
 set right). gf_layer_query() also returns two identical pixel formats but gf_surface_create_layer() can create surfaces
 with differ than listed pixel formats.
RE: Main layer format support list - enumeration problem  
Thanks for the info, we will respond ASAP.

-Derek

-----Original Message-----
From: Mike Gorchak [mailto:community-noreply@qnx.com] 
Sent: Thursday, March 12, 2009 8:07 AM
To: advanced-graphics
Subject: Re: Main layer format support list - enumeration problem

Forgot to say this in previous post.

Why output_mask is zero ? I think it must be at least 0x00000001, which
means that main display layer could appear on first video output only.
Or if zero is ok value, it must be documented.

In the previous post I forgot to say also, that
gf_surface_create_layer() function returns GF_ERR_MEM in case of attempt
of surface creation with pixel format differ than the pixel format
returned in the gf_layer_query().

Right now I tested devg-tnt driver on GF2MX400 videocard. All problems
are same, except bogus vcap_mask (devg-tnt has it set right).
gf_layer_query() also returns two identical pixel formats but
gf_surface_create_layer() can create surfaces with differ than listed
pixel formats.


_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post24209
Re: RE: Main layer format support list - enumeration problem  
Hi Mike,

When you discuss RGB555, I assume you mean argb1555.

The bottom line is the devg drivers have bugs, and are not reporting the correct information to the framework.  I am 
going to file PRs on your behalf, and will post the PR numbers back here for reference.  Can you provide the name of the
 company you work for, so I can put it in the PR?

Thanks,
-Derek

Re: RE: Main layer format support list - enumeration problem  
DL> When you discuss RGB555, I assume you mean argb1555.

As for RGB555 - it is my fault, please read it as RGB565. The keys are right next to each other :)

DL> The bottom line is the devg drivers have bugs, and are not reporting the correct information to the framework.  
DL>I am going to file PRs on your behalf, and will post the PR numbers back here for reference. 

Ok. It would be nice to have patched drivers and GF itslef after bug fixing before 6.4.1 release date, because this bug 
is show stopper problem for adding GF support to SDL 1.3.

DL> Can you provide the name of the company you work for, so I can put it in the PR?

My company currently is not involving in any development using QNX RTOS (uses Linux and Windows CE mostly). I use QNX 
personally for opensource and commercial outsourcing projects.
Re: RE: Main layer format support list - enumeration problem  
Hi Mike,

Can you post the AGP/PCI DID and VID of your Radeon and TNT cards?

Thanks,
-Derek
Re: RE: Main layer format support list - enumeration problem  
This is for GeForce2 MX400:

Class          = Display (VGA)
Vendor ID      = 10deh, nVidia Corporation 
Device ID      = 110h,  NV11 [GeForce2 MX/MX 400]

This is for ATI Radeon 9250 Pro:
Class          = Display (VGA)
Vendor ID      = 1002h, ATI Technologies Inc 
Device ID      = 5960h,  RV280 [Radeon 9200 PRO]
Re: RE: Main layer format support list - enumeration problem  
Filed on your behalf:

PR66450 - gf_layer_query() problems.
PR66451 - vcap data problems.
PR66452 - gf_surface_create_layer() problems.

6.4.1 code for graphics if really locked down at this point.  I am no longer *really* in charge of graphics scheduling. 
 If you require acceleration of these issues, I suggest contacting your support and/or sales rep. to do so.

Kind Regards,
-Derek
Re: RE: Main layer format support list - enumeration problem  
Ok, thank you. I will suspend implementation of GF support in SDL 1.3 till all found bugs will not be fixed.