--
v3: opengl32: Use stored extensions in filter_extensions.
opengl32: Use stored extension list in is_extension_supported.
opengl32: Compute supported extensions in make_context_current.
opengl32: Split extensions by null bytes in the registry.
https://gitlab.winehq.org/wine/wine/-/merge_requests/9263
There are several motivations to enable ctor/dtor support:
1. ASan. This is not just about my wine-asan work, this is important for @bernhardu's PE asan work as well. The compiler generates ctors that poisons memory around global variables so misuses of them can be caught. This is the same both of our implementations of ASan.
2. Building third-party codebases against wine's CRT. This is not necessary for mingw-gcc or llvm-mingw, but the MSVC frontend of clang is another option for cross-compiling to Windows. However right now that requires Windows SDK. Bringing wine CRT to the point of being functional enough will give us another option. Could be useful for things like Proton.
3. (Controversial) Many dlls perform init/deinit tasks in `DllMain`. Some of them might benefit from a conversion to ctor/dtor.
Since nothing in wine uses ctor/dtor right now, this change shouldn't have any impact by itself.
--
v2: msvcrt: Run ctors and dtors from mainCRTStartup.
https://gitlab.winehq.org/wine/wine/-/merge_requests/9265
There are several motivations to enable ctor/dtor support:
1. ASan. This is not just about my wine-asan work, this is important for @bernhardu's PE asan work as well. The compiler generates ctors that poisons memory around global variables so misuses of them can be caught. This is the same both of our implementations of ASan.
2. Building third-party codebases against wine's CRT. This is not necessary for mingw-gcc or llvm-mingw, but the MSVC frontend of clang is another option for cross-compiling to Windows. However right now that requires Windows SDK. Bringing wine CRT to the point of being functional enough will give us another option. Could be useful for things like Proton.
3. (Controversial) Many dlls perform init/deinit tasks in `DllMain`. Some of them might benefit from a conversion to ctor/dtor.
Since nothing in wine uses ctor/dtor right now, this change shouldn't have any impact by itself.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/9265
--
v2: opengl32: Use stored extensions in filter_extensions.
opengl32: Use stored extension list in is_extension_supported.
opengl32: Compute supported extensions in make_context_current.
https://gitlab.winehq.org/wine/wine/-/merge_requests/9263
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
--
v2: d2d1/tests: Reduce test run count for some tests.
d2d1: Implement Tessellate() for transformed geometries.
d2d1: Implement ComputeArea() for rounded rectangle geometries.
d2d1: Implement ComputeArea() for ellipse geometries.
https://gitlab.winehq.org/wine/wine/-/merge_requests/9251