mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 09:38:07 +02:00
vc4/resource: Support offset query for multi-planar planes
This is required in order to return the correct value for
`gbm_dri_bo_get_offset()` for e.g. the second plane of a NV12 image.
Use the newly introduced `util_resource` helper and, while on it, also
add support for `gbm_bo_get_plane_count()`.
Cc: mesa-stable
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26283>
(cherry picked from commit cb8cdab928)
This commit is contained in:
parent
5e1fe5d0fd
commit
090160db3a
2 changed files with 8 additions and 3 deletions
|
|
@ -134,7 +134,7 @@
|
|||
"description": "vc4/resource: Support offset query for multi-planar planes",
|
||||
"nominated": true,
|
||||
"nomination_type": 0,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": null,
|
||||
"notes": null
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@
|
|||
#include "util/u_memory.h"
|
||||
#include "util/format/u_format.h"
|
||||
#include "util/u_inlines.h"
|
||||
#include "util/u_resource.h"
|
||||
#include "util/u_surface.h"
|
||||
#include "util/u_transfer_helper.h"
|
||||
#include "util/u_upload_mgr.h"
|
||||
|
|
@ -350,18 +351,22 @@ vc4_resource_get_param(struct pipe_screen *pscreen,
|
|||
enum pipe_resource_param param,
|
||||
unsigned usage, uint64_t *value)
|
||||
{
|
||||
struct vc4_resource *rsc = vc4_resource(prsc);
|
||||
struct vc4_resource *rsc =
|
||||
(struct vc4_resource *)util_resource_at_index(prsc, plane);
|
||||
|
||||
switch (param) {
|
||||
case PIPE_RESOURCE_PARAM_STRIDE:
|
||||
*value = rsc->slices[level].stride;
|
||||
return true;
|
||||
case PIPE_RESOURCE_PARAM_OFFSET:
|
||||
*value = 0;
|
||||
*value = rsc->slices[level].offset;
|
||||
return true;
|
||||
case PIPE_RESOURCE_PARAM_MODIFIER:
|
||||
*value = vc4_resource_modifier(rsc);
|
||||
return true;
|
||||
case PIPE_RESOURCE_PARAM_NPLANES:
|
||||
*value = util_resource_num(prsc);
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue