[PATCH] drm/radeon: fix r1xx/r2xx register checker for POT textures

Alex Deucher alexdeucher at gmail.com
Mon Dec 2 21:18:46 UTC 2019


Ping?

Alex

On Tue, Nov 26, 2019 at 9:43 AM Alex Deucher <alexdeucher at gmail.com> wrote:
>
> Shift and mask were reversed.  Noticed by chance.
>
> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
> ---
>  drivers/gpu/drm/radeon/r100.c | 4 ++--
>  drivers/gpu/drm/radeon/r200.c | 4 ++--
>  2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c
> index 7089dfc8c2a9..1ccee4e5880e 100644
> --- a/drivers/gpu/drm/radeon/r100.c
> +++ b/drivers/gpu/drm/radeon/r100.c
> @@ -1826,8 +1826,8 @@ static int r100_packet0_check(struct radeon_cs_parser *p,
>                         track->textures[i].use_pitch = 1;
>                 } else {
>                         track->textures[i].use_pitch = 0;
> -                       track->textures[i].width = 1 << ((idx_value >> RADEON_TXFORMAT_WIDTH_SHIFT) & RADEON_TXFORMAT_WIDTH_MASK);
> -                       track->textures[i].height = 1 << ((idx_value >> RADEON_TXFORMAT_HEIGHT_SHIFT) & RADEON_TXFORMAT_HEIGHT_MASK);
> +                                               track->textures[i].width = 1 << ((idx_value & RADEON_TXFORMAT_WIDTH_MASK) >> RADEON_TXFORMAT_WIDTH_SHIFT);
> +                       track->textures[i].height = 1 << ((idx_value & RADEON_TXFORMAT_HEIGHT_MASK) >> RADEON_TXFORMAT_HEIGHT_SHIFT);
>                 }
>                 if (idx_value & RADEON_TXFORMAT_CUBIC_MAP_ENABLE)
>                         track->textures[i].tex_coord_type = 2;
> diff --git a/drivers/gpu/drm/radeon/r200.c b/drivers/gpu/drm/radeon/r200.c
> index 840401413c58..f5f2ffea5ab2 100644
> --- a/drivers/gpu/drm/radeon/r200.c
> +++ b/drivers/gpu/drm/radeon/r200.c
> @@ -476,8 +476,8 @@ int r200_packet0_check(struct radeon_cs_parser *p,
>                         track->textures[i].use_pitch = 1;
>                 } else {
>                         track->textures[i].use_pitch = 0;
> -                       track->textures[i].width = 1 << ((idx_value >> RADEON_TXFORMAT_WIDTH_SHIFT) & RADEON_TXFORMAT_WIDTH_MASK);
> -                       track->textures[i].height = 1 << ((idx_value >> RADEON_TXFORMAT_HEIGHT_SHIFT) & RADEON_TXFORMAT_HEIGHT_MASK);
> +                       track->textures[i].width = 1 << ((idx_value & RADEON_TXFORMAT_WIDTH_MASK) >> RADEON_TXFORMAT_WIDTH_SHIFT);
> +                       track->textures[i].height = 1 << ((idx_value & RADEON_TXFORMAT_HEIGHT_MASK) >> RADEON_TXFORMAT_HEIGHT_SHIFT);
>                 }
>                 if (idx_value & R200_TXFORMAT_LOOKUP_DISABLE)
>                         track->textures[i].lookup_disable = true;
> --
> 2.23.0
>


More information about the amd-gfx mailing list