[PATCH v2 2/2] winevulkan: Generate constants for 64bit flags.
Francois Gouget
fgouget at codeweavers.com
Thu Mar 11 10:20:00 CST 2021
On Fri, 5 Mar 2021, Georg Lehmann wrote:
> Fixes one of the issue related to the changes for VK_KHR_synchronization2.
So I guess the unspecified issue is that in C98 and older it's not
possible to specify 64-bit literals in an enum?
So the workaround is to declare these as 'static const' variables
instead?
The trouble is that using const variables as initializers is
questionable. For instance it fails with i686-w64-mingw32-gcc 6.3.0:
i686-w64-mingw32-gcc -c -o dlls/vulkan-1/tests/vulkan.cross.o
../wine/dlls/vulkan-1/tests/vulkan.c -Idlls/vulkan-1/tests \
-I../wine/dlls/vulkan-1/tests -Iinclude -I../wine/include
-I../wine/include/msvcrt -D__WINESRC__ \
-D_MSVCR_VER=0 -DWINE_CROSS_PE -Wall -fno-strict-aliasing
-Wdeclaration-after-statement \
-Wempty-body -Wignored-qualifiers -Wshift-overflow=2
-Wstrict-prototypes -Wtype-limits \
-Wunused-but-set-parameter -Wvla -Wwrite-strings -Wpointer-arith
-Wlogical-op \
-fno-omit-frame-pointer -gdwarf-2 -gstrict-dwarf -g -O2
tools/winebuild/winebuild -b i686-w64-mingw32 -w --implib -o
dlls/vulkan-1/libvulkan-1.cross.a --export \
../wine/dlls/vulkan-1/vulkan-1.spec
In file included from ../wine/dlls/vulkan-1/tests/vulkan.c:21:0:
../wine/include/wine/vulkan.h:750:80: error: initializer element is not constant
static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV =
VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[...]
I'll grant you that MinGW 6.3.0 is somewhat old (20170516, Debian 9) and
MinGW 8.3-win32 (from Debian 10) allows it. But do we really have to
rely on this?
Currently this impacts the TestBot's build VM:
https://testbot.winehq.org/JobDetails.pl?Key=86814
By the way, why was this patch committed without also refreshing
include/wine/vulkan.h? I guess that's a good thing as this avoids
completely breaking the TestBot. But this still does not feel right.
--
Francois Gouget <fgouget at codeweavers.com>
More information about the wine-devel
mailing list