blob: 3ac0685d71629c48cfd65dc9cb3c82f4a7daaf69 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
From f172dc91c054bb6377b733db12d9210e5f73e7b2 Mon Sep 17 00:00:00 2001
From: JayYang <jay.yang@intel.com>
Date: Fri, 7 Jul 2023 13:40:14 +0800
Subject: [PATCH 1/5] ARGB force to tile4
Gmm may create tile64 ARGB surfaces, whereas no tile64 modifier is defined to export such surfaces.
Force ARGB, ABGR, A2RGB10 surfaces to tile4 as WA.
upstream-status: backport
Backport from upstream intel-media-driver:
https://github.com/intel/media-driver/commit/bd5bde0d8a0c0a6672c3586ee6727eff3ca9bc21
---
media_softlet/linux/common/ddi/media_libva_util_next.cpp | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/media_softlet/linux/common/ddi/media_libva_util_next.cpp b/media_softlet/linux/common/ddi/media_libva_util_next.cpp
index e3c49eef8..1852e59d2 100644
--- a/media_softlet/linux/common/ddi/media_libva_util_next.cpp
+++ b/media_softlet/linux/common/ddi/media_libva_util_next.cpp
@@ -647,6 +647,12 @@ VAStatus MediaLibvaUtilNext::GenerateGmmParamsForInternalSurface(
}
}
}
+ // For ARGB surface, always allocate it as tile4.
+ // This is a WA for ExportSurfaceHandle because modifer for tile64 isn't defined.
+ if ((params.format == Media_Format_A8R8G8B8 || params.format == Media_Format_B10G10R10A2 || params.format == Media_Format_A8B8G8R8) && !MEDIA_IS_SKU(&mediaDrvCtx->SkuTable, FtrTileY))
+ {
+ gmmParams.Flags.Info.Tile4 = true;
+ }
break;
case I915_TILING_X:
gmmParams.Flags.Info.TiledX = true;
--
2.40.1
|