How bylaws/libadrenotools works
Adreno Tools is a developer library for rootless Adreno driver modifications, not an end-user driver installer. An app calls the library to load a custom Vulkan driver and optionally enable file redirection or GPU mapping; the library configures and loads hook components, while a separate API applies BCn patches. The tree also contains Vulkan acceleration and Qualcomm mapper shims. Source excerpts do not establish how those standalone shims are consumed, so their integration links are omitted.
Main entry points: hook_impl.cpp Hook implementation · driver.cpp Driver loader · gr_utils.cpp Gralloc utilities · shim.cpp QTI mapper shim
Components 19
Driver loading
- Driver API
include/adrenotools/driver.h - Driver loader
src/driver.cpp
Runtime hooks
- Hook parameters
src/hook/hook_impl_params.h - Hook entry
src/hook/main_hook.c - Hook implementation
src/hook/hook_impl.cpp - File redirection
src/hook/file_redirect_hook.c - GSL allocation hook
src/hook/gsl_alloc_hook.c - KGSL interface
src/hook/kgsl.h
BCn support
- BCn API
include/adrenotools/bcenabler.h - BCn enabler
src/bcenabler.cpp - BCn patch data
gen/bcenabler_patch.h
Compatibility shims
- Vulkan acceleration shim
tools/acc-shim/vk_acc_shim.cpp - QTI mapper shim
tools/qtimapper-shim/shim.cpp - Gralloc utilities
tools/qtimapper-shim/ext/gr_utils.cpp - Adreno format info
tools/qtimapper-shim/ext/gr_adreno_info.cpp - Mapper interfaces
tools/qtimapper-shim/ext/mapperextensions.h - Gralloc definitions
tools/qtimapper-shim/ext/gralloc_priv.h
Other components
- Integrating app
- Android KGSL driver
Connections 18
- Integrating app → Driver API: calls
README.md - Driver API → Driver loader: invokes
src/driver.cpp - Driver loader → Hook parameters: initializes
src/driver.cpp - Driver loader → Hook entry: loads
src/driver.cpp - Hook entry → Hook implementation: uses
src/hook/main_hook.c - File redirection → Hook implementation: uses
src/hook/file_redirect_hook.c - GSL allocation hook → Hook implementation: uses
src/hook/gsl_alloc_hook.c - Hook implementation → Hook parameters: reads
src/hook/hook_impl.cpp - Hook implementation → KGSL interface: uses
src/hook/hook_impl.cpp - Driver loader → Android KGSL driver: issues ioctls
src/driver.cpp - Hook implementation → Android KGSL driver: interacts with
- Integrating app → BCn API: calls
README.md - BCn API → BCn enabler: implemented by
src/bcenabler.cpp - BCn enabler → BCn patch data: uses patch
src/bcenabler.cpp - QTI mapper shim → Gralloc utilities: uses
tools/qtimapper-shim/shim.cpp - QTI mapper shim → Mapper interfaces: uses
tools/qtimapper-shim/shim.cpp - Gralloc utilities → Adreno format info: uses
tools/qtimapper-shim/ext/gr_utils.cpp - Gralloc utilities → Gralloc definitions: uses