diff mbox

[libdrm] radeon: use SAMPLE_SPLIT=2 for better MSAA perf on EG/CM

Message ID 1464269939-29552-1-git-send-email-maraeo@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Marek Olšák May 26, 2016, 1:38 p.m. UTC
From: Marek Olšák <marek.olsak@amd.com>

---
 radeon/radeon_surface.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

Alex Deucher May 26, 2016, 2:07 p.m. UTC | #1
On Thu, May 26, 2016 at 9:38 AM, Marek Olšák <maraeo@gmail.com> wrote:
> From: Marek Olšák <marek.olsak@amd.com>
>

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

> ---
>  radeon/radeon_surface.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/radeon/radeon_surface.c b/radeon/radeon_surface.c
> index 5ec9745..1424660 100644
> --- a/radeon/radeon_surface.c
> +++ b/radeon/radeon_surface.c
> @@ -957,8 +957,10 @@ static int eg_surface_best(struct radeon_surface_manager *surf_man,
>              }
>              surf->stencil_tile_split = 64;
>          } else {
> -            /* tile split must be >= 256 for colorbuffer surfaces */
> -            surf->tile_split = MAX2(surf->nsamples * surf->bpe * 64, 256);
> +            /* tile split must be >= 256 for colorbuffer surfaces,
> +             * SAMPLE_SPLIT = tile_split / (bpe * 64), the optimal value is 2
> +             */
> +            surf->tile_split = MAX2(2 * surf->bpe * 64, 256);
>              if (surf->tile_split > 4096)
>                  surf->tile_split = 4096;
>          }
> --
> 2.7.4
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
diff mbox

Patch

diff --git a/radeon/radeon_surface.c b/radeon/radeon_surface.c
index 5ec9745..1424660 100644
--- a/radeon/radeon_surface.c
+++ b/radeon/radeon_surface.c
@@ -957,8 +957,10 @@  static int eg_surface_best(struct radeon_surface_manager *surf_man,
             }
             surf->stencil_tile_split = 64;
         } else {
-            /* tile split must be >= 256 for colorbuffer surfaces */
-            surf->tile_split = MAX2(surf->nsamples * surf->bpe * 64, 256);
+            /* tile split must be >= 256 for colorbuffer surfaces,
+             * SAMPLE_SPLIT = tile_split / (bpe * 64), the optimal value is 2
+             */
+            surf->tile_split = MAX2(2 * surf->bpe * 64, 256);
             if (surf->tile_split > 4096)
                 surf->tile_split = 4096;
         }