[waffle] [PATCH 16/33] third_party/threads: import c11 threads emulation wrappers

Emil Velikov emil.l.velikov at gmail.com
Mon Jul 21 09:45:15 PDT 2014


On 17/07/14 05:40, Chad Versace wrote:
> Emil,
> 
> I'm finished reviewing for today, and am stopping here at patch 16. I'll
> resume reviewing tomorrow.
> 
> I see that you're collecting reviewed-by tags and cleanups on versioned
> brancehs (for-upstream-3.*). I will defer cherry-picking patches off the
> mailing list onto master; and instead will wait for you to send merge
> requests, because I assume that was your intended workflow. If you want
> to do things differently, let me know.
> 
Hi Chad,

I do not mind either way (cherry-picking or sending pull requests), I mostly
work this way to have a form of an incremental build-up based on the feedback
received.

Changes in for-upstream-3.2:
 - addressed your initial comments
 - dropped patch 10 (add -fPIC for the whole of waffle)
 - updated patch 17 (introduce third_party/threads) to build with PIC
 - squashed two warnings in the threads library (separate commits so that I
can get them back in mesa)
 - cleaned/simplified up the cmocka build to make it possible to make it
buildable in cross-builds and/or windows

A bit more work on separate branches
 - cleaned up a few cmocka warnings, sent the fixes upstream - not merged yet
 - de-duplicated the platform specific tests in gl_basic_test, having fun with
porting run_testsuite() - fork(), waitpid()... to win32
 - moved libEGL from link dependency to dlopen() at runtime - got bored of
reading MS documents
 - added basic wgl support for piglit - might not be as straight forward as I
expected, see below for more

Brian, Jose,

Short summary at my next obstacle and my current ideas/possible solutions

piglit, glut and waffle:
 1) waffle abstracts windows and gl management and is capable of returning the
native objects (window, ctx...)
 2) but does not do any input -> piglit + waffle uses linux (posix/unix?)
specific input code.


 1) My present WGL code does not have the *.get_native() hooks. Currently
beating them into shape.

 2) AFAICS there are ways to address the input issue
 a) rip out the glut completely and write Windows specific code for the input
handling. I have close to zero experience in this area, any suggestions ? What
would happen with other platforms using glut like MacOS ? Is it even possible
to do that today ?
 b) rip out the glut GL parts but keep the input code in. Seems slightly messy
and I'm not sure it will even work.

Any ideas/suggestions on point 2 above ?

Last but not least - which approach would be the best for getting the WGL code
integrated upstream ?
 1) one big code blob
 2) commit one - empty skeleton, two - widows_create, three - window_show...
 3) keep the series as is - small and gradual changes
 4) other ?

I'm leaning towards the third option, yet we're talking about ~25 commits.
Perhaps the second would be a reasonable compromise ?

Cheers,
Emil








More information about the waffle mailing list