| Summary: | Support for Vivante GPU API | ||
|---|---|---|---|
| Product: | SDL | Reporter: | PulkoMandy <pulkomandy> |
| Component: | video | Assignee: | Gabriel Jacobo <gabomdq> |
| Status: | RESOLVED FIXED | QA Contact: | Sam Lantinga <slouken> |
| Severity: | normal | ||
| Priority: | P2 | CC: | gabomdq |
| Version: | 2.0.1 | ||
| Hardware: | ARM | ||
| OS: | Linux | ||
| Attachments: | Patch adding Vivante GPU support. | ||
Forgot to mention: the patch is against SDL 2.0.1 sources. Nice work. It seems the patch is heavily based on the RPi backend, I would like to analyze and figure out if there's a simple way we can generalize that backend instead of just copy/pasting it entirely. Yes, a lot of this is copied from the Raspberry backend. I think I only modified SDL_vivvideo.c (to initialize EGL) and SDL_vivmouse.c (to remove the Pi cursor management). Other files can probably be shared. Sam fixed this today. |
Created attachment 1548 [details] Patch adding Vivante GPU support. This is a patch to add support for Vivante GPU drivers, as used for example on Freescale i.MX6 chips. Similar to the Raspberry Pi, there is a custom API allowing to query the framebuffer and allocate (non-movable, non-resizeable) windows on it. Support for SDL_cursor is missing, I didn't find a way of implementing it. Note: because of the way Vivante GPU driver is made, there is no way to have SDL compiled for both X11 and this at the same time (you need to link to a different libEGL, and use different compile flags). I couldn't get the X11 variant to work reliably, anyway.