mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 11:08:03 +02:00
frontends/va: Use correct size for secondary planes.
And initialize the whandle format while at it. Fixes:f7a4051b83("radeonsi: Check pitch and offset for validity.") Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4126 Reviewed-by: Simon Ser <contact@emersion.fr> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9236> (cherry picked from commitf96a8c7819)
This commit is contained in:
parent
706c617e9b
commit
e3e37ad47c
2 changed files with 7 additions and 3 deletions
|
|
@ -1939,7 +1939,7 @@
|
|||
"description": "frontends/va: Use correct size for secondary planes.",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"master_sha": null,
|
||||
"because_sha": "f7a4051b836294ab8f55c71d239e99c5cbf63170"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -593,8 +593,6 @@ surface_from_external_memory(VADriverContextP ctx, vlVaSurface *surface,
|
|||
res_templ.last_level = 0;
|
||||
res_templ.depth0 = 1;
|
||||
res_templ.array_size = 1;
|
||||
res_templ.width0 = memory_attribute->width;
|
||||
res_templ.height0 = memory_attribute->height;
|
||||
res_templ.bind = PIPE_BIND_SAMPLER_VIEW;
|
||||
res_templ.usage = PIPE_USAGE_DEFAULT;
|
||||
|
||||
|
|
@ -602,6 +600,7 @@ surface_from_external_memory(VADriverContextP ctx, vlVaSurface *surface,
|
|||
whandle.type = WINSYS_HANDLE_TYPE_FD;
|
||||
whandle.handle = memory_attribute->buffers[index];
|
||||
whandle.modifier = DRM_FORMAT_MOD_INVALID;
|
||||
whandle.format = templat->buffer_format;
|
||||
|
||||
// Create a resource for each plane.
|
||||
memset(resources, 0, sizeof resources);
|
||||
|
|
@ -612,6 +611,11 @@ surface_from_external_memory(VADriverContextP ctx, vlVaSurface *surface,
|
|||
goto fail;
|
||||
}
|
||||
|
||||
res_templ.width0 = util_format_get_plane_width(templat->buffer_format, i,
|
||||
memory_attribute->width);
|
||||
res_templ.height0 = util_format_get_plane_height(templat->buffer_format, i,
|
||||
memory_attribute->height);
|
||||
|
||||
whandle.stride = memory_attribute->pitches[i];
|
||||
whandle.offset = memory_attribute->offsets[i];
|
||||
resources[i] = pscreen->resource_from_handle(pscreen, &res_templ, &whandle,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue