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.
///
__attribute__((visibility("default")))
[[gnu::visibility("default")]]
void initialize(uint64_t deviceUUID,
bool isHdr, float flowScale, uint64_t generationCount,
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.
///
__attribute__((visibility("default")))
[[gnu::visibility("default")]]
int32_t createContext(
int in0, int in1, const std::vector<int>& outN,
VkExtent2D extent, VkFormat format);
@ -51,7 +51,7 @@ namespace LSFG_3_1 {
///
/// @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);
///
@ -59,13 +59,13 @@ namespace LSFG_3_1 {
///
/// @param id Unique identifier of the context to delete.
///
__attribute__((visibility("default")))
[[gnu::visibility("default")]]
void deleteContext(int32_t id);
///
/// Deinitialize the LSFG library.
///
__attribute__((visibility("default")))
[[gnu::visibility("default")]]
void finalize();
}

View file

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

View file

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

View file

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