summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Brezillon <boris.brezillon@collabora.com>2020-12-16 08:40:33 +0100
committerBoris Brezillon <boris.brezillon@collabora.com>2021-01-04 17:05:42 +0100
commitca265b48d93f3f68a990a65c4a3ba786ac82f09e (patch)
treeab3d398d5c917b8da92d104c846c5e2fcb661980
parentab1dec8dd4a5957b500423229c92af17ea52f3ef (diff)
panfrost: Pass a dev object to panfrost_needs_explicit_stride()
So we can soon use the same path for Bifrost and Midgard. 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/8125>
-rw-r--r--src/panfrost/lib/pan_texture.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/panfrost/lib/pan_texture.c b/src/panfrost/lib/pan_texture.c
index 0bf526d1dcf..5d7351942e9 100644
--- a/src/panfrost/lib/pan_texture.c
+++ b/src/panfrost/lib/pan_texture.c
@@ -78,13 +78,18 @@ panfrost_modifier_to_layout(uint64_t modifier)
* alignment requirements for their strides as it is */
static bool
-panfrost_needs_explicit_stride(uint64_t modifier,
+panfrost_needs_explicit_stride(const struct panfrost_device *dev,
+ uint64_t modifier,
enum pipe_format format,
struct panfrost_slice *slices,
uint16_t width,
unsigned first_level,
unsigned last_level)
{
+ /* Stride is explicit on Bifrost */
+ if (dev->quirks & IS_BIFROST)
+ return true;
+
if (modifier != DRM_FORMAT_MOD_LINEAR)
return false;
@@ -396,8 +401,8 @@ panfrost_new_texture(
util_format_description(format);
bool manual_stride =
- panfrost_needs_explicit_stride(modifier, format, slices, width,
- first_level, last_level);
+ panfrost_needs_explicit_stride(dev, modifier, format, slices,
+ width, first_level, last_level);
pan_pack(out, MIDGARD_TEXTURE, cfg) {
cfg.width = u_minify(width, first_level);