Skip to content

🍽️ Change Policy: Cross-Platform #280

@Jasper-Bekkers

Description

@Jasper-Bekkers

Given that gpu-allocator is getting wider and wider use and that it intends to abstract over some platform specific elements when it comes to memory allocation gpu-allocator often get change requests on the repository to expose some functionality.

We're in a spot where we want to provide a unified and easy to use API and with that come some expectations;

  1. Cross platform features: Most of the time we will want to have the same set of features exposed on multiple platforms, and if the features are available across a wide range of APIs we should support it for all of the APIs (Metal, Vulkan and Dx12). This makes maintenance significantly easier as it sets clear expectations of what features are available where.
  2. Platform specific features: However, if a feature only exists on a single platform we shouldn't shy away from it either as sometimes these individual features are key to unlocking performance. In those cases, the PR's around them should mention this explicitly.

This does have some implication directly on the PR authors in that they'll need to work with the community to be able to target some of the platforms they might not otherwise have access to. Note: we do have comprehensive CI set up to compile and test on all these platforms

This also has some implications for reviewers as we're currently not accepting changes that only implement a feature on one of the backends (if that feature is widely available).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions