• Martin Storsjö's avatar
    vkd3d: Fix the signature of vkd3d_spirv_build_op_type_image. · 7ee17a15
    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
Name
Last commit
Last update
..
vkd3d Loading commit data...
vkd3d-common Loading commit data...
vkd3d-shader Loading commit data...