[nee-jee-ray]
stands for Not just Renamed AMD API
What we are doing here is a GPU driver as a prototype for future graphics stack of the @GreenteaOS
- Vulkan
- DirectX / Direct3D
- OpenGL
- OpenCL
Uses safe programming language Hexa.
To support AMD GCN 1.0+ GPUs. And Intel/Nvidia ones that conform to Resource binding Tier 3 and Resource heap Tier 2.
Later GCN/RDNA GPUs will reuse huge parts of GCN 1.0 code.
Investigate three ways of implementing things. You are welcome to participate at any one you feel comfortable:
- Use NT GPU drivers
- Note that means using closed-source third-party software
- Implementing Vulkan ICD and then use it in tandem with DXVK seems like the most approachable way
- Use Mesa open-source drivers
- This one requires libDRM compatible API implementation
- Write own GPU drivers
- Mostly depends on DMA mapping and command stream (modern GPUs)
Depends on the available hardware. You may sponsor this project for broader testable hardware.
- Create IOCTL API to control the driver from userspace
- Init GPU engine and setup command buffer
- Mode setting
- Draw anything on screen
Follow build instructions from the Tofita repo.
GNU LESSER GENERAL PUBLIC LICENSE Version 3