-
Martin Storsjö authored
Don't assume that enums and uint32_t parameters are identical. Clang 16 changes the diagonstic for incompatible function pointer types from a warning into an error by default. This fixes the following error, when built (for aarch64, but probably also for other architectures) in MSVC mode: ../src/libs/vkd3d/libs/vkd3d-shader/spirv.c:1083:13: error: incompatible function pointer types passing 'uint32_t (struct vkd3d_spirv_builder *, uint32_t, SpvDim, uint32_t, uint32_t, uint32_t, uint32_t, SpvImageFormat)' (aka 'unsigned int (struct vkd3d_spirv_builder *, unsigned int, enum SpvDim_, unsigned int, unsigned int, unsigned int, unsigned int, enum SpvImageFormat_)') to parameter of type 'vkd3d_spirv_build7_pfn' (aka 'unsigned int (*)(struct vkd3d_spirv_builder *, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)') [-Wincompatible-function-pointer-types] vkd3d_spirv_build_op_type_image); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/libs/vkd3d/libs/vkd3d-shader/spirv.c:612:68: note: passing argument to parameter 'build_pfn' here SpvOp op, const uint32_t *operands, vkd3d_spirv_build7_pfn build_pfn) ^
7ee17a15