[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