panfrost: Pass the texture payload through a panfrost_ptr
We want to be able to pass a payload allocated from the pool, so let's
change the function prototype to allow that.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7206>
diff --git a/src/gallium/drivers/panfrost/pan_context.c b/src/gallium/drivers/panfrost/pan_context.c
index 6f5742f..a09e4f8 100644
--- a/src/gallium/drivers/panfrost/pan_context.c
+++ b/src/gallium/drivers/panfrost/pan_context.c
@@ -1045,8 +1045,7 @@
prsrc->cubemap_stride,
panfrost_translate_swizzle_4(composed_swizzle),
prsrc->bo->ptr.gpu,
- prsrc->slices,
- so->bo);
+ prsrc->slices, &so->bo->ptr);
} else {
unsigned size = panfrost_estimate_texture_payload_size(
so->base.u.tex.first_level,
diff --git a/src/panfrost/lib/pan_texture.c b/src/panfrost/lib/pan_texture.c
index cda1802..8f3e4e9 100644
--- a/src/panfrost/lib/pan_texture.c
+++ b/src/panfrost/lib/pan_texture.c
@@ -401,7 +401,7 @@
unsigned swizzle,
mali_ptr base,
struct panfrost_slice *slices,
- struct panfrost_bo *payload)
+ const struct panfrost_ptr *payload)
{
const struct util_format_description *desc =
util_format_description(format);
@@ -410,7 +410,7 @@
assert(mali_format);
panfrost_emit_texture_payload(
- payload->ptr.cpu,
+ payload->cpu,
desc,
mali_format,
dim,
@@ -437,7 +437,7 @@
cfg.swizzle = swizzle;
cfg.texel_ordering = panfrost_modifier_to_layout(modifier);
cfg.levels = last_level - first_level;
- cfg.surfaces = payload->ptr.gpu;
+ cfg.surfaces = payload->gpu;
/* We specify API-level LOD clamps in the sampler descriptor
* and use these clamps simply for bounds checking */
diff --git a/src/panfrost/lib/pan_texture.h b/src/panfrost/lib/pan_texture.h
index fe25f96..c540012 100644
--- a/src/panfrost/lib/pan_texture.h
+++ b/src/panfrost/lib/pan_texture.h
@@ -127,7 +127,7 @@
unsigned swizzle,
mali_ptr base,
struct panfrost_slice *slices,
- struct panfrost_bo *payload);
+ const struct panfrost_ptr *payload);
unsigned