summaryrefslogtreecommitdiff
path: root/libs/hwui/AutoBackendTextureRelease.cpp
AgeCommit message (Collapse)Author
2024-10-03Merge "HWUI: Make releaseQueueOwnership thread-safety" into main am: ↵ Treehugger Robot
cf9208796d am: d7fb91da39 Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3247597 Change-Id: Ia6f256a67c0297d3d46d441f2633c09e6389d093 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-30[HWUI] Update Ganesh includes to specify new location Nolan Scobie
Upstream Skia changes I7269acfae5c26518c2a61930a8af9584682751cd and Ibc927d0ae66a05546957300090a651614e720fad are moving Ganesh headers into Skia's include/gpu/ganesh/ directory. Android's current includes are relying on temporary shims which will soon be removed. Note: I also sorted some includes to try and calm the chaos a tiny bit, but didn't go out of my way to update all non-Ganesh Skia includes. clang-format decided to further re-arrange things, so I'm hoping this doesn't make future merge conflicts too painful. Bug: 40044159 Test: builds after locally deleting Skia's temporary shims Flag: EXEMPT refactor Change-Id: I5099e215a58915a5e6c7b3434f9855006dda8c60
2024-08-30HWUI: Make releaseQueueOwnership thread-safety Penghui.Liu
We encountered a Skia Resource Cache SIGTRAP NE Issue, caused by deleting DeferredLayerUpdater on the wrong thread, FinalizerDaemon. Make AutoBackendTextureRelease::releaseQueueOwnership thread-safety. Avoid multi-thread access to the Skia Resource Cache. Bug: Test:Manual 1.Install and Launch APK 2.Run Monkey Test adb shell monkey -v -p com.ss.android.article.news --throttle 3000 99999 Change-Id: Icb5098e9460ce4be799db8575d9916a9910d61a1
2024-01-22Update deprecated MutableTextureState Vulkan constructor call Kevin Lubick
This was deprecated in http://review.skia.org/781498 and will be removed soon. Change-Id: I8157eded40a849bc2307f4dfe916a34567428119 Bug: b/293490566
2023-08-16Replace GrBackendSurfaceMutableState with skgpu::MutableTextureState Brian Osman
This was essentially an old alias from a rename. Making this change so the alias (and header) can be deleted. Bug: b/296240795 Change-Id: I6edfac5571263b3fc0a4f1e0d95ac6258e2fa27b
2023-08-11[base] Migrate deprecated GL GrSurfaceBackend related functions Kevin Lubick
Skia-side changes: - https://skia-review.googlesource.com/c/skia/+/735976 - https://skia-review.googlesource.com/c/skia/+/701398 Change-Id: Ia3aca705a022b334081e993bdd1aa185c5eaa3aa
2023-06-05Fix missing #include of GrBackendSurfaceMutableState.h Kevin Lubick
And some other includes that are missing and may cause issues in future refactors. See http://review.skia.org/704942 Change-Id: I3109cb4ca9b0868df13fb130f5cd8b8523a8cb93
2023-05-11Use relocated SkImages context typedef Kevin Lubick
In http://review.skia.org/661059, we moved many SkImage related methods, including these typedefs. This updates android/base to use that moved type. Change-Id: I8ace594ed19561516bef4468cca0bf59a2910483
2023-03-27Migrate SkImage static methods to SkImages namespace Kevin Lubick
Will need to land after https://skia-review.googlesource.com/c/skia/+/648297 lands and rolls Change-Id: Ie2ecb8f74dd52fcdd35e7cf9c311e8ed94781a07 Bug: skbug.com/13983
2022-10-31Fix erroneous self deletion on SkImage creation failure Nolan Scobie
TL;DR: Skia should always call releaseProc, and maybe sooner than we thought. There are multiple scenarios where SkImage:MakeFromTexture will fail, returning a nullptr and calling releaseProc due to a RefCntedCallback falling out of scope. Previously this could cause mUsageCount to fall to 0, resulting in the AutoBackendTextureRelease deleting itself even though DeferredLayerUpdater owned a ref and expected it to still exist. Also added logging for some reasons that could cause the later call to MakeFromTexture to fail. Bug: b/246831853 Test: hwui_unit_tests Change-Id: I7fd2566b9a85fe286f72b0fc42eba5450cac69b0
2021-05-26In Vk DeferredLayerUpdater make sure we releause buffers to foreign queue. Greg Daniel
For Vulkan we need to make sure that when we draw AHBs we must transition them to and from the foreign queue so that the producer is able to write new data to them and we are able to see the new writes. Test: Manual running of Lens app Bug: 178773035 Change-Id: I807709d2b671bf5a01a82237f3b5838734f0d978
2020-07-28Migrate from GrContext to GrDirectContext Adlai Holler
This is part of an effort to distinguish between different types of contexts in GPU Skia. When using a DeferredDisplayList (DDL) recorder, the context you get is not a direct context and cannot be used for operations like uploading or reading textures. Since Android does not use DDLs, it is not directly affected by this change but other APIs, such as SkImage::MakeFromTexture are being migrated to require a GrDirectContext to increase sanity. Change-Id: I9afbdf3c026a9f9cb6ad2aad904915e189e584d6
2019-11-08Decouple SurfaceTexture from HWUI Stan Iliev
Remove all Skia and HWUI types from SurfaceTexture implementation. Move SurfaceTexture to libgui (ag/9578265). Define private C++ API for SurfaceTexture, which is consumed by DeferredLayerUpdater. Move AutoBackendTextureRelease/Skia code from SurfaceTexture to HWUI. Test: pass CtsUiRenderingTestCases and CtsViewTestCases Bug: 136263580 Change-Id: I3f971bb490f64a3ac0b2a66a89ba935bf7f08213