On Sat, 7 Mar 2020, Rémi Bernon wrote:
Signed-off-by: Rémi Bernon rbernon@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/1e2f5a0d5dddae4beafb2...
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.