- Continued Texture Implementation
- Began reorganizing the planning document into /planning/
This commit is contained in:
61
planning/PLATFORM_SUPPORT.md
Normal file
61
planning/PLATFORM_SUPPORT.md
Normal file
@@ -0,0 +1,61 @@
|
||||
|
||||
# Platform Support Library (`platform`)
|
||||
|
||||
## Table of Contents
|
||||
|
||||
<!-- TOC -->
|
||||
* [Home](./CONTENTS.md#planning-documentation-for-fennec)
|
||||
* [Platform Support Library (`platform`)](#platform-support-library-platform)
|
||||
* [Table of Contents](#table-of-contents)
|
||||
* [Introduction](#introduction)
|
||||
* [Implementation](#implementation)
|
||||
* [Consoles](#consoles)
|
||||
<!-- TOC -->
|
||||
|
||||
|
||||
## Introduction
|
||||
|
||||
  The platform support library will include headers, functions, and classes related
|
||||
to supporting various platforms. Platforms may be defined as any Hardware, OS, or
|
||||
Drivers that must be initialized for the engine context.
|
||||
|
||||
|
||||
## Implementation
|
||||
|
||||
Platform Support will be implemented in the following order:
|
||||
- Linux/BSD
|
||||
- Wayland
|
||||
- OpenGL (EGL) ✔
|
||||
- XKB
|
||||
- PulseAudio
|
||||
- Vulkan
|
||||
- X11
|
||||
- ALSA
|
||||
- Vulkan
|
||||
- Microsoft Windows
|
||||
- XInput
|
||||
- OpenGL (WGL)
|
||||
- WASAPI
|
||||
- Vulkan
|
||||
- Android
|
||||
- OpenGL ES
|
||||
- AAudio
|
||||
- openslES
|
||||
- macOS/iOS
|
||||
- cocoa
|
||||
- OpenGL
|
||||
- Core Audio
|
||||
- Vulkan
|
||||
- Metal
|
||||
|
||||
  Linux Wayland will be implemented first. Once setup, the core engine will be
|
||||
implemented and tested on top of Wayland. Once the engine is in a stable state,
|
||||
then support for other platforms will be resumed.
|
||||
|
||||
|
||||
## Consoles
|
||||
|
||||
  Most consoles will never get official platform support due to NDAs which conflict
|
||||
with the principles of this engine. fennec will avoid using proprietary libraries except
|
||||
when strictly necessary, such as support for Windows and MacOS. fennec will interact
|
||||
with any drivers required for the listed operating systems above, even if proprietary.
|
||||
Reference in New Issue
Block a user