Assigned
Status Update
Comments
sa...@google.com <sa...@google.com>
bo...@google.com <bo...@google.com>
ad...@google.com <ad...@google.com>
na...@google.com <na...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
commit 822b94312ab0e71054dcf8c007d4d8b6ba61db98
Author: Clara Fok <clarafok@google.com>
Date: Wed Dec 06 16:09:13 2023
Refactor PagingDataDiffer PageEvent processing
Streamline the process in preparation for upcoming refactors
Test: ANDROIDX_PROJECTS=INFRAROGUE ./gradlew paging:paging-common:allTest
Bug: 315214786
Change-Id: I809a5197633e9d7167388160509bec00566d7417
M paging/paging-common/src/commonMain/kotlin/androidx/paging/PagePresenter.kt
M paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingDataDiffer.kt
https://android-review.googlesource.com/2871509
Branch: androidx-main
commit 822b94312ab0e71054dcf8c007d4d8b6ba61db98
Author: Clara Fok <clarafok@google.com>
Date: Wed Dec 06 16:09:13 2023
Refactor PagingDataDiffer PageEvent processing
Streamline the process in preparation for upcoming refactors
Test: ANDROIDX_PROJECTS=INFRAROGUE ./gradlew paging:paging-common:allTest
Bug: 315214786
Change-Id: I809a5197633e9d7167388160509bec00566d7417
M paging/paging-common/src/commonMain/kotlin/androidx/paging/PagePresenter.kt
M paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingDataDiffer.kt
em...@gmail.com <em...@gmail.com> #3
Project: platform/frameworks/support
Branch: androidx-main
commit fb741839c9be2e2a0a9e023bbba3c0cbac3c9ebb
Author: Clara Fok <clarafok@google.com>
Date: Wed Dec 06 16:22:46 2023
Rename PagePresenter to PageStore
PageStore will be refactored to only process and store loaded data.
Test: ANDROIDX_PROJECTS=INFRAROGUE ./gradlew paging:paging-common:allTest
Bug: 315214786
Change-Id: Ic3502d2a541e02355d65cc5154025a0301a50ec5
M paging/paging-common/src/commonMain/kotlin/androidx/paging/PageStore.kt
M paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingDataDiffer.kt
M paging/paging-common/src/commonTest/kotlin/androidx/paging/PageFetcherSnapshotStateTest.kt
M paging/paging-common/src/commonTest/kotlin/androidx/paging/PageStoreTest.kt
M paging/paging-common/src/commonTest/kotlin/androidx/paging/ProcessPageEventCallbackCapture.kt
https://android-review.googlesource.com/2871510
Branch: androidx-main
commit fb741839c9be2e2a0a9e023bbba3c0cbac3c9ebb
Author: Clara Fok <clarafok@google.com>
Date: Wed Dec 06 16:22:46 2023
Rename PagePresenter to PageStore
PageStore will be refactored to only process and store loaded data.
Test: ANDROIDX_PROJECTS=INFRAROGUE ./gradlew paging:paging-common:allTest
Bug: 315214786
Change-Id: Ic3502d2a541e02355d65cc5154025a0301a50ec5
M paging/paging-common/src/commonMain/kotlin/androidx/paging/PageStore.kt
M paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingDataDiffer.kt
M paging/paging-common/src/commonTest/kotlin/androidx/paging/PageFetcherSnapshotStateTest.kt
M paging/paging-common/src/commonTest/kotlin/androidx/paging/PageStoreTest.kt
M paging/paging-common/src/commonTest/kotlin/androidx/paging/ProcessPageEventCallbackCapture.kt
Description
When using AOSP 10.0 Cuttlefish emulators with
minigbm
+virgl
graphics stack, we frequently encounter the following failure when the app plays videos in YV12 format using software decoder.Some debugging reveals that the failures are caused by an unwritable memory location ( in which points to a graphic buffer allocated and mapped by .
dst_u
) when callingmemcpy()
SoftwareRenderer::render()
.dst_u
is in turn calculated fromdst
minigbm
'sgralloc
allocatorWe believe that the problem is in the discrepencies in how Android specifications , buffer heights are unaligned, but in the underlying minigbm driver, buffer heights are aligned to 8 bytes (cf. and ).
Some other backends (e.g.,
minigbm
and AOSP handles YV12 buffer height alignment. Invirtio_dumb_bo_create()
drv_bo_from_format()
msm
,tegra
) use various alignment sizes as well. This creates inconsistencies that will ultimately lead to overruns and invalid accesses when these buffers are used in the Android framework.Fortunately, we think that those problems are not hard to fix. A unification of the specifications used by AOSP and the underlying drivers would do the trick.