summaryrefslogtreecommitdiff
path: root/libs/hwui/AutoBackendTextureRelease.h
AgeCommit message (Collapse)Author
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
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