[Mesa-dev] [PATCH] radeon: reverse DBG_NO_HYPERZ logic

Marek Olšák maraeo at gmail.com
Wed Feb 12 11:21:28 PST 2014


Acked-by: Marek Olšák <marek.olsak at amd.com>

Please don't close the FDO bugs after this is committed.

Marek

On Wed, Feb 12, 2014 at 6:20 PM, Alex Deucher <alexdeucher at gmail.com> wrote:
> Change the flag to DBG_HYPERZ and reverse the logic
> so setting the flag enabled the feature.  This disables
> hyperz on r600g and radeonsi by default.  It can be
> enabled by setting the env var.  There are just too
> many issues with certain apps so leave it disabled for
> now until we sort out the issues with the problematic
> apps.
>
> Bugs:
> https://bugs.freedesktop.org/show_bug.cgi?id=58660
> https://bugs.freedesktop.org/show_bug.cgi?id=64471
> https://bugs.freedesktop.org/show_bug.cgi?id=66352
> https://bugs.freedesktop.org/show_bug.cgi?id=68799
> https://bugs.freedesktop.org/show_bug.cgi?id=72685
> https://bugs.freedesktop.org/show_bug.cgi?id=73088
> https://bugs.freedesktop.org/show_bug.cgi?id=74428
> https://bugs.freedesktop.org/show_bug.cgi?id=74803
> https://bugs.freedesktop.org/show_bug.cgi?id=74863
> https://bugs.freedesktop.org/show_bug.cgi?id=74892
> https://bugzilla.kernel.org/show_bug.cgi?id=70411
>
> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
> Cc: "10.1" "10.0" <mesa-stable at lists.freedesktop.org>
> ---
>  src/gallium/drivers/r600/r600_pipe.c          | 4 ++--
>  src/gallium/drivers/radeon/r600_pipe_common.c | 2 +-
>  src/gallium/drivers/radeon/r600_pipe_common.h | 2 +-
>  src/gallium/drivers/radeon/r600_texture.c     | 2 +-
>  4 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c
> index 796f0f5..8ea192a 100644
> --- a/src/gallium/drivers/r600/r600_pipe.c
> +++ b/src/gallium/drivers/r600/r600_pipe.c
> @@ -584,8 +584,8 @@ struct pipe_screen *r600_screen_create(struct radeon_winsys *ws)
>                 rscreen->b.debug_flags |= DBG_COMPUTE;
>         if (debug_get_bool_option("R600_DUMP_SHADERS", FALSE))
>                 rscreen->b.debug_flags |= DBG_FS | DBG_VS | DBG_GS | DBG_PS | DBG_CS;
> -       if (!debug_get_bool_option("R600_HYPERZ", TRUE))
> -               rscreen->b.debug_flags |= DBG_NO_HYPERZ;
> +       if (debug_get_bool_option("R600_HYPERZ", FALSE))
> +               rscreen->b.debug_flags |= DBG_HYPERZ;
>         if (!debug_get_bool_option("R600_LLVM", TRUE))
>                 rscreen->b.debug_flags |= DBG_NO_LLVM;
>
> diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c b/src/gallium/drivers/radeon/r600_pipe_common.c
> index 7af8124..dbca157 100644
> --- a/src/gallium/drivers/radeon/r600_pipe_common.c
> +++ b/src/gallium/drivers/radeon/r600_pipe_common.c
> @@ -137,7 +137,7 @@ static const struct debug_named_value common_debug_options[] = {
>         { "ps", DBG_PS, "Print pixel shaders" },
>         { "cs", DBG_CS, "Print compute shaders" },
>
> -       { "nohyperz", DBG_NO_HYPERZ, "Disable Hyper-Z" },
> +       { "hyperz", DBG_HYPERZ, "Enable Hyper-Z" },
>         /* GL uses the word INVALIDATE, gallium uses the word DISCARD */
>         { "noinvalrange", DBG_NO_DISCARD_RANGE, "Disable handling of INVALIDATE_RANGE map flags" },
>
> diff --git a/src/gallium/drivers/radeon/r600_pipe_common.h b/src/gallium/drivers/radeon/r600_pipe_common.h
> index 7193a0f..2fbc6a3 100644
> --- a/src/gallium/drivers/radeon/r600_pipe_common.h
> +++ b/src/gallium/drivers/radeon/r600_pipe_common.h
> @@ -83,7 +83,7 @@
>  #define DBG_PS                 (1 << 11)
>  #define DBG_CS                 (1 << 12)
>  /* features */
> -#define DBG_NO_HYPERZ          (1 << 13)
> +#define DBG_HYPERZ             (1 << 13)
>  #define DBG_NO_DISCARD_RANGE   (1 << 14)
>  /* The maximum allowed bit is 15. */
>
> diff --git a/src/gallium/drivers/radeon/r600_texture.c b/src/gallium/drivers/radeon/r600_texture.c
> index 356e0af..2cfab51 100644
> --- a/src/gallium/drivers/radeon/r600_texture.c
> +++ b/src/gallium/drivers/radeon/r600_texture.c
> @@ -596,7 +596,7 @@ r600_texture_create_object(struct pipe_screen *screen,
>         if (rtex->is_depth) {
>                 if (!(base->flags & (R600_RESOURCE_FLAG_TRANSFER |
>                                      R600_RESOURCE_FLAG_FLUSHED_DEPTH)) &&
> -                   !(rscreen->debug_flags & DBG_NO_HYPERZ)) {
> +                   (rscreen->debug_flags & DBG_HYPERZ)) {
>
>                         r600_texture_allocate_htile(rscreen, rtex);
>                 }
> --
> 1.8.3.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list