[PATCH 2/7] opengl32: Regenerate for WGL_WINE_fullscreen_exclusive.
Francois Gouget
fgouget at codeweavers.com
Tue Mar 10 06:30:10 CDT 2020
On Sat, 7 Mar 2020, Rémi Bernon wrote:
> Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
> ---
>
> I wasn't sure if this was required, but the testbot doesn't regenerate
> theses apparently. Also, I manually edited the generated files to only
> include the new extension, it looks like the file is a bit outdated
> compared to the OpenGL registry.
[...]
> -const int extension_registry_size = 2679;
> +const int extension_registry_size = 2680;
So that's strange. When I run make_opengl extension_registry_size grows
to 2695 and Wine does not compile because gl.xml now depends on
khronos_*_t types that we don't have in Wine:
In file included from ../d3dx9_36/txc_dxtn.h:29,
from ../d3dx9_36/surface.c:28:
../../include/wine/wgl.h:14:9: error: unknown type name ‘khronos_int8_t’
typedef khronos_int8_t GLbyte;
^~~~~~~~~~~~~~
This seems to come from:
diff --git a/include/wine/wgl.h b/include/wine/wgl.h
index d4fe96025d1..f3ddbe3eb45 100644
--- a/include/wine/wgl.h
+++ b/include/wine/wgl.h
@@ -11,32 +11,32 @@ typedef unsigned int GLenum;
typedef unsigned char GLboolean;
typedef unsigned int GLbitfield;
typedef void GLvoid;
-typedef signed char GLbyte;
-typedef short GLshort;
+typedef khronos_int8_t GLbyte;
+typedef khronos_uint8_t GLubyte;
+typedef khronos_int16_t GLshort;
+typedef khronos_uint16_t GLushort;
And from gl.xml before that:
<type name="khrplatform">#include <KHR/khrplatform.h></type>
[...]
<type requires="khrplatform">typedef khronos_int8_t <name>GLbyte</name>;</type>
<type requires="khrplatform">typedef khronos_uint8_t <name>GLubyte</name>;</type>
<type requires="khrplatform">typedef khronos_int16_t <name>GLshort</name>;</type>
<type requires="khrplatform">typedef khronos_uint16_t <name>GLushort</name>;</type>
The khronos_*_t types seem to have been introduced back in mid 2018 in
the 1e2f5a0d commit.
https://github.com/KhronosGroup/OpenGL-Registry/commit/1e2f5a0d5dddae4beafb204e770fb91efa6be377
Is there a trick to running make_opengl?
I see three options:
* Tweak the wget URLs to retrieve older versions of gl.xml and wgl.xml.
Which would likely freeze the extension registry to about 2680.
* Add the khronos_*_t types to Wine (but I don't see them in the
Windows headers).
* Tweak make_opengl to remove the khronos_*_t references when generating
the source files.
--
Francois Gouget <fgouget at codeweavers.com>
More information about the wine-devel
mailing list