codec2: cache ion buffers with CPU access flags.
Bug: 131600580
Bug: 132046952
Change-Id: I72a63c18ee1e43bf55507683e01c6746eba6ade9
diff --git a/media/codec2/vndk/C2AllocatorIon.cpp b/media/codec2/vndk/C2AllocatorIon.cpp
index d22153d..752bc46 100644
--- a/media/codec2/vndk/C2AllocatorIon.cpp
+++ b/media/codec2/vndk/C2AllocatorIon.cpp
@@ -554,7 +554,11 @@
} else {
*align = 0; // TODO make this 1
*heapMask = ~0; // default mask
- *flags = 0; // default flags
+ if (usage.expected & (C2MemoryUsage::CPU_READ | C2MemoryUsage::CPU_WRITE)) {
+ *flags = ION_FLAG_CACHED; // cache CPU accessed buffers
+ } else {
+ *flags = 0; // default flags
+ }
res = C2_NO_INIT;
}
// add usage to cache