summaryrefslogtreecommitdiff
path: root/src/video_core/buffer_cache/buffer_cache.cpp
diff options
context:
space:
mode:
authorZephyron <zephyron@citron-emu.org>2025-01-26 14:21:36 +1000
committerMike Lothian <mike@fireburn.co.uk>2025-05-11 14:29:04 +0100
commit14378f5c168c453ab41bcf333578abef91ec53fe (patch)
tree4292cafff64025b1626ee2b8bc98c175ee44d843 /src/video_core/buffer_cache/buffer_cache.cpp
parent8f0b1df7f6fd3217e9eec387a1d6d5a2674d1e84 (diff)
nvnflinger: Implement reference counting for binder objects
Implements proper reference counting for binder objects based on the official documentation. This adds both weak and strong reference counting support to the IBinder interface and its implementations (BufferQueueProducer and BufferQueueConsumer). The implementation follows the documented behavior where: - type 0 affects weak references - type 1 affects strong references - During initialization: {addval=1, type=0} followed by {addval=1, type=1} - For onFirstRef: {addval=1, type=1} - For onLastStrongRef: {addval=-1, type=1} Reference counters are implemented using std::atomic to ensure thread safety. REFS: switchbrew.org/wiki/Nvnflinger_services#AdjustRefcount
Diffstat (limited to 'src/video_core/buffer_cache/buffer_cache.cpp')
0 files changed, 0 insertions, 0 deletions