Skip to content

Support forward-compatible interface for query information #28

@solidpixel

Description

@solidpixel

The current library is designed retrospectively on top of the existing Mali kernel driver query interfaces that were built to support the production driver. These interfaces expose low-level data and assume that user-space knows how to decode packed fields for any particular product. This works for existing GPUs that already exist because we can encode that knowledge in the libGPUInfo user-space library, but we cannot reliably decode properties for future GPUs because we must make assumptions about how to decode raw config register fields.

It is desirable for game engine integrations to have a forward-compatible library. A version of the library will be frozen when an engine (or at least a game build) is released, but it will need to work reliably for years to come on GPUs that did not exist when the application software was frozen. This means we need a higher-level set of properties to be provided by the kernel driver, allowing user-space to consume them without specific knowledge of the hardware and its register encoding. It is accepted that this will likely only be able to return a subset of the information that a "known product" is able to return, for example the human readable product name will be missing, but technical essentials such as architecture version, core count, L2 cache count, and L2 cache size should be programmatically determinable.

Status: Requirement acknowledged; blocked pending kernel driver interface changes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions