On Wed, 4 Aug 2021 at 05:53, Zebediah Figura zfigura@codeweavers.com wrote:
+#if defined(__GNUC__) && !defined(__MINGW32__) +# define VKD3D_API __attribute__((visibility("default"))) +#else +# define VKD3D_API +#endif
Arguably this is more about _WIN32 than about __MINGW32__. On _WIN32 we'd want to add dllimport/dllexport instead, perhaps as a followup.
-int vkd3d_shader_parse_root_signature(const struct vkd3d_shader_code *dxbc, +VKD3D_API int vkd3d_shader_parse_root_signature(const struct vkd3d_shader_code *dxbc, struct vkd3d_shader_versioned_root_signature_desc *root_signature, char **messages) { struct vkd3d_shader_message_context message_context; @@ -2797,7 +2797,7 @@ static int validate_root_signature_desc(const struct vkd3d_shader_versioned_root return ret; }
It seems more proper to add VKD3D_API to the public headers, in part because "dllimport" would need to be visible to users of those headers.