Project Home
Project Home
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - RE: Memory organization of driver for graphics hardware with fixed multiple layers: (6 Items)
   
RE: Memory organization of driver for graphics hardware with fixed multiple layers  
Hi,

It seems that the disp_vm_alloc_surface function in the disputil doesn't
support the allocation of the rectangular memory. At least the version
that I have in sources (copyrights are for 2003 in disputil.h) supports
only linear memory. 

Do you know the current status of this function in the 6.3.2 and 6.4.0
qnx?
Thanks,
Goran Pantar
RE: Memory organization of driver for graphics hardware with fixed multiple layers  
Your libdisputil is from 632 then?  Anything prior to QNX SDP 640 did not have this functionality.  DISP_SURFACE_RECT is
 actually defined in display.h .
 
mvr will have to comment on whether giving you a 640 disputil will work alright, but it might just boil down to you 
trying it, and see if it breaks anything.

________________________________

From: Goran Pantar [mailto:community-noreply@qnx.com]
Sent: Thu 07/05/2009 3:17 AM
To: photon-graphics
Subject: RE: Memory organization of driver for graphics hardware with fixed multiple layers



Hi,

It seems that the disp_vm_alloc_surface function in the disputil doesn't
support the allocation of the rectangular memory. At least the version
that I have in sources (copyrights are for 2003 in disputil.h) supports
only linear memory.

Do you know the current status of this function in the 6.3.2 and 6.4.0
qnx?
Thanks,
Goran Pantar

_______________________________________________
Photon microGUI
http://community.qnx.com/sf/go/post28866



Attachment: Text winmail.dat 4.05 KB
Re: RE: Memory organization of driver for graphics hardware with fixed multiple layers  
Thanks Derek.
I will try the 6.4.0 disputil, but this probably only when I get things to work using simple surface allocation. I will 
just initialize the surface and map the memory (vidptr) using the disp_mmap_device_memory function. Similar as done in 
the devg-flat driver but for multiple hardware layers.
Regards,
Goran
Re: RE: Memory organization of driver for graphics hardware with fixed multiple layers  
Can you graphics device not target a linear memory surface?

Support for rectangular memory was added for a couple of specific
graphics chipsets that need to access tiled memory for 3D graphics acceleration.   Otherwise we haven't seen a display 
controller that
couldn't access linear memory surfaces - in fact you need to have a linear surface for our SW rendering functions to 
work correctly.
Re: RE: Memory organization of driver for graphics hardware with fixed multiple layers  
Hi Michael,
Unfortunately our display controller handles only rectangular memory. Stride is configurable but it is usually 512, 1024
 or 2048 pixels depending on display resolution. This approach saves FPGA resources but uses more memory.

I didn't know that libffb doesn't support rectangular memory. It seems that I will have to support all rendering 
functions then.
Thanks,
Goran
RE: RE: Memory organization of driver for graphics hardware with fixed multiple layers  
Hi Goran,

We've worked in the past with display controllers that had fixed-stride
restrictions but they could still access a linear buffer.   In these
cases libffb could render correctly.   The graphics driver would simply
round up the stride of any displayable surface to one of the supported
strides when creating a surface.

I may be misunderstanding how your display controller works.  In the
case
of rectangular memory I was more thinking of tiled memory (small blocks
of
rectangles) that some GPUs require or can use for better rendering
performance.

Regards
Mike


-----Original Message-----
From: Goran Pantar [mailto:community-noreply@qnx.com] 
Sent: May 28, 2009 7:45 AM
To: photon-graphics
Subject: Re: RE: Memory organization of driver for graphics hardware
with fixed multiple layers

Hi Michael,
Unfortunately our display controller handles only rectangular memory.
Stride is configurable but it is usually 512, 1024 or 2048 pixels
depending on display resolution. This approach saves FPGA resources but
uses more memory.

I didn't know that libffb doesn't support rectangular memory. It seems
that I will have to support all rendering functions then.
Thanks,
Goran

_______________________________________________
Photon microGUI
http://community.qnx.com/sf/go/post30216