Mesa (main): frontends/va: use un-padded width/height in ExportSurfaceHandle
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Sun Jan 16 15:59:26 UTC 2022
Module: Mesa
Branch: main
Commit: 76b7e393542c5cde9699f94ac5be7b09ccf2d0c2
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=76b7e393542c5cde9699f94ac5be7b09ccf2d0c2
Author: Krunal Patel <krunalkumarmukeshkumar.patel at amd.corp-partner.google.com>
Date: Tue Dec 28 01:54:44 2021 +0530
frontends/va: use un-padded width/height in ExportSurfaceHandle
Issue: VADRMPRIMESurfaceDescriptor width and height are rounded up to
macroblock size (16).
Rootcause: surf->buffer's width/height are rounded up to macroblock size (16),
so they shouldn't be used here.
Fix: Using surf->templ's width/height instead fixes incorrect surface
dimensions being sent via VADRMPRIMESurfaceDescriptor.
Signed-off-by: Krunal Patel <krunalkumarmukeshkumar.patel at amd.corp-partner.google.com>
Reviewed-by: Leo Liu <leo.liu at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14313>
---
src/gallium/frontends/va/surface.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/gallium/frontends/va/surface.c b/src/gallium/frontends/va/surface.c
index 8c772d5544a..2714430f4bf 100644
--- a/src/gallium/frontends/va/surface.c
+++ b/src/gallium/frontends/va/surface.c
@@ -1260,8 +1260,8 @@ vlVaExportSurfaceHandle(VADriverContextP ctx,
usage |= PIPE_HANDLE_USAGE_FRAMEBUFFER_WRITE;
desc->fourcc = PipeFormatToVaFourcc(surf->buffer->buffer_format);
- desc->width = surf->buffer->width;
- desc->height = surf->buffer->height;
+ desc->width = surf->templat.width;
+ desc->height = surf->templat.height;
for (p = 0; p < VL_MAX_SURFACES; p++) {
struct winsys_handle whandle;
More information about the mesa-commit
mailing list