Page 3 of 4 FirstFirst 1234 LastLast
Results 21 to 30 of 37

Thread: AMD R600g Still Tackling Hierarchical Z

  1. #21
    Join Date
    Oct 2007
    Location
    Toronto-ish
    Posts
    7,383

    Default

    Quote Originally Posted by TemplarGR View Post
    This is one of the rare times i want to complain to opensource devs, but i can't help it. While you have are gratitude for your work, there are some things that shouldn't be happening.

    Why HD2000-4000 are second rate citizens? First AMD drops support in Catalyst for them. And while it would make sense to have a focused opensource driver for these generations to provide legacy support, it seems that the opensource driver makes a priority Evergreen and above generations too... A while ago it was the news that Evergreen would have official OpenGl 3.0 support on by default, earlier than the older generations(?), and now from what agd5f says:

    a) Either evergreen will have support for hiz first

    b) Or hiz support for hd2000-4000 was fine but there were issues on Evergreen so they decided to hold it back...

    Either way, it is a bad attitude towards older generation users. Why Evergreen and newer are a priority, when they can use the Catalyst and are much newer chips? Seriously, i own a 3870 and it is about 2 year older than the Evergreen family. When i see that Evergreen matures to OpenGL 3.0 first or gets Hyper-Z(a really important feature) first (not to mention other performance improvements etc) i feel cheated. It is like AMD showing us older generation users to buy newer cards. Well, if that is what they want, it would be better to just ask for it, not this way... And why upgrade? My 3870 does its job perfectly...
    I think you are forgetting how the developers work and assuming conspiracy where none exists. In general they will work on a new feature for all generations (in this case 2xxx through NI) but things will start working on one generation before others as a consequence of generation-to-generation quirks. The developers don't choose this, it just works out that way.

    If you are saying "developers should be forbidden from working on newer generations until everything is finished on older generations" then the overall rate of progress would drop dramatically, since it's generally a lot faster to write code for a new feature designed to work across all the generations supported by the driver than to only look at older parts. In this case hyper-z and the backend work are pretty interdependent IIRC and both were happening at the same time, so it seems to make sense that Jerome would have had an Evergreen card in his system when it all came together.

    Anyways, key point here is that most of these features are implemented for multiple generations at the same time, and it's luck of the draw which generation starts working first. If you assume conspiracy or lack of care for older hardware each time that happens you're going to be whipsawing between happiness and misery for no good reason. You probably owe the developers a bit of an apology.

  2. #22

    Default

    I tried the patch, but unlike kernel 3.5 which gives me a huge performance improvement, I don't see any performance improvements with this patch.

  3. #23
    Join Date
    Nov 2008
    Location
    Madison, WI, USA
    Posts
    860

    Default

    Quote Originally Posted by AnonymousCoward View Post
    I tried the patch, but unlike kernel 3.5 which gives me a huge performance improvement, I don't see any performance improvements with this patch.
    Looking through the patch, it looks like the patch disables HyperZ by default:

    Code:
    diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c
    index e0ee823..7004ff9 100644
    --- a/src/gallium/drivers/r600/r600_pipe.c
    +++ b/src/gallium/drivers/r600/r600_pipe.c
    @@ -942,6 +942,7 @@ struct pipe_screen *r600_screen_create(struct radeon_winsys *ws)
     
     	rscreen->use_surface_alloc = debug_get_bool_option("R600_SURF", TRUE);
     	rscreen->glsl_feature_level = debug_get_bool_option("R600_GLSL130", TRUE) ? 130 : 120;
    +	rscreen->use_hyperz = debug_get_bool_option("R600_HYPERZ", FALSE);
    If you run your program (example = glxgears) with
    Code:
    R600_HYPERZ=1 glxgears
    , then maybe performance will change...

    From the Bug thread on FD.o, it sounds like all of the kernel patches are upstream, but I haven't checked if the DDX patches have all made it there yet. If this doesn't work, or throws errors, you might want to check that.
    Last edited by Veerappan; 06-06-2012 at 09:05 AM.

  4. #24
    Join Date
    Dec 2007
    Posts
    2,315

    Default

    Quote Originally Posted by TemplarGR View Post
    This is one of the rare times i want to complain to opensource devs, but i can't help it. While you have are gratitude for your work, there are some things that shouldn't be happening.

    Why HD2000-4000 are second rate citizens? First AMD drops support in Catalyst for them. And while it would make sense to have a focused opensource driver for these generations to provide legacy support, it seems that the opensource driver makes a priority Evergreen and above generations too... A while ago it was the news that Evergreen would have official OpenGl 3.0 support on by default, earlier than the older generations(?), and now from what agd5f says:

    a) Either evergreen will have support for hiz first

    b) Or hiz support for hd2000-4000 was fine but there were issues on Evergreen so they decided to hold it back...

    Either way, it is a bad attitude towards older generation users. Why Evergreen and newer are a priority, when they can use the Catalyst and are much newer chips? Seriously, i own a 3870 and it is about 2 year older than the Evergreen family. When i see that Evergreen matures to OpenGL 3.0 first or gets Hyper-Z(a really important feature) first (not to mention other performance improvements etc) i feel cheated. It is like AMD showing us older generation users to buy newer cards. Well, if that is what they want, it would be better to just ask for it, not this way... And why upgrade? My 3870 does its job perfectly...
    The Hiz patches add support for all asics supported by r600g (6xx, 7xx, evergreen, NI). Most of the code is shared since the programming model is very similar across generations (in fact it works very similarly in SI). There were various issues with chips from all generations which have finally been solved. It just happened that the last remaining issue was an evergreen one. There was no conscious decision to hold back certain asics.

    Also, all r600g chips can support OpenGL 3, no one has said it would be evergreen only.

  5. #25
    Join Date
    Dec 2007
    Posts
    2,315

    Default

    Quote Originally Posted by Veerappan View Post
    From the Bug thread on FD.o, it sounds like all of the kernel patches are upstream, but I haven't checked if the DDX patches have all made it there yet. If this doesn't work, or throws errors, you might want to check that.
    You no longer need the ddx patch. It's now self contained in mesa.

  6. #26

    Default

    Quote Originally Posted by Veerappan View Post
    Looking through the patch, it looks like the patch disables HyperZ by default:

    If you run your program (example = glxgears) with
    Code:
    R600_HYPERZ=1 glxgears
    , then maybe performance will change...
    Okay thanks. I didn't bother to look at the patch, just applied it . glxgears works, but that's not really a benchmark. So I tried the benchmark within FEAR. But with R600_HYPERZ=1 it puts the GPU in a state of infinite GPU resets. So no performance data here.

  7. #27
    Join Date
    May 2007
    Posts
    230

    Default

    Quote Originally Posted by TemplarGR View Post
    This is one of the rare times i want to complain to opensource devs, but i can't help it. While you have are gratitude for your work, there are some things that shouldn't be happening.

    Why HD2000-4000 are second rate citizens? First AMD drops support in Catalyst for them. And while it would make sense to have a focused opensource driver for these generations to provide legacy support, it seems that the opensource driver makes a priority Evergreen and above generations too... A while ago it was the news that Evergreen would have official OpenGl 3.0 support on by default, earlier than the older generations(?), and now from what agd5f says:

    a) Either evergreen will have support for hiz first

    b) Or hiz support for hd2000-4000 was fine but there were issues on Evergreen so they decided to hold it back...

    Either way, it is a bad attitude towards older generation users. Why Evergreen and newer are a priority, when they can use the Catalyst and are much newer chips? Seriously, i own a 3870 and it is about 2 year older than the Evergreen family. When i see that Evergreen matures to OpenGL 3.0 first or gets Hyper-Z(a really important feature) first (not to mention other performance improvements etc) i feel cheated. It is like AMD showing us older generation users to buy newer cards. Well, if that is what they want, it would be better to just ask for it, not this way... And why upgrade? My 3870 does its job perfectly...
    HD2000-HD4000 are not second class citizen, the evergreen fix also apply to R7XX generation (HD4xxx). And all the kernel work on the backend stuff was needed and also impact R7XX and in smaller way R6XX GPU. The commit message might have more emphasis on evergreen but it's just due to the fact that at the time i was on an evergreen. You need to understand that we have many GPU and we keep switching btw generation and sometimes when things start to come into shape we might not stress what it does on all generations.

  8. #28
    Join Date
    May 2007
    Posts
    230

    Default

    Quote Originally Posted by AnonymousCoward View Post
    Okay thanks. I didn't bother to look at the patch, just applied it . glxgears works, but that's not really a benchmark. So I tried the benchmark within FEAR. But with R600_HYPERZ=1 it puts the GPU in a state of infinite GPU resets. So no performance data here.
    What GPU ? Where can i download FEAR ?

  9. #29

    Default

    Quote Originally Posted by glisse View Post
    What GPU ?
    Juniper (5750)

    Where can i download FEAR ?
    You can download a demo here

    http://www.gamershell.com/download_10167.shtml

    It's a Windows game, but works fine on Linux with wine and r600 drivers, except when run with R600_HYPERZ=1.

  10. #30
    Join Date
    Feb 2011
    Location
    Ukraine
    Posts
    114

    Default

    I do some tests
    HD 6770

    lightsmark 1024
    w/o patch | with patch
    240 | 330
    lightsmark 1920
    130 | 180
    But mesa with this patch 90% of time shows me black screen, only text and one scene is rendered correctly.

    R600_HYPERZ=1\0 don't change anything for lightsmark.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •