[PATCH 2/7] opengl32: Regenerate for WGL_WINE_fullscreen_exclusive.

Rémi Bernon rbernon at codeweavers.com
Tue Mar 10 07:15:49 CDT 2020


On 3/10/20 12:30 PM, Francois Gouget wrote:
> 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.
> 
> 

Yeah, as I said in the notes I had the same issue, so I manually edited 
the generated files to only keep my new extension. I wasn't sure how 
this should be handled. I can try to fix it upfront.
-- 
Rémi Bernon <rbernon at codeweavers.com>



More information about the wine-devel mailing list