Re: [waffle] [PULL] WGL support

2014-11-12 Thread Jose Fonseca
Hi Emil,

I went through the new patches and they look good AFAICT.  Thanks for doing 
this.



While going through wgl: fully support ARB_create_context and 
EXT_create_context_es_profile. again  I noticed a couple of issues with the 
usage of WGL_EXT_create_context_es2_profile that I hadn't noticed before 
because I wasn't familiar with the extension:

- WGL_EXT_create_context_es_profile ignored the opengl version, but 
WGL_EXT_create_context_es2_profile will create any version requested in.

- I believe one must set 
WGL_CONTEXT_MAJOR_VERSION_ARB/WGL_CONTEXT_MINOR_VERSION_ARB when requesting ES 
contexts or one will always get a ES 1.0 context.

- It's OK to assume that WGL_EXT_create_context_es2_profile then 
WGL_EXT_create_context_es_profile is supported, but not the other way around.

  This is because WGL_EXT_create_context_es_profile ignored the version

See Revision History at the bottom of 
https://www.opengl.org/registry/specs/EXT/wgl_create_context_es2_profile.txt 
for details.


Anyway, this is nor urgent -- it can be fixed in a follow on patch.


Jose


From: waffle waffle-boun...@lists.freedesktop.org on behalf of Emil Velikov 
emil.l.veli...@gmail.com
Sent: 09 November 2014 22:58
To: waffle@lists.freedesktop.org
Cc: emil.l.veli...@gmail.com
Subject: [waffle] [PULL] WGL support

Hello Chad,

As mentioned earlier here is a rebase of all the wgl work so far on top
of origin/master.

NOTE: The origin/master branch lacks the first patch in the series, yet
it is present in origin/next. I would suspect that other patches may be
in such state but I haven't checked.

What's new:

- Patch 06/53: wgl: implement display management

Drop we use the root GL context as a fallback context in
waffle_get_proc_address... from the commit message.

- Patch 08/53: wgl: wire-up waffle_get_proc_address()

No more ABI/API break. Infortunatelly this does not give us any
additional cleanups, as we still need to have a GL context in order to
choose the config... lovely WGL.

- Patch 13/53: wgl: provide static GLES* symbols (dlsym) via opengl32.dll

The name says it all, this handles the second ABI/API break that I had
initially and is now withdrawn.

- Patch 46/53: cmake: Set default location for all artifacts to top-level 
directories

Version 2 of your patch, updated to work under Windows. There is no
rpath in there so one needs to put the dll (considered RUNTIME object)
alongside the executables that use it.

- Patch 47/53: cmake: ensure waffle-static name differs from the shared one

Or there will be name collision with the shared waffle objects and
all hell will break loose.


- Patch 48/53: wflinfo: call get_proc_address after make_current

- Patches 49-53/53 are some spelling/grammar fixes.


And a pull request below, considering there aren't any issues with
the series

Thank
Emil

P.S. Handling multiple locations where the waffle version number is
stored is going to be a pain in the a** when releasing waffle. Any
ideas how to handle it ?


The following changes since commit
f16fe1afaa0ecca217d5f90d9f2255ffd570f63a:

  Merge branch 'maint-1.4' (2014-11-08 11:50:52 -0800)

are available in the git repository at:

  
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_evelikov_waffle.gitd=AAIGaQc=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEsr=zfmBZnnVGHeYde45pMKNnVyzeaZbdIqVLprmZCM2zzEm=EGM6H4ulpFPwVnDDH3iPVGd98lc14c_lhS09jYVF5xws=lxQxEL2eOi4ZT2UgL4Ip5ZgShVo5gsGwfiGr2SODtgEe=
  for-chad/wgl-pull

for you to fetch changes up to 8afea079f19ce86e209b5e61158d8890ad187b03:

  man: spelling fix (2014-11-09 22:44:09 +)


Emil Velikov (53):
  cmake: include the CPACK module
  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
  wgl: wire-up waffle_get_proc_address()
  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
  

Re: [waffle] [PULL] WGL support

2014-11-12 Thread Chad Versace

On Wed 12 Nov 2014, Jose Fonseca wrote:

Hi Emil,

I went through the new patches and they look good AFAICT.  Thanks for doing 
this.



While going through wgl: fully support ARB_create_context and 
EXT_create_context_es_profile. again  I noticed a couple of issues with the usage 
of WGL_EXT_create_context_es2_profile that I hadn't noticed before because I wasn't 
familiar with the extension:

- WGL_EXT_create_context_es_profile ignored the opengl version, but 
WGL_EXT_create_context_es2_profile will create any version requested in.

- I believe one must set 
WGL_CONTEXT_MAJOR_VERSION_ARB/WGL_CONTEXT_MINOR_VERSION_ARB when requesting ES 
contexts or one will always get a ES 1.0 context.

- It's OK to assume that WGL_EXT_create_context_es2_profile then 
WGL_EXT_create_context_es_profile is supported, but not the other way around.

 This is because WGL_EXT_create_context_es_profile ignored the version

See Revision History at the bottom of 
https://www.opengl.org/registry/specs/EXT/wgl_create_context_es2_profile.txt for details.


Anyway, this is nor urgent -- it can be fixed in a follow on patch.


Jose, thanks for spotting this bug. It also affects Waffle's GLX 
backend. So we don't forget about the bugs, I created two tickets:


for WGL: https://github.com/waffle-gl/waffle/issues/23
for GLX: https://github.com/waffle-gl/waffle/issues/24
___
waffle mailing list
waffle@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/waffle