summaryrefslogtreecommitdiff
path: root/opengl
AgeCommit message (Collapse)Author
2025-03-17Harden construction sites of android::StrongPointer in frameworks/native Anton Ivanov
Test: presubmit Flag: EXEMPT refactor Bug: 393217449 Change-Id: I25857739af659a52d2e33fc0e05799959f4024ab
2025-03-06Move flag feature_overrides to namespace "gpu" Tim Van Patten
Move the aconfig feature flag "feature_overrides" from the "core_graphics" namespace to "gpu". Note: This necessitates a new flag name as well: go/aconfig-namespace#aconfig-namespaces-2 > Once a flag's declaration is merged, its namespace cannot be changed. > If you've assigned the incorrect namespace, rename the flag and assign > the correct namespace in the same change. Due to this, the name is being changed to "angle_feature_overrides". Old: com.android.graphics.graphicsenv.flags.feature_overrides New: com.android.graphics.graphicsenv.flags.angle_feature_overrides Bug: 372694741 Test: aflags list | grep angle_feature_overrides Test: aflags enable com.android.graphics.graphicsenv.flags.angle_feature_overrides Flag: com.android.graphics.graphicsenv.flags.angle_feature_overrides Change-Id: Idc859b76b846901e1e763c4a994c98d050b2b4b9
2025-02-28EGL Multifile Blobcache: Upgrade trim to WARN Cody Northrop
Per request from partners, make logcat entry more visible when trimming the cache. Test: libEGL_test, EGL_test Bug: b/351867582 Flag: EXEMPT log only update Change-Id: Ibe89166b6fa90cb973a96757cba89de7461762f4
2025-02-07Merge "getPlatformDisplayAngle: Fix std::vector scope error" into main Treehugger Robot
2025-02-06getPlatformDisplayAngle: Fix std::vector scope error Tim Van Patten
The std::vector<const char*> variables were scoped to only within the conditional blocks for graphicsenv_flags::feature_overrides(). However, pointers to those vectors were added to the std::vector<EGLAttrib> attrs which is passed to eglGetPlatformDisplay(), leading to a use-after-free and ANGLE crashing due to a SIGSEGV. Move the declarations of enabled/disabled std::vectors next to attrs so their lifetimes match. Also, add a comment about why they are declared there, so they aren't erroneously moved back inside the conditional blocks where they are used in the future. Bug: 372694741 Test: CQ, Manual verification Flag: com.android.graphics.graphicsenv.flags.feature_overrides Change-Id: I85a361819e082bc546933e2839e3741a6b4c4ffd
2025-02-05Merge changes from topic "refbase-lar" into main am: ea332b7664 am: 7bc5c6beab Steven Moreland
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/3474558 Change-Id: I3229a42b0c4f2c02cdef726d9759b6f13e08bf5b Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2025-02-03opengl stubs: update for no implicit sp Steven Moreland
Required to enable ANDROID_UTILS_REF_BASE_DISABLE_IMPLICIT_CONSTRUCTION Bug: 393013610 Test: boot Change-Id: I790a22f3bfcbc988b0db93f4105254f1f61ab647
2025-01-29bufferqueues: IConsumerListener/IGraphicBufferConsumer no longer need binder Jim Shargo
This CL removes the use of binder from IConsumerListener and IGraphicBufferConsumer. These interfaces are both only ever called by BufferQueue and/or BufferQueueConsumer classes and not exposed outside the process. As a result, there's no benefit to using binder interfaces for them, since the process would have to crash if BufferQueue or BufferQueueConsumer calls methods that are not supported. This also fixes up a currently-disabled BufferQueue test. Bug: 389157713 Change-Id: I119839d2441b3a1455ff840dff4154cf54a425fa Flag: EXEMPT refactor Test: builds, presubmit
2025-01-15getPlatformDisplayAngle: Get ANGLE feature overrides Tim Van Patten
Query GraphicsEnv for the ANGLE feature overrides to apply when creating an ANGLE EGL display. Bug: 372694741 Test: CQ, Manual verification Flag: com.android.graphics.graphicsenv.flags.feature_overrides Change-Id: Ia17922e4e2136bbc0045221ac47d8454bd3e1b2d
2024-11-28EGL Multifile Blobcache: Remove entries when valueSize is zero Cody Northrop
When set is called with a value size of zero, the cache will simply remove the entry from disk and return. Any pending writes will complete before the entry is removed. Additional tests: * ZeroSizeRemovesEntry Based on work by: Igor Nazarov <i.nazarov@samsung.com> Test: libEGL_test, EGL_test, ANGLE trace tests, apps Bug: b/355259618, b/380483358 Flag: com.android.graphics.egl.flags.multifile_blobcache_advanced_usage Change-Id: I092a0e41c587ac036311b5e08e8b6ffa59588bca
2024-11-28EGL Multifile Blobcache: Handle lost cache Cody Northrop
During execution, if the app's cache is cleared from outside our control, two issues occur: * New entries won't persist to disk because the multifile directory is missing. * applyLRU will abort eviction, allowing entries beyond the limits. To address this, this CL: * Adds missing directory detection to our deferred write thread which then attempts to recreate it and continue. * Updates eviction to issue a warning rather than abort so it can update tracking and continue. For missing entries, the app will get hits from hotcache, but anything beyond that will become a miss. Additional tests: * RecoverFromLostCache * EvictAfterLostCache Based on work by: Igor Nazarov <i.nazarov@samsung.com> Test: libEGL_test, EGL_test, ANGLE trace tests, apps Bug: b/351867582, b/380483358 Flag: com.android.graphics.egl.flags.multifile_blobcache_advanced_usage Change-Id: I13c8cdf58c957163eed4498c0d4be180574bf03e
2024-11-28EGL Multifile Blobcache: Fix applyLRU Cody Northrop
This CL contains updates our cache eviction to be an actual LRU instead of random. * Entries are now tracked in a sorted map such that old entries are accessed first in applyLRU. * Access and update times are tracked with nanosecond accuracy. Additional tests: * CacheEvictionIsLRU Based on work by: Igor Nazarov <i.nazarov@samsung.com> Test: libEGL_test, EGL_test, ANGLE trace tests, apps Bug: b/351867582, b/380483358 Flag: com.android.graphics.egl.flags.multifile_blobcache_advanced_usage Change-Id: I0b6f407b6d5a29f9487f7d7604d723e701c6f6d5
2024-11-27EGL Multifile Blobcache: Clean up key reuse Cody Northrop
This CL contains multiple fixes that allow key reuse. * set() now checks whether an entry is already present, and if so removes it from hotcache and tracking before adding them. * trackEntry and removeEntry now update the total cache size. * applyLRU now correctly removes entries from all tracking. Additional tests: * SameKeyDifferentValues * SameKeyLargeValues Based on work by: Igor Nazarov <i.nazarov@samsung.com> Test: libEGL_test, EGL_test, ANGLE trace tests, apps Bug: b/351867582, b/380483358 Flag: com.android.graphics.egl.flags.multifile_blobcache_advanced_usage Change-Id: I66fe9cde18e468e541a80296c80f2234ac61acb0
2024-11-27EGL: Add flag for bugfixes found via advanced blobcache usage Cody Northrop
Test: libEGL_test, EGL_test Bug: b/351867582, b/380483358 Flag: com.android.graphics.egl.flags.multifile_blobcache_advanced_usage Change-Id: I08c8b2e1e255caead4333b69e0a94148a3b4f0b1
2024-11-12Merge 24Q4 (ab/12406339) into aosp-main-future Xin Li
Bug: 370570306 Merged-In: I9be1254c3e2685b0aa950b314c581824f40ce26c Change-Id: I35bc501a2b1d9eb100aaab25cd660cf2e0542f99
2024-10-24Add test for eglCreateContext with EGL_TELEMETRY_HINT_ANDROID Tom Murphy
Verify that eglCreateContext works when EGL_TELEMETRY_HINT_ANDROID is pass in the attribute list Test: presubmits Bug: 361291185 Flag: EXEMPT adding test Change-Id: Ib41e54330179b85aff99985deda796f9b4728c80
2024-10-23Merge "EGL Multifile Blobcache: Make use of crc32_z algorithm instead of ↵ Treehugger Robot
crc32c" into main am: f81814b5a2 am: 52c391422d Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/3310712 Change-Id: Ia3af3e9f08f65362f8f57f751a80bd847d3c63b4 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-10-22EGL Multifile Blobcache: Make use of crc32_z algorithm instead of crc32c Jisun Lee
To improve the performance in generating crc. Using crc32_z would reduce the function duration by 98 ~ 99 % as follows. Test: Genshin Impact Loading Algorithm Num calls Total Duration (millisec) crc32_z 3678 9909.88 crc32c 3596 1260876.81 Bug: b/373718861 Change-Id: I0b67265c4bcf199d4433b953a5a399629c9508f9 Signed-off-by: Jisun Lee <jisunnie.lee@samsung.com>
2024-10-21Merge "Allow to override ANGLE suffix with debug.angle.libs.suffix" into ↵ Roman Lavrov
main am: 7784c05415 am: 36ba968165 Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/3310155 Change-Id: Ibd35b9ce9013fa2318da2f7a68e2bc4d1cf01d28 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-10-15Allow to override ANGLE suffix with debug.angle.libs.suffix Roman Lavrov
This allows us to avoid .so name "collision" which results in an unexpected library being loaded when multiple ANGLE libraries are set up Bug: b/371356548 Tested: cvd create --gpu_mode=guest_swiftshader, ANGLE from apk Change-Id: I5a6dce90fe559f3884bc0fb956b884d8481b8c00
2024-10-04Merge "Add comment clarifying ANGLE libs loading behaviors" into main Yuxin Hu
2024-10-01Add comment clarifying ANGLE libs loading behaviors Yuxin Hu
Flag: DOCS_ONLY Test: make Bug: b/370113081 Change-Id: I030002490a2658c8387fafad6cb8aaa67174082c
2024-09-26Merge "Fix crash in presentation time implementation" into main am: ↵ Treehugger Robot
8dd89273e0 am: c22b18a160 Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/3282095 Change-Id: I021f122209d1368f7a4bb3fa93768559510c13d4 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-26Merge "Fix crash in presentation time implementation" into main Treehugger Robot
2024-09-25Fix crash in presentation time implementation Abdelrahman Daim
Summary: Something in Audio Trip triggers this bug when running the display at 90Hz. Setting the display panel to 72Hz makes Audio Trip work, but setting it to 90Hz causes it to crash with an error in native_window_set_buffers_timestamp. The error occurs because the surface's window value is null. A simple fix is to check for this and error out, which solves the problem and allows the app to work despite the error. The true root cause of the issue is unknown. Test: Successful Build on master branch Bug: b/369698627 Change-Id: Ib5ccc8bde07e44cb6ebac5b58d370a23b57ff020 Signed-off-by: Abdelrahman Daim <adaim@meta.com>
2024-09-25Merge "Suppress logcat error messages when frame timestamp is not found" ↵ Chris Forbes
into main am: 95583c28b5 am: b9fb9c1720 Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/3282094 Change-Id: I06c0c9f528a76088c0b2d0f47b99d0dbe76237c5 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-25Suppress logcat error messages when frame timestamp is not found Abdelrahman Daim
Summary: It is normal that the frame timestamp is not available when the query is performed. While printing a logcat error message for every failure would spam the log, suppress it. Test: Successful Build on master branch Change-Id: I19873b093283c1793467a66658cd06d2c4e988d5 Signed-off-by: Abdelrahman Daim <adaim@meta.com>
2024-09-09Merge "Add tomnom@ to OpenGL OWNERS and remove vantablack." into main am: ↵ Tom Murphy
e5164efe89 am: ac92ab8df4 Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/3260211 Change-Id: If5661c38ea327f42eb49daf9913209298cfbb19d Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-09Add tomnom@ to OpenGL OWNERS and remove vantablack. Tom Murphy
OpenGL and vulkan share the same owners list. Clean up both of them to remove devs who no longer work in these areas. Bug: 355048056 Change-Id: I1e3e53aa3908c6e13788a294d5b56f624410d266 Test: n/a
2024-09-04Merge "Remove NDK exports" into main am: 1af8a3eef4 am: 08aa6b5cf5 Steven Moreland
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/3248585 Change-Id: Id5aaea2cdd935d56909e8c151e348180a4c9efc2 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-04Merge "Remove NDK exports" into main am: 1af8a3eef4 Steven Moreland
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/3248585 Change-Id: Iec3bba30ebcd7f603077c8b6369e2c0522206e01 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-03Remove NDK exports Steven Moreland
Base headers should come from sysroot. Bug: N/A Test: build Change-Id: I5c085257b3aabc09d9b65a0384c0478a9f19c30e
2024-08-14Merge "Revert^2 "Skip C-verification of GL headers."" into main am: ↵ Dan Albert
aa61e92889 am: c1f905d1fd Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/3218118 Change-Id: I2a05f60ad1fd140179cf7b6262f5732456a8387e Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-14Merge "Revert^2 "Skip C-verification of GL headers."" into main am: aa61e92889 Dan Albert
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/3218118 Change-Id: I91626c83e0c0ac0e8dc746ef02494c126adaf53c Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-14Merge "Revert^2 "Skip C-verification of GL headers."" into main Dan Albert
2024-08-13Revert^2 "Skip C-verification of GL headers." Dan Albert
92c7e7b2af5f28a5a3b7d1e1cdf3ddec71d130a5 Change-Id: I9e39af3d0409391e54299a2dd2a3389185bc8efb
2024-08-09Merge "Revert "Skip C-verification of GL headers."" into main am: f9d7f291bd ↵ Priyanka Advani (xWF)
am: 0d5d421a18 Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/3214339 Change-Id: I37feb6bbdc8fef9aecbf03de7b18defb23af0151 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-08Merge "Revert "Skip C-verification of GL headers."" into main am: f9d7f291bd Priyanka Advani (xWF)
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/3214339 Change-Id: If302f53487d2298dd8ab4fcc77027539083b7907 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-08Merge "Revert "Skip C-verification of GL headers."" into main Priyanka Advani (xWF)
2024-08-08Revert "Skip C-verification of GL headers." Priyanka Advani (xWF)
Revert submission 3207854-ensure-c-ndk-headers Reason for revert: Droidmonitor created revert due to b/358445530. Reverted changes: /q/submissionid:3207854-ensure-c-ndk-headers Change-Id: I27ff24217f723e6fc02adfb2a45b1fc8622f9a52
2024-08-08Merge "Skip C-verification of GL headers." into main am: 163c54a501 am: ↵ Treehugger Robot
f5e5a6d150 Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/3207759 Change-Id: I3052946737f2a3d7886ebcbd84139915d72316bc Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-08Merge "Skip C-verification of GL headers." into main am: 163c54a501 Treehugger Robot
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/3207759 Change-Id: I9ed6ad1c8a9539f3c6d3736be6afda6c3f0f3dbe Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-08Merge "Skip C-verification of GL headers." into main Treehugger Robot
2024-08-07Implement EGL_TELEMETRY_HINT_ANDROID in EGL loader Tom Murphy
We want eglCreateContext telemetry to give us insights into how developers use EGL. Implement the new EGL_TELEMETRY_HINT_ANDROID extension to allow us to remove HWUI contexts from telemetry Test: Tested with new dEQP tests to be merged separately Test: ran dEQP-EGL.functional.create_context_ext* tests Bug: 347911216 Flag: EXEMPT flag is used in linked CL Change-Id: If987c9eb144a380d90fb129f3f49effce73b33df
2024-08-06Merge changes I1e6c3c80,I4310618c into main am: 5a2065886b am: 3150c9697c Chris Forbes
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/3205054 Change-Id: I4c98c1a8621b80b0f68617bc8e77e7605888e139 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-06Merge changes I1e6c3c80,I4310618c into main am: 5a2065886b Chris Forbes
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/3205054 Change-Id: Ib75609eb56bba49998afab66b73bfbd076812429 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-06Skip C-verification of GL headers. Dan Albert
C-compatibility can't be verified for modules with headers that aren't self-contained. The *ext.h headers in GL aren't self-contained, so disable it here. Bug: http://b/113359184 Test: m ndk Change-Id: Ib88da62338f5de3f1ee8ad2afbda5b188ed06d2c
2024-08-01Fix updatable driver loading issue with EGL. Rob VanReenen
getDriverNamespace() returns non-NULL if an updatable driver is intended to be used. Need to throw error only if attempt_to_load_updated_driver() failed. Bug: 349287141 Change-Id: I4310618c7a031a0c471aea5a6ab00362acff0983
2024-08-01Update the Khronos EGL header files. Tom Murphy
Update the EGL header files to latest files. This is taken from commit ac494c215e8b4476dba7dc26c69514d314adf71e from the EGL-Registry git repo Bug: 354900782 Test: None Flag: NONE External header file update. Flag N/A Change-Id: Ia4641478938a486e2f22b8db66c4232de5684014
2024-07-29Revert "Update the Khronos EGL header files." Priyanka Advani (xWF)
Revert submission 28397871-Khronos_EGL_header_files Reason for revert: Droidmonitor created revert due to b/356236313 Reverted changes: /q/submissionid:28397871-Khronos_EGL_header_files Change-Id: Ia5d7b3afd8cf08db99bbc6e00db4e979def79fd0