Re: [waffle] Some new and old fixes
On 15/07/14 18:14, Emil Velikov wrote: On 15/07/14 17:30, Jose Fonseca wrote: On 15/07/14 17:22, Emil Velikov wrote: On 15/07/14 15:35, Jose Fonseca wrote: On 07/07/14 18:28, Emil Velikov wrote: Hi all, After respinning the latest changes (and ripping out WGL as it requires some api/abi changes) here is a lovely list of fixes that gets us closer to building waffle with mingw/msvc. The first four patches are old (three cgl fixes that Chad would like to test prior to pushing them + a patch from Chad). Then a few misc fixes (not related to win32/mingw/msvc) followed by the addition of c99_compat header (inspired by mesa) and a couple of third_party util libs. The last 13 or so patches cover msvc quirks where it should work but instead it dies agony. Please give the series a look and/or bash. Currently is available at https://urldefense.proofpoint.com/v1/url?u=https://github.com/evelikov/waffle&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=NMr9uy2iTjWVixC0wOcYCWEIYhfo80qKwRgdodpoDzA%3D%0A&m=0eeLUEWkgi57miMy0UePE0pWYjRgjZiB06NM%2F5MlJqo%3D%0A&s=27d08d81fd336f9617452db8811cafefdc23443a9858d65d0981c3248160b538 in the for-upstream-3 branch. Cheers, Emil ___ waffle mailing list waffle@lists.freedesktop.org https://urldefense.proofpoint.com/v1/url?u=http://lists.freedesktop.org/mailman/listinfo/waffle&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=NMr9uy2iTjWVixC0wOcYCWEIYhfo80qKwRgdodpoDzA%3D%0A&m=0eeLUEWkgi57miMy0UePE0pWYjRgjZiB06NM%2F5MlJqo%3D%0A&s=b976daaa17d48cd129ecda15d09768b1a9d4196151bd4a92da50a2a6fa28af73 I tried to build this branch with mingw/msvc but I get CMake Error at cmake/Modules/WaffleDefineOS.cmake:31 (message): Unrecognized CMAKE_SYSTEM_NAME="Windows" Is that expected? Jose Yes that is expected as these patches (the branch) do _not_ include WGL support but are generic fixes. I would like to get the WGL in soon after this yet that will require version bump as I have introduced a couple API changes. Meanwhile if you're around I would appreciate if you can give me some tips on how to get msvc 2013 non *_xp platform working. This is why I wanted to build it myself -- so I can try to repro whatever problems you're having. As mentioned previously the problem is not specific to waffle. A blank Hello World C project exhibits the same issue. The patches + wgl can be found at branch temp - note it's very messy in there :\ IMO, it would be better the patches to enable building with MSVC are commited before, and not after, the generic patches. So that people other than yourself can try build it, and verify that your patches do what's expected. Ack. Will take a look at squashing WGL into a few commits and getting those in as well ASAP. I have installed the following (in the exact order) * Win 7 64bit Professional * MSVC 2013 Ultimate * Microsoft Visual Studio 2013 SDK I'm not sure what this "Visual Studio 2013 SDK" is, but I doubt it's necessary. AFAIK the package provides of the basic windows sdk. Without it there is not even a single core header/import library (windows.h, kernel.lib...) present on my harddrive. And obviously no C programs that rely on those manage to build. Very weird. I made a very simple cmake hello world and uploaded to http://people.freedesktop.org/~jrfonseca/cmake-msvc/ . Run build.cmd. http://people.freedesktop.org/~jrfonseca/cmake-msvc/build.log is what I got here. MFC seems to work, I'm assuming that .NET works as well _without_ the sdk :\ The normal (v120) platform toolkit complains about missing headers (including windows.h) and import libraries. I have yet to find any useful information on the web about MSVC 2013, and all the "fixes" are not helping - "copy everything from the xp profile to the normal one" or "format and reinstall everything including windows". If you know a certain setup (the non-ultimate compiler ?)/install order or other way of resolving this I'm all ears. I've spend 3+ days on this already :\ I have Visual Studio Ultimate 2013 and it works fine. I would appreciate if you can find out where SDKDDKVer.h and windows.h are located for the v120 toolset and which program provided them. Here it is: > call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\\..\..\VC\vcvarsall.bat" x86 > echo INCLUDE=%INCLUDE% INCLUDE=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE;C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\ATLMFC\INCLUDE;C:\Program Files (x 86)\Windows Kits\8.1\include\shared;C:\Program Files (x86)\Windows Kits\8.1\include\um;C:\Program Files (x86)\Windows Kits\8.1\include\winrt; > dir "c:\Program Files (x86)\Windows Kits\8.1\Include\um\windows.h" Volume in drive C has no label. Volume Serial Number is 2E86-CC19 Directory of c:\Program Files (x86)\Windows Kits\8.1\Include\um 21/08/2013 16:38 6,630 Windows.h 1 File(s) 6,630 bytes 0 Dir(s) 101,239,664,640 bytes fre
Re: [waffle] Some new and old fixes
On 15/07/14 17:30, Jose Fonseca wrote: > On 15/07/14 17:22, Emil Velikov wrote: >> On 15/07/14 15:35, Jose Fonseca wrote: >>> On 07/07/14 18:28, Emil Velikov wrote: Hi all, After respinning the latest changes (and ripping out WGL as it requires some api/abi changes) here is a lovely list of fixes that gets us closer to building waffle with mingw/msvc. The first four patches are old (three cgl fixes that Chad would like to test prior to pushing them + a patch from Chad). Then a few misc fixes (not related to win32/mingw/msvc) followed by the addition of c99_compat header (inspired by mesa) and a couple of third_party util libs. The last 13 or so patches cover msvc quirks where it should work but instead it dies agony. Please give the series a look and/or bash. Currently is available at https://urldefense.proofpoint.com/v1/url?u=https://github.com/evelikov/waffle&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=NMr9uy2iTjWVixC0wOcYCWEIYhfo80qKwRgdodpoDzA%3D%0A&m=0eeLUEWkgi57miMy0UePE0pWYjRgjZiB06NM%2F5MlJqo%3D%0A&s=27d08d81fd336f9617452db8811cafefdc23443a9858d65d0981c3248160b538 in the for-upstream-3 branch. Cheers, Emil ___ waffle mailing list waffle@lists.freedesktop.org https://urldefense.proofpoint.com/v1/url?u=http://lists.freedesktop.org/mailman/listinfo/waffle&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=NMr9uy2iTjWVixC0wOcYCWEIYhfo80qKwRgdodpoDzA%3D%0A&m=0eeLUEWkgi57miMy0UePE0pWYjRgjZiB06NM%2F5MlJqo%3D%0A&s=b976daaa17d48cd129ecda15d09768b1a9d4196151bd4a92da50a2a6fa28af73 >>> >>> I tried to build this branch with mingw/msvc but I get >>> >>>CMake Error at cmake/Modules/WaffleDefineOS.cmake:31 (message): >>>Unrecognized CMAKE_SYSTEM_NAME="Windows" >>> >>> Is that expected? >>> >>> Jose >> Yes that is expected as these patches (the branch) do _not_ include WGL >> support but are generic fixes. I would like to get the WGL in soon after this >> yet that will require version bump as I have introduced a couple API changes. >> >> Meanwhile if you're around I would appreciate if you can give me some tips on >> how to get msvc 2013 non *_xp platform working. > > This is why I wanted to build it myself -- so I can try to repro whatever > problems you're having. > As mentioned previously the problem is not specific to waffle. A blank Hello World C project exhibits the same issue. The patches + wgl can be found at branch temp - note it's very messy in there :\ > IMO, it would be better the patches to enable building with MSVC are commited > before, and not after, the generic patches. So that people other than yourself > can try build it, and verify that your patches do what's expected. > Ack. Will take a look at squashing WGL into a few commits and getting those in as well ASAP. >> >> I have installed the following (in the exact order) >> * Win 7 64bit Professional >> * MSVC 2013 Ultimate >> * Microsoft Visual Studio 2013 SDK > > I'm not sure what this "Visual Studio 2013 SDK" is, but I doubt it's > necessary. > AFAIK the package provides of the basic windows sdk. Without it there is not even a single core header/import library (windows.h, kernel.lib...) present on my harddrive. And obviously no C programs that rely on those manage to build. MFC seems to work, I'm assuming that .NET works as well _without_ the sdk :\ >> >> The normal (v120) platform toolkit complains about missing headers (including >> windows.h) and import libraries. I have yet to find any useful information on >> the web about MSVC 2013, and all the "fixes" are not helping - "copy >> everything from the xp profile to the normal one" or "format and reinstall >> everything including windows". >> >> If you know a certain setup (the non-ultimate compiler ?)/install order or >> other way of resolving this I'm all ears. I've spend 3+ days on this already >> :\ > > I have Visual Studio Ultimate 2013 and it works fine. > I would appreciate if you can find out where SDKDDKVer.h and windows.h are located for the v120 toolset and which program provided them. >> >> Thanks >> Emil >> > > Which cmake version are you using? > cmake-3.0.0-win32-x86 + python-2.7.7-win32 -Emil > > Jose ___ waffle mailing list waffle@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/waffle
Re: [waffle] Some new and old fixes
On 15/07/14 17:22, Emil Velikov wrote: On 15/07/14 15:35, Jose Fonseca wrote: On 07/07/14 18:28, Emil Velikov wrote: Hi all, After respinning the latest changes (and ripping out WGL as it requires some api/abi changes) here is a lovely list of fixes that gets us closer to building waffle with mingw/msvc. The first four patches are old (three cgl fixes that Chad would like to test prior to pushing them + a patch from Chad). Then a few misc fixes (not related to win32/mingw/msvc) followed by the addition of c99_compat header (inspired by mesa) and a couple of third_party util libs. The last 13 or so patches cover msvc quirks where it should work but instead it dies agony. Please give the series a look and/or bash. Currently is available at https://urldefense.proofpoint.com/v1/url?u=https://github.com/evelikov/waffle&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=NMr9uy2iTjWVixC0wOcYCWEIYhfo80qKwRgdodpoDzA%3D%0A&m=0eeLUEWkgi57miMy0UePE0pWYjRgjZiB06NM%2F5MlJqo%3D%0A&s=27d08d81fd336f9617452db8811cafefdc23443a9858d65d0981c3248160b538 in the for-upstream-3 branch. Cheers, Emil ___ waffle mailing list waffle@lists.freedesktop.org https://urldefense.proofpoint.com/v1/url?u=http://lists.freedesktop.org/mailman/listinfo/waffle&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=NMr9uy2iTjWVixC0wOcYCWEIYhfo80qKwRgdodpoDzA%3D%0A&m=0eeLUEWkgi57miMy0UePE0pWYjRgjZiB06NM%2F5MlJqo%3D%0A&s=b976daaa17d48cd129ecda15d09768b1a9d4196151bd4a92da50a2a6fa28af73 I tried to build this branch with mingw/msvc but I get CMake Error at cmake/Modules/WaffleDefineOS.cmake:31 (message): Unrecognized CMAKE_SYSTEM_NAME="Windows" Is that expected? Jose Yes that is expected as these patches (the branch) do _not_ include WGL support but are generic fixes. I would like to get the WGL in soon after this yet that will require version bump as I have introduced a couple API changes. Meanwhile if you're around I would appreciate if you can give me some tips on how to get msvc 2013 non *_xp platform working. This is why I wanted to build it myself -- so I can try to repro whatever problems you're having. IMO, it would be better the patches to enable building with MSVC are commited before, and not after, the generic patches. So that people other than yourself can try build it, and verify that your patches do what's expected. I have installed the following (in the exact order) * Win 7 64bit Professional * MSVC 2013 Ultimate * Microsoft Visual Studio 2013 SDK I'm not sure what this "Visual Studio 2013 SDK" is, but I doubt it's necessary. The normal (v120) platform toolkit complains about missing headers (including windows.h) and import libraries. I have yet to find any useful information on the web about MSVC 2013, and all the "fixes" are not helping - "copy everything from the xp profile to the normal one" or "format and reinstall everything including windows". If you know a certain setup (the non-ultimate compiler ?)/install order or other way of resolving this I'm all ears. I've spend 3+ days on this already :\ I have Visual Studio Ultimate 2013 and it works fine. Thanks Emil Which cmake version are you using? Jose ___ waffle mailing list waffle@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/waffle
Re: [waffle] Some new and old fixes
On 15/07/14 15:35, Jose Fonseca wrote: > On 07/07/14 18:28, Emil Velikov wrote: >> Hi all, >> >> After respinning the latest changes (and ripping out WGL as it requires some >> api/abi changes) here is a lovely list of fixes that gets us closer to >> building >> waffle with mingw/msvc. >> >> The first four patches are old (three cgl fixes that Chad would like to test >> prior to pushing them + a patch from Chad). >> >> Then a few misc fixes (not related to win32/mingw/msvc) followed by the >> addition >> of c99_compat header (inspired by mesa) and a couple of third_party util >> libs. >> >> The last 13 or so patches cover msvc quirks where it should work but instead >> it dies agony. >> >> Please give the series a look and/or bash. >> >> Currently is available at >> https://urldefense.proofpoint.com/v1/url?u=https://github.com/evelikov/waffle&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=NMr9uy2iTjWVixC0wOcYCWEIYhfo80qKwRgdodpoDzA%3D%0A&m=0eeLUEWkgi57miMy0UePE0pWYjRgjZiB06NM%2F5MlJqo%3D%0A&s=27d08d81fd336f9617452db8811cafefdc23443a9858d65d0981c3248160b538 >> in the >> for-upstream-3 branch. >> >> >> Cheers, >> Emil >> >> ___ >> waffle mailing list >> waffle@lists.freedesktop.org >> https://urldefense.proofpoint.com/v1/url?u=http://lists.freedesktop.org/mailman/listinfo/waffle&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=NMr9uy2iTjWVixC0wOcYCWEIYhfo80qKwRgdodpoDzA%3D%0A&m=0eeLUEWkgi57miMy0UePE0pWYjRgjZiB06NM%2F5MlJqo%3D%0A&s=b976daaa17d48cd129ecda15d09768b1a9d4196151bd4a92da50a2a6fa28af73 >> >> > > I tried to build this branch with mingw/msvc but I get > > CMake Error at cmake/Modules/WaffleDefineOS.cmake:31 (message): > Unrecognized CMAKE_SYSTEM_NAME="Windows" > > Is that expected? > > Jose Yes that is expected as these patches (the branch) do _not_ include WGL support but are generic fixes. I would like to get the WGL in soon after this yet that will require version bump as I have introduced a couple API changes. Meanwhile if you're around I would appreciate if you can give me some tips on how to get msvc 2013 non *_xp platform working. I have installed the following (in the exact order) * Win 7 64bit Professional * MSVC 2013 Ultimate * Microsoft Visual Studio 2013 SDK The normal (v120) platform toolkit complains about missing headers (including windows.h) and import libraries. I have yet to find any useful information on the web about MSVC 2013, and all the "fixes" are not helping - "copy everything from the xp profile to the normal one" or "format and reinstall everything including windows". If you know a certain setup (the non-ultimate compiler ?)/install order or other way of resolving this I'm all ears. I've spend 3+ days on this already :\ Thanks Emil ___ waffle mailing list waffle@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/waffle
Re: [waffle] Some new and old fixes
On 15/07/14 15:35, Jose Fonseca wrote: On 07/07/14 18:28, Emil Velikov wrote: Hi all, After respinning the latest changes (and ripping out WGL as it requires some api/abi changes) here is a lovely list of fixes that gets us closer to building waffle with mingw/msvc. The first four patches are old (three cgl fixes that Chad would like to test prior to pushing them + a patch from Chad). Then a few misc fixes (not related to win32/mingw/msvc) followed by the addition of c99_compat header (inspired by mesa) and a couple of third_party util libs. The last 13 or so patches cover msvc quirks where it should work but instead it dies agony. Please give the series a look and/or bash. Currently is available at https://urldefense.proofpoint.com/v1/url?u=https://github.com/evelikov/waffle&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=NMr9uy2iTjWVixC0wOcYCWEIYhfo80qKwRgdodpoDzA%3D%0A&m=0eeLUEWkgi57miMy0UePE0pWYjRgjZiB06NM%2F5MlJqo%3D%0A&s=27d08d81fd336f9617452db8811cafefdc23443a9858d65d0981c3248160b538 in the for-upstream-3 branch. Cheers, Emil ___ waffle mailing list waffle@lists.freedesktop.org https://urldefense.proofpoint.com/v1/url?u=http://lists.freedesktop.org/mailman/listinfo/waffle&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=NMr9uy2iTjWVixC0wOcYCWEIYhfo80qKwRgdodpoDzA%3D%0A&m=0eeLUEWkgi57miMy0UePE0pWYjRgjZiB06NM%2F5MlJqo%3D%0A&s=b976daaa17d48cd129ecda15d09768b1a9d4196151bd4a92da50a2a6fa28af73 I tried to build this branch with mingw/msvc but I get CMake Error at cmake/Modules/WaffleDefineOS.cmake:31 (message): Unrecognized CMAKE_SYSTEM_NAME="Windows" Is that expected? Jose ___ waffle mailing list waffle@lists.freedesktop.org https://urldefense.proofpoint.com/v1/url?u=http://lists.freedesktop.org/mailman/listinfo/waffle&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=NMr9uy2iTjWVixC0wOcYCWEIYhfo80qKwRgdodpoDzA%3D%0A&m=YJhITSIo0uXhla76OWwW3MvMqY%2By%2B%2FdnBUwx2AJ8Yzk%3D%0A&s=74e7919dffab8644485f15fc31efda736dabd5df8d20c9707f9408543fe8760e Anyway, patches look good to me AFAICT. Jose ___ waffle mailing list waffle@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/waffle
Re: [waffle] [PATCH 10/33] cmake: build with fPIC when possible
On 07/07/14 18:28, Emil Velikov wrote: Some of our third_party libraries may be build without it thus we'll fail at link tim. Signed-off-by: Emil Velikov --- cmake/Modules/WaffleDefineCompilerFlags.cmake | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cmake/Modules/WaffleDefineCompilerFlags.cmake b/cmake/Modules/WaffleDefineCompilerFlags.cmake index 4d149c8..96a7a10 100644 --- a/cmake/Modules/WaffleDefineCompilerFlags.cmake +++ b/cmake/Modules/WaffleDefineCompilerFlags.cmake @@ -50,6 +50,8 @@ if(waffle_on_linux) waffle_add_c_flag("-Werror=missing-prototypes" WERROR_MISSING_PROTOTYPES) endif() +waffle_add_c_flag("-fPIC" WITH_FPIC) + waffle_check_thread_local_storage() if(waffle_has_tls) Another way of fixing this is doing like in Apitrace: - https://github.com/apitrace/apitrace/blob/master/cmak/ConvenienceLibrary.cmake - https://github.com/apitrace/apitrace/commit/c56b9acc6abcae465b916f6ebafa3a282d1f36fc This gives more control. For example, unlike a blanket -FPIC flag, executables won't be needlessly compiled with FPIC. Jose ___ waffle mailing list waffle@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/waffle
Re: [waffle] [PATCH 06/33] wflinfo: use waffle_dl_sym to get core functions
On 07/07/2014 10:28 AM, Emil Velikov wrote: > Unlike MacOS and Linux, Windows is less fortunate to people who > prefer to fetch core OpenGL symbols via wglGetProcAddress. > > Until we merge piglit's dispatch in one shape or the other, we'll > need to manually pick/set the correct function that is used for > each function. In theory, this patch should also fix wflinfo on some ARM Chrome OS devices. I've heard that eglGetProcAddress returns null when querying non-extension functions on Mali. (The EGL 1.4 spec allows that behavior). Reviewed-by: Chad Versace ___ waffle mailing list waffle@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/waffle
Re: [waffle] Some new and old fixes
On 07/07/14 18:28, Emil Velikov wrote: Hi all, After respinning the latest changes (and ripping out WGL as it requires some api/abi changes) here is a lovely list of fixes that gets us closer to building waffle with mingw/msvc. The first four patches are old (three cgl fixes that Chad would like to test prior to pushing them + a patch from Chad). Then a few misc fixes (not related to win32/mingw/msvc) followed by the addition of c99_compat header (inspired by mesa) and a couple of third_party util libs. The last 13 or so patches cover msvc quirks where it should work but instead it dies agony. Please give the series a look and/or bash. Currently is available at https://urldefense.proofpoint.com/v1/url?u=https://github.com/evelikov/waffle&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=NMr9uy2iTjWVixC0wOcYCWEIYhfo80qKwRgdodpoDzA%3D%0A&m=0eeLUEWkgi57miMy0UePE0pWYjRgjZiB06NM%2F5MlJqo%3D%0A&s=27d08d81fd336f9617452db8811cafefdc23443a9858d65d0981c3248160b538 in the for-upstream-3 branch. Cheers, Emil ___ waffle mailing list waffle@lists.freedesktop.org https://urldefense.proofpoint.com/v1/url?u=http://lists.freedesktop.org/mailman/listinfo/waffle&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=NMr9uy2iTjWVixC0wOcYCWEIYhfo80qKwRgdodpoDzA%3D%0A&m=0eeLUEWkgi57miMy0UePE0pWYjRgjZiB06NM%2F5MlJqo%3D%0A&s=b976daaa17d48cd129ecda15d09768b1a9d4196151bd4a92da50a2a6fa28af73 I tried to build this branch with mingw/msvc but I get CMake Error at cmake/Modules/WaffleDefineOS.cmake:31 (message): Unrecognized CMAKE_SYSTEM_NAME="Windows" Is that expected? Jose ___ waffle mailing list waffle@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/waffle
Re: [waffle] [PATCH 05/33] api: remove double NULL check
On 07/07/2014 10:28 AM, Emil Velikov wrote: > We check if the object is NULL before appending it to the > obj_list and a second time as we append it. Drop the latter > as it makes the code more confusing than it needs to be. > > Signed-off-by: Emil Velikov > --- > src/waffle/api/waffle_context.c | 2 +- > src/waffle/api/waffle_gl_misc.c | 4 ++-- > 2 files changed, 3 insertions(+), 3 deletions(-) Reviewed-by: Chad Versace ___ waffle mailing list waffle@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/waffle
Re: [waffle] [PATCH 03/33] cgl: avoid leaking the PixelFormat
Patches 1-3 look good and are committed to master. ___ waffle mailing list waffle@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/waffle