[PATCH xf86-video-amdgpu] Fix linear check in amdgpu_glamor_share_pixmap_backing
Alex Deucher
alexdeucher at gmail.com
Mon Jan 22 20:57:23 UTC 2018
On Mon, Jan 22, 2018 at 12:36 PM, Michel Dänzer <michel at daenzer.net> wrote:
> From: Michel Dänzer <michel.daenzer at amd.com>
>
> We were incorrectly interpreting the tiling information.
>
> Reported-by: Marek Olšák <marek.olsak at amd.com>
> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
Acked-by: Alex Deucher <alexander.deucher at amd.com>
> ---
> configure.ac | 2 +-
> src/amdgpu_glamor.c | 11 ++++++++++-
> 2 files changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/configure.ac b/configure.ac
> index 02e19aac5..ea41f41b3 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -71,7 +71,7 @@ XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
>
> # Checks for libraries.
> PKG_CHECK_MODULES(LIBDRM, [libdrm >= 2.4.78])
> -PKG_CHECK_MODULES(LIBDRM_AMDGPU, [libdrm_amdgpu >= 2.4.72])
> +PKG_CHECK_MODULES(LIBDRM_AMDGPU, [libdrm_amdgpu >= 2.4.76])
> PKG_CHECK_MODULES(GBM, [gbm])
>
> # Obtain compiler/linker options for the driver dependencies
> diff --git a/src/amdgpu_glamor.c b/src/amdgpu_glamor.c
> index 4d9788787..82146a157 100644
> --- a/src/amdgpu_glamor.c
> +++ b/src/amdgpu_glamor.c
> @@ -323,13 +323,22 @@ amdgpu_glamor_share_pixmap_backing(PixmapPtr pixmap, ScreenPtr slave,
> void **handle_p)
> {
> ScreenPtr screen = pixmap->drawable.pScreen;
> + AMDGPUInfoPtr info = AMDGPUPTR(xf86ScreenToScrn(screen));
> uint64_t tiling_info;
> CARD16 stride;
> CARD32 size;
> + Bool is_linear;
> int fd;
>
> tiling_info = amdgpu_pixmap_get_tiling_info(pixmap);
> - if (AMDGPU_TILING_GET(tiling_info, ARRAY_MODE) != 0) {
> +
> + if (info->family >= AMDGPU_FAMILY_AI) {
> + is_linear = AMDGPU_TILING_GET(tiling_info, SWIZZLE_MODE) == 0;
> + } else {
> + is_linear = AMDGPU_TILING_GET(tiling_info, ARRAY_MODE) == 1;
> + }
> +
> + if (!is_linear) {
> PixmapPtr linear;
>
> /* We don't want to re-allocate the screen pixmap as
> --
> 2.15.1
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
More information about the amd-gfx
mailing list