Skip to content

Add a system of Profiles to Inochi2D #23

@LunaTheFoxgirl

Description

@LunaTheFoxgirl

Certain features I want to implement in Inochi2D may not work on mobile devices, or some PCs and games consoles, there needs to be a useful distinction between them. As such I've decided together with @AsahiLina to split Inochi2D in to 3 profiles:

Profiles are listed in order of their level (0-2), profiles will inherit all the features from the lower levels.

  • Core (level 0)
    • Contains all the core functionality in Inochi2D that will be portable across devices like Android smartphones
    • GL Level is GL 2.1 or GL ES 1*
  • Standard (level 1)
    • Contains the standard feature set that will work on most devices, but are not ensured to work on mobile devices.
    • This is what most people would target as it would be supported on PCs, a lot of ARM devices and games consoles
    • GL Level is GL 3.1 w/ extensions or GL ES 2*
  • Experimental (level 2)
    • Experimental features that may get removed or which do not support a large portion of hardware.
    • Features can be promoted to Standard if they get well implemented enough and can be made to work on GL 3.1 and below.
    • GL level is GL 3.2+ (Excluding Geometry Shaders) and Vulkan.

A large portion of the spec will be in the Core profile and it will be useful for many cases.
For some cases, eg. cases that require more advanced driver features like SPIR-V support, Standard and above is the version target.

* = OpenGL ES support is TODO.

Metadata

Metadata

Assignees

No one assigned

    Labels

    EnhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions