Announcement

Collapse
No announcement yet.

AMD R600g HyperZ Support Is Now In Better Shape

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • AMD R600g HyperZ Support Is Now In Better Shape

    Phoronix: AMD R600g HyperZ Support Is Now In Better Shape

    It was just days ago that the R300 Gallium3D driver got HyperZ support fixed-up and was finally enabled by default for bettering the OpenGL gaming performance with the open-source Linux graphics driver. Now it looks like the newer R600g driver is getting into shape for properly handling ATI/AMD HyperZ...

    http://www.phoronix.com/vr.php?view=MTI1MTg

  • #2
    Great to see so much progress in such a short timeframe! However, it's really overdue to see some actual progress.

    Comment


    • #3
      great news indeed :-) Kudos for Jerome for the work, but I still wonder would it work on my Evergreen as it says that it is disabling part/whole thing(?) on those chipsets

      Code:
      v14 Use resource not texture for htile buffer make the htile buffer
          size computation easier and simpler. Disable preload on evergreen
          as its still troublesome in some case
      Code:
      diff --git a/src/gallium/drivers/r600/r600_state.c b/src/gallium/drivers/r600/r600_state.c
      index e591d79..0b9aa49 100644
      --- a/src/gallium/drivers/r600/r600_state.c
      +++ b/src/gallium/drivers/r600/r600_state.c
      @@ -1440,6 +1440,18 @@ static void r600_init_depth_surface(struct r600_context *rctx,
       	default:;
       	}
       
      +	surf->htile_enabled = 0;
      +	/* use htile only for first level */
      +	if (rtex->htile && !level) {
      +		surf->htile_enabled = 1;
      +		surf->db_htile_data_base = 0;
      +		surf->db_htile_surface = S_028D24_HTILE_WIDTH(1) |
      +					S_028D24_HTILE_HEIGHT(1) |
      +					S_028D24_LINEAR(1);
      +		/* preload is not working properly on r6xx/r7xx */
      +		surf->db_depth_info |= S_028010_TILE_SURFACE_ENABLE(1);
      +	}
      +
       	surf->depth_initialized = true;
       }
      EDIT:

      Where to get this required kernel patch Jerome speaks about here http://lists.freedesktop.org/archive...er/031597.html ?
      Last edited by ryszardzonk; 12-14-2012, 05:25 AM.

      Comment


      • #4
        Originally posted by ryszardzonk View Post
        Where to get this required kernel patch Jerome speaks about here http://lists.freedesktop.org/archive...er/031597.html ?
        This one maybe? http://www.spinics.net/lists/dri-devel/msg31782.html

        Comment


        • #5
          About frigging time

          This should have been done years ago...

          Comment


          • #6
            Originally posted by uid313 View Post
            This should have been done years ago...
            Ohh yeah? Did you give Jerome any money for his work?

            This is OSS: if you have an itch, scratch it yourself or be doomed to wait for someone else to have the same itch.

            Comment


            • #7
              Great to hear there is further progress on HyperZ on R600g.

              Out of interest: IIRC, initially there were major issues (GPU lock ups?),
              although the CS had been perfectly in line with the GPU programming docs.
              Can anyone explain the situation in a few words (and how it got solved finally)?

              Comment


              • #8
                Originally posted by log0 View Post
                yes it seems to be it. Thanks! BTW kernel 3.7 is to old for that One needs to apply it to git version for now

                Originally posted by entropy View Post
                Can anyone explain the situation in a few words (and how it got solved finally)?
                it required reworking part of the driver to resemble that of the catalyst driver, but even the patch author do not remember the whole story

                v2-v4: history lost somewhere in outer space

                Comment


                • #9
                  Originally posted by entropy View Post
                  Great to hear there is further progress on HyperZ on R600g.

                  Out of interest: IIRC, initially there were major issues (GPU lock ups?),
                  although the CS had been perfectly in line with the GPU programming docs.
                  Can anyone explain the situation in a few words (and how it got solved finally)?
                  That's what the 1st patch to rework the flushing behavior is for.

                  I think Jerome was under the impression that it was hardware bugs, or some unspecified behavior, which is why he reverse engineered fglrx to figure out how that driver was flushing and copied it.

                  Comment


                  • #10
                    Thank you guys!

                    Comment


                    • #11
                      r600g: rework flusing and synchronization pattern v7 and r600g: add htile support v16 have made in the mesa git
                      Hopefully it will not lock up for me like my previous try

                      Comment

                      Working...
                      X