Its a set of Custom Adreno GPU driver performance improvements,maintainability,safety guards,logs,optimizations#13
Open
Graywizard888 wants to merge 12 commits into
Conversation
Updated CMake configuration to support newer standards and optimize build settings for the adrenotools_bridge project.
This update enhances the Vulkan driver bridge by adding robust logging, improving environment variable handling, and refining the driver loading mechanism. It also introduces new functions for managing driver hooks and configurations.
Added new properties to GpuDriver for installation date, file size, and minimum Vulkan API version.
Refactor GpuDriverManager to streamline driver installation and caching mechanisms.
Added preferences for verbose logging and crash handling.
Refactor GPU driver preference screen by updating imports, enhancing GPU model detection, and improving driver installation logic.
This object maps Android device build identifiers to their corresponding Qualcomm Adreno GPU model numbers, aiding in GPU driver recommendations.
…sh recovery, live swapping, and Mesa/ICD injection. This code manages custom Vulkan GPU driver loading on Android, primarily targeting Qualcomm Adreno devices, with crash-loop protection and live driver swapping capabilities.
…, Vulkan state, installed drivers, env vars, and filtered logcat — as a plain-text share intent. Builds a structured human-readable dump covering device/hardware identity, Vulkan hardware version, native bridge availability, Freedreno env vars, installed custom drivers, RAM state, and recent logcat filtered to GPU-related tags — then exposes it via a standard ACTION_SEND chooser requiring zero special permissions, since apps can read their own process logs without READ_LOGS
… string building entirely when verbose logging is off, while warnings/errors always fire. v/d/i use Kotlin inline + lambda syntax so the message string is never constructed unless the verboseLogging preference is enabled — zero JNI overhead or string templating cost in the hot path. w/e are unconditional plain functions since warnings and errors always need to surface regardless of the logging preference, with optional Throwable chaining support.
… variables and configurations via the native adrenotools library. acts as a wrapper around libadrenotools_bridge.so, exposing synchronized external methods to set driver base paths, initialize configurations, and manipulate environment variables (like TU_DEBUG). This allows the app to programmatically control low-level driver behavior—such as enabling performance HUDs or specific debug flags—that the Vulkan driver typically reads from the system environment during its initialization phase.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CHEAK THE SOURCE CODE BEFORE MERGING INTO YOUR MAINSTREAM IT MAY HAVE CONFLICTS WITH YOUR SOURCE CODE