[waffle] [PATCH 0/7] surfaceless_egl: Implement new platform
Chad Versace
chadversary at chromium.org
Tue Oct 18 17:32:58 UTC 2016
This is my attempt to upstream some of the functionality in Chrome OS's
fork of Waffle. My plan is:
1. (this patch series) Add a new Waffle platform for
EGL_MESA_platform_surfaceless. Initially, this platform supports
only the basic features of EGL_MESA_platform_surfaceless, and
waffle_window is backed by an EGL pbuffer. Support for KMS comes
later, as I wanted to first get the basics working.
2. (future) Shuffle the gbm code so Waffle's 'gbm' platform
and 'surfaceless_egl' platform can share it.
3. (future) Add support for KMS to the 'gbm' platform. (I'll post my
plans for this in a separate mail).
4. (future) Add support for KMS to the 'surfaceless_egl' platform.
*. Make a new Waffle release tarball sometime after step 1.
This patch series doesn't add the new platform in one giant commit. It's
incremental:
1. First, some refactors.
2. The CMake changes.
3. Add the code in src/waffle/surfaceless_egl/.
4. Update wflinfo.
5. Update gl_basic_test.
wflinfo works. But gl_basic_test fails. I suspect it's a Mesa bug.
Haixia, Gurcheta, can you help diagnose the bug?
This patch series lives at
https://github.com/chadversary/waffle/commits/review/platform-surfaceless-v01
and depends on the previously submitted branch
https://github.com/chadversary/waffle/commits/review/eglGetPlatformDisplay-v01
and also this patch submitted to mesa-dev
https://patchwork.freedesktop.org/patch/116476/
Chad Versace (7):
egl: Rename files wegl_window.* -> wegl_surface.*
egl: Rename struct wegl_window -> wegl_surface
egl: Allow pbuffers to back wegl_surface
cmake: Add option waffle_has_surfaceless_egl
surfaceless_egl: Implement new platform
wflinfo: Support --platform=surfaceless_egl
tests/gl_basic_test: Support platform surfaceless_egl
Android.mk | 2 +-
Options.cmake | 3 +
cmake/Modules/WaffleDefineCompilerFlags.cmake | 4 +
cmake/Modules/WaffleDefineInternalOptions.cmake | 3 +-
.../Modules/WafflePrintConfigurationSummary.cmake | 3 +
cmake/Modules/WaffleValidateOptions.cmake | 15 ++-
include/waffle/waffle.h | 1 +
man/waffle_init.3.xml | 9 ++
man/wflinfo.1.xml | 1 +
src/utils/wflinfo.c | 5 +-
src/waffle/CMakeLists.txt | 11 +-
src/waffle/android/droid_platform.c | 2 +-
src/waffle/android/droid_window.c | 2 +-
src/waffle/android/droid_window.h | 6 +-
src/waffle/api/waffle_init.c | 12 ++
src/waffle/egl/wegl_platform.c | 7 +
src/waffle/egl/wegl_platform.h | 2 +
src/waffle/egl/{wegl_window.c => wegl_surface.c} | 79 ++++++++---
src/waffle/egl/{wegl_window.h => wegl_surface.h} | 17 ++-
src/waffle/egl/wegl_util.c | 4 +-
src/waffle/gbm/wgbm_window.c | 4 +-
src/waffle/gbm/wgbm_window.h | 6 +-
src/waffle/surfaceless_egl/sl_display.c | 70 ++++++++++
src/waffle/surfaceless_egl/sl_display.h | 45 +++++++
src/waffle/surfaceless_egl/sl_platform.c | 144 +++++++++++++++++++++
src/waffle/surfaceless_egl/sl_platform.h | 49 +++++++
src/waffle/surfaceless_egl/sl_window.c | 92 +++++++++++++
src/waffle/surfaceless_egl/sl_window.h | 53 ++++++++
src/waffle/wayland/wayland_window.c | 4 +-
src/waffle/wayland/wayland_window.h | 6 +-
src/waffle/xegl/xegl_platform.c | 2 +-
src/waffle/xegl/xegl_window.c | 2 +-
src/waffle/xegl/xegl_window.h | 6 +-
tests/functional/gl_basic_test.c | 17 +++
34 files changed, 636 insertions(+), 52 deletions(-)
rename src/waffle/egl/{wegl_window.c => wegl_surface.c} (55%)
rename src/waffle/egl/{wegl_window.h => wegl_surface.h} (80%)
create mode 100644 src/waffle/surfaceless_egl/sl_display.c
create mode 100644 src/waffle/surfaceless_egl/sl_display.h
create mode 100644 src/waffle/surfaceless_egl/sl_platform.c
create mode 100644 src/waffle/surfaceless_egl/sl_platform.h
create mode 100644 src/waffle/surfaceless_egl/sl_window.c
create mode 100644 src/waffle/surfaceless_egl/sl_window.h
--
2.10.0
More information about the waffle
mailing list