Comment # 42 on bug 110897 from
(In reply to Marek Olšák from comment #40)
> I'm afraid nobody remembers anymore how HyperZ works on r300. I can answer
> basic questions if you have any.

Hi!

Currently I have added this to radeon_drm_winsys.c:

385     if (ws->gen == DRV_R300) {
386         if (!radeon_get_drm_value(ws->fd, RADEON_INFO_NUM_GB_PIPES,
387                                   "GB pipe count",
388                                   &ws->info.r300_num_gb_pipes))
389             return false;
390 +       // FIXME: only works for my own setup (prenex):
391 +       ws->info.r300_num_gb_pipes=1;

Now I have no problems so far. It can be that HyperZ code is just good as-is,
but for some resoun the radeon_get_drm_value returns a bad gb_pipes number.

Currently testing with this a bit more throughly before moving further, but
everything seems to work so far, just this is not a proper fix.

Some questions I can have:

1.) Is there any way to ensure how many pipes a card has? One pipeline seems to
be really few for a GPU, but this is a mobile integrated card.

2.) Can the other indicated pipes be existing on my card but turned off for
some reason?

3.) radeon_get_drm_value - is this in the kernel source tree? I will have a
look later on the code behind it.


You are receiving this mail because: