[waffle] [PULL] Waffle WGL support

Emil Velikov emil.l.velikov at gmail.com
Thu Aug 21 05:01:50 PDT 2014


Hello Chad,

Please consider pulling the series into origin/next.

Highlights:
 - WGL support for waffle
   - Just works (tm).
   - Only single window per config is supported.
   - Single API/ABI change - waffle_get_proc_address().
   - Waffle version is unchanged.
 - Misc clean-ups and fixes in waffle core and utils.
 - Tests are currently broken - will be fixed by the next pull request.

Cheers,
Emil

The following changes since commit 3557ab49bf125dce7401659b75fdf0daeddbc6af:

  Merge branch 'master' into next (2014-08-13 14:50:29 -0700)

are available in the git repository at:

  https://github.com/evelikov/waffle.git for-upstream-WGL+fixes-pull

for you to fetch changes up to 0d4ffa247581e7b1b1adae84f88c8b14692c2e83:

  examples/gl_basic: move variable declaration before code (2014-08-21
12:39:44 +0100)

----------------------------------------------------------------
Emil Velikov (31):
      android: misc build fixes
      pkg/archlinux: add mingw-w64-waffle package
      README: Add notes when building Waffle for Windows.
      wgl: add skeleton implementation
      wgl: fill up the dl_* hooks
      wgl: implement display management
      wgl: wire-up wgl_window and wgl_config hooks
      api: make waffle_get_proc_address() display aware
      wgl: add context hooks
      wgl: check for various WGL extensions and fetch their funcptrs
      wgl: use wglChoosePixelFormatARB when available
      wgl: fully support ARB_create_context and EXT_create_context_es_profile.
      wgl: provide static GLES* symbols (dlsym) via opengl32.dll
      cmake: set most compiler flags/defines in a single location
      cmake: drop the waffle library prefix on Windows
      wgl: restrict exported symbols via module-definition file
      wgl: avoid using container_of and DEFINE_CONTAINER_CAST_FUNC macros
      tests: do not force gcc compiler flags onto msvc
      tests/gl_basic_test: don't include posix headers when building for win32
      core: wcore_error_unittest include c99_compat.h
      examples/gl_basic: use native sleep functions
      core: use compiler specific (noreturn) attribute
      examples/gl_basic: use compiler specific (noreturn) attribute
      utils/wflinfo: use compiler specific (noreturn) attribute
      examples/simple-x11-egl: properly annotate the function pointers
      examples/gl_basic: properly annotate the function pointers
      utils/wflinfo: properly annotate the function pointers
      tests/gl_basic_test: properly annotate the function pointers
      utils/wflinfo: use define to provide buffer length
      utils/wflinfo: wrap if (glHamSandwich() != GL_NO_ERROR ||...) in curly
brackets
      examples/gl_basic: move variable declaration before code

 Android.mk                                         |   7 +-
 README.txt                                         | 177 +++++++++++-
 cmake/Modules/WaffleDefineCompilerFlags.cmake      | 107 ++++++--
 cmake/Modules/WaffleDefineOS.cmake                 |   2 +
 .../Modules/WafflePrintConfigurationSummary.cmake  |   6 +
 cmake/Modules/WaffleValidateOptions.cmake          |  13 +
 examples/gl_basic.c                                |  49 +++-
 examples/simple-x11-egl.c                          |  12 +-
 include/waffle/waffle.h                            |   4 +-
 man/waffle_display.3.xml                           |   2 +-
 man/waffle_enum.3.xml                              |   1 +
 man/waffle_get_proc_address.3.xml                  |  18 +-
 man/waffle_init.3.xml                              |   8 +
 man/waffle_is_extension_in_string.3.xml            |   2 +-
 man/wflinfo.1.xml                                  |   1 +
 pkg/archlinux/mingw-w64-waffle/PKGBUILD            |  86 ++++++
 src/utils/wflinfo.c                                |  55 ++--
 src/waffle/CMakeLists.txt                          |  39 ++-
 src/waffle/api/api_priv.h                          |   3 +-
 src/waffle/api/waffle_gl_misc.c                    |  12 +-
 src/waffle/api/waffle_init.c                       |  11 +
 src/waffle/cgl/cgl_platform.m                      |   4 +-
 src/waffle/core/wcore_error.c                      |   2 -
 src/waffle/core/wcore_error_unittest.c             |   6 +-
 src/waffle/core/wcore_platform.h                   |   1 +
 src/waffle/core/wcore_tinfo.c                      |  10 +-
 src/waffle/core/wcore_util.c                       |   1 +
 src/waffle/egl/wegl_util.c                         |   4 +-
 src/waffle/egl/wegl_util.h                         |   4 +-
 src/waffle/glx/glx_platform.c                      |   1 +
 src/waffle/waffle.def.in                           |  33 +++
 src/waffle/wgl/wgl_config.c                        | 300 +++++++++++++++++++++
 src/waffle/wgl/wgl_config.h                        |  61 +++++
 src/waffle/wgl/wgl_context.c                       | 212 +++++++++++++++
 src/waffle/wgl/wgl_context.h                       |  53 ++++
 src/waffle/wgl/wgl_display.c                       | 275 +++++++++++++++++++
 src/waffle/wgl/wgl_display.h                       |  81 ++++++
 src/waffle/wgl/wgl_dl.c                            | 143 ++++++++++
 src/waffle/wgl/wgl_dl.h                            |  43 +++
 src/waffle/wgl/wgl_error.c                         |  48 ++++
 src/waffle/wgl/wgl_error.h                         |  32 +++
 src/waffle/wgl/wgl_platform.c                      | 189 +++++++++++++
 src/waffle/wgl/wgl_platform.h                      |  53 ++++
 src/waffle/wgl/wgl_window.c                        | 202 ++++++++++++++
 src/waffle/wgl/wgl_window.h                        |  77 ++++++
 src/waffle_test/wt_runner.c                        |   4 -
 tests/functional/CMakeLists.txt                    |  12 +-
 tests/functional/gl_basic_test.c                   |  43 +--
 third_party/threads/CMakeLists.txt                 |   2 -
 third_party/threads/threads_posix.c                |   2 +-
 50 files changed, 2389 insertions(+), 124 deletions(-)
 create mode 100644 pkg/archlinux/mingw-w64-waffle/PKGBUILD
 create mode 100644 src/waffle/waffle.def.in
 create mode 100644 src/waffle/wgl/wgl_config.c
 create mode 100644 src/waffle/wgl/wgl_config.h
 create mode 100644 src/waffle/wgl/wgl_context.c
 create mode 100644 src/waffle/wgl/wgl_context.h
 create mode 100644 src/waffle/wgl/wgl_display.c
 create mode 100644 src/waffle/wgl/wgl_display.h
 create mode 100644 src/waffle/wgl/wgl_dl.c
 create mode 100644 src/waffle/wgl/wgl_dl.h
 create mode 100644 src/waffle/wgl/wgl_error.c
 create mode 100644 src/waffle/wgl/wgl_error.h
 create mode 100644 src/waffle/wgl/wgl_platform.c
 create mode 100644 src/waffle/wgl/wgl_platform.h
 create mode 100644 src/waffle/wgl/wgl_window.c
 create mode 100644 src/waffle/wgl/wgl_window.h



More information about the waffle mailing list