This repository has been archived on 2025-12-14. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
github.ong19th.Citron/src/core/hle/service
Zephyron a5d62fa4ec 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
2025-01-26 14:21:36 +10:00
..
acc Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
am service-am: Handle panic conditions in SetTerminateResult 2025-01-20 16:06:08 +10:00
aoc Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
apm Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
audio Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
bcat Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
bpc Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
btdrv Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
btm Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
caps Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
erpt Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
es Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
eupld Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
fatal Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
fgm Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
filesystem Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
friend Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
glue Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
grc Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
hid fix: Implement SetGestureOutputRanges to handle unimplemented function error 2025-01-15 19:20:37 +10:00
jit Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
lbl Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
ldn Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
ldr Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
lm Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
mig Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
mii Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
mm service: mm: Refactor Memory Management service implementation 2025-01-25 14:55:50 +10:00
mnpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
ncm Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
nfc Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
nfp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
ngc Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
nifm Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
nim Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
npns Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
ns Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
nvdrv service/nvdrv: Relax GPU validation and improve error handling 2025-01-21 16:07:44 +10:00
nvnflinger nvnflinger: Implement reference counting for binder objects 2025-01-26 14:21:36 +10:00
olsc Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
omm Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
os Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
pcie Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
pctl Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
pcv Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
pm Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
prepo Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
psc Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
ptm Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
ro Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
set Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
sm service: sm: Update to match official IPC interface 2025-01-25 15:20:01 +10:00
sockets Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
spl Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
ssl Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
usb Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
vi service: vi: Implement missing IApplicationDisplayService functions 2025-01-26 13:27:06 +10:00
cmif_serialization.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
cmif_types.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
hle_ipc.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
hle_ipc.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
ipc_helpers.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
kernel_helpers.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
kernel_helpers.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
server_manager.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
server_manager.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
service.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
service.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
services.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
services.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00