fix: switch to c++ attributes

closes #174
This commit is contained in:
PancakeTAS 2025-08-03 13:29:55 +02:00
parent 7113d7d02d
commit cdffa42a4f
No known key found for this signature in database
4 changed files with 18 additions and 16 deletions

View file

@ -20,7 +20,7 @@ namespace LSFG_3_1 {
/// ///
/// @throws LSFG::vulkan_error if Vulkan objects fail to initialize. /// @throws LSFG::vulkan_error if Vulkan objects fail to initialize.
/// ///
__attribute__((visibility("default"))) [[gnu::visibility("default")]]
void initialize(uint64_t deviceUUID, void initialize(uint64_t deviceUUID,
bool isHdr, float flowScale, uint64_t generationCount, bool isHdr, float flowScale, uint64_t generationCount,
const std::function<std::vector<uint8_t>(const std::string&)>& loader); const std::function<std::vector<uint8_t>(const std::string&)>& loader);
@ -37,7 +37,7 @@ namespace LSFG_3_1 {
/// ///
/// @throws LSFG::vulkan_error if the context cannot be created. /// @throws LSFG::vulkan_error if the context cannot be created.
/// ///
__attribute__((visibility("default"))) [[gnu::visibility("default")]]
int32_t createContext( int32_t createContext(
int in0, int in1, const std::vector<int>& outN, int in0, int in1, const std::vector<int>& outN,
VkExtent2D extent, VkFormat format); VkExtent2D extent, VkFormat format);
@ -51,7 +51,7 @@ namespace LSFG_3_1 {
/// ///
/// @throws LSFG::vulkan_error if the context cannot be presented. /// @throws LSFG::vulkan_error if the context cannot be presented.
/// ///
__attribute__((visibility("default"))) [[gnu::visibility("default")]]
void presentContext(int32_t id, int inSem, const std::vector<int>& outSem); void presentContext(int32_t id, int inSem, const std::vector<int>& outSem);
/// ///
@ -59,13 +59,13 @@ namespace LSFG_3_1 {
/// ///
/// @param id Unique identifier of the context to delete. /// @param id Unique identifier of the context to delete.
/// ///
__attribute__((visibility("default"))) [[gnu::visibility("default")]]
void deleteContext(int32_t id); void deleteContext(int32_t id);
/// ///
/// Deinitialize the LSFG library. /// Deinitialize the LSFG library.
/// ///
__attribute__((visibility("default"))) [[gnu::visibility("default")]]
void finalize(); void finalize();
} }

View file

@ -20,7 +20,7 @@ namespace LSFG_3_1P {
/// ///
/// @throws LSFG::vulkan_error if Vulkan objects fail to initialize. /// @throws LSFG::vulkan_error if Vulkan objects fail to initialize.
/// ///
__attribute__((visibility("default"))) [[gnu::visibility("default")]]
void initialize(uint64_t deviceUUID, void initialize(uint64_t deviceUUID,
bool isHdr, float flowScale, uint64_t generationCount, bool isHdr, float flowScale, uint64_t generationCount,
const std::function<std::vector<uint8_t>(const std::string&)>& loader); const std::function<std::vector<uint8_t>(const std::string&)>& loader);
@ -37,7 +37,7 @@ namespace LSFG_3_1P {
/// ///
/// @throws LSFG::vulkan_error if the context cannot be created. /// @throws LSFG::vulkan_error if the context cannot be created.
/// ///
__attribute__((visibility("default"))) [[gnu::visibility("default")]]
int32_t createContext( int32_t createContext(
int in0, int in1, const std::vector<int>& outN, int in0, int in1, const std::vector<int>& outN,
VkExtent2D extent, VkFormat format); VkExtent2D extent, VkFormat format);
@ -51,7 +51,7 @@ namespace LSFG_3_1P {
/// ///
/// @throws LSFG::vulkan_error if the context cannot be presented. /// @throws LSFG::vulkan_error if the context cannot be presented.
/// ///
__attribute__((visibility("default"))) [[gnu::visibility("default")]]
void presentContext(int32_t id, int inSem, const std::vector<int>& outSem); void presentContext(int32_t id, int inSem, const std::vector<int>& outSem);
/// ///
@ -59,13 +59,13 @@ namespace LSFG_3_1P {
/// ///
/// @param id Unique identifier of the context to delete. /// @param id Unique identifier of the context to delete.
/// ///
__attribute__((visibility("default"))) [[gnu::visibility("default")]]
void deleteContext(int32_t id); void deleteContext(int32_t id);
/// ///
/// Deinitialize the LSFG library. /// Deinitialize the LSFG library.
/// ///
__attribute__((visibility("default"))) [[gnu::visibility("default")]]
void finalize(); void finalize();
} }

View file

@ -219,8 +219,10 @@ namespace Layer {
} }
/// Symbol definition for Vulkan instance layer. /// Symbol definition for Vulkan instance layer.
__attribute__((visibility("default"))) extern "C"
extern "C" PFN_vkVoidFunction layer_vkGetInstanceProcAddr(VkInstance instance, const char* pName); [[gnu::visibility("default")]]
PFN_vkVoidFunction layer_vkGetInstanceProcAddr(VkInstance instance, const char* pName);
/// Symbol definition for Vulkan device layer. /// Symbol definition for Vulkan device layer.
__attribute__((visibility("default"))) extern "C"
extern "C" PFN_vkVoidFunction layer_vkGetDeviceProcAddr(VkDevice device, const char* pName); [[gnu::visibility("default")]]
PFN_vkVoidFunction layer_vkGetDeviceProcAddr(VkDevice device, const char* pName);

View file

@ -15,8 +15,8 @@
#include <thread> #include <thread>
namespace { namespace {
__attribute__((constructor)) [[gnu::constructor]]
__attribute__((visibility("default"))) [[gnu::visibility("default")]]
void lsfgvk_init() { void lsfgvk_init() {
std::cerr << std::unitbuf; std::cerr << std::unitbuf;