adding symbols to dll on windows

This commit is contained in:
2023-12-08 19:13:25 +01:00
parent b078165849
commit 038a6db77f
34 changed files with 108 additions and 75 deletions

View File

@@ -4,6 +4,7 @@
<a href="https://github.com/420verfl0w/MacroLibX/actions/workflows/linux_clang.yml"><img src="https://github.com/420verfl0w/MacroLibX/actions/workflows/linux_clang.yml/badge.svg"></a> <a href="https://github.com/420verfl0w/MacroLibX/actions/workflows/linux_clang.yml"><img src="https://github.com/420verfl0w/MacroLibX/actions/workflows/linux_clang.yml/badge.svg"></a>
<a href="https://github.com/420verfl0w/MacroLibX/actions/workflows/linux_gcc.yml"><img src="https://github.com/420verfl0w/MacroLibX/actions/workflows/linux_gcc.yml/badge.svg"></a> <a href="https://github.com/420verfl0w/MacroLibX/actions/workflows/linux_gcc.yml"><img src="https://github.com/420verfl0w/MacroLibX/actions/workflows/linux_gcc.yml/badge.svg"></a>
<a href="https://github.com/420verfl0w/MacroLibX/actions/workflows/macos_x86.yml"><img src="https://github.com/420verfl0w/MacroLibX/actions/workflows/macos_x86.yml/badge.svg"></a> <a href="https://github.com/420verfl0w/MacroLibX/actions/workflows/macos_x86.yml"><img src="https://github.com/420verfl0w/MacroLibX/actions/workflows/macos_x86.yml/badge.svg"></a>
<a href="https://github.com/420verfl0w/MacroLibX/actions/workflows/windows.yml"><img src="https://github.com/420verfl0w/MacroLibX/actions/workflows/windows.yml/badge.svg"></a>
</div> </div>
</div> </div>

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2023/04/02 14:49:49 by maldavid #+# #+# */ /* Created: 2023/04/02 14:49:49 by maldavid #+# #+# */
/* Updated: 2023/11/25 09:59:39 by maldavid ### ########.fr */ /* Updated: 2023/12/08 19:04:59 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -26,10 +26,11 @@
#include <renderer/text_pipeline.h> #include <renderer/text_pipeline.h>
#include <utils/non_copyable.h> #include <utils/non_copyable.h>
#include <renderer/images/texture.h> #include <renderer/images/texture.h>
#include <core/profile.h>
namespace mlx namespace mlx
{ {
class GraphicsSupport : public non_copyable class MLX_API GraphicsSupport : public non_copyable
{ {
public: public:
GraphicsSupport(std::size_t w, std::size_t h, const std::string& title, int id); GraphicsSupport(std::size_t w, std::size_t h, const std::string& title, int id);

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2023/12/07 16:31:51 by kbz_8 #+# #+# */ /* Created: 2023/12/07 16:31:51 by kbz_8 #+# #+# */
/* Updated: 2023/12/08 12:56:21 by kbz_8 ### ########.fr */ /* Updated: 2023/12/08 19:05:15 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -14,11 +14,12 @@
#define __MLX_MEMORY__ #define __MLX_MEMORY__
#include <utils/singleton.h> #include <utils/singleton.h>
#include <core/profile.h>
#include <list> #include <list>
namespace mlx namespace mlx
{ {
class MemManager : public Singleton<MemManager> class MLX_API MemManager : public Singleton<MemManager>
{ {
friend class Singleton<MemManager>; friend class Singleton<MemManager>;

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/04 21:53:12 by maldavid #+# #+# */ /* Created: 2022/10/04 21:53:12 by maldavid #+# #+# */
/* Updated: 2023/11/25 11:33:32 by maldavid ### ########.fr */ /* Updated: 2023/12/08 19:05:31 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -15,10 +15,11 @@
#include <SDL2/SDL.h> #include <SDL2/SDL.h>
#include <string> #include <string>
#include <core/profile.h>
namespace mlx namespace mlx
{ {
class MLX_Window class MLX_API MLX_Window
{ {
public: public:
MLX_Window(std::size_t w, std::size_t h, const std::string& title); MLX_Window(std::size_t w, std::size_t h, const std::string& title);

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/06 23:18:52 by maldavid #+# #+# */ /* Created: 2022/10/06 23:18:52 by maldavid #+# #+# */
/* Updated: 2023/11/16 13:56:19 by maldavid ### ########.fr */ /* Updated: 2023/12/08 19:05:50 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -15,10 +15,11 @@
#include <volk.h> #include <volk.h>
#include <renderer/core/render_core.h> #include <renderer/core/render_core.h>
#include <core/profile.h>
namespace mlx namespace mlx
{ {
class Buffer class MLX_API Buffer
{ {
public: public:
enum class kind { dynamic, uniform, constant }; enum class kind { dynamic, uniform, constant };

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2023/01/25 15:05:05 by maldavid #+# #+# */ /* Created: 2023/01/25 15:05:05 by maldavid #+# #+# */
/* Updated: 2023/11/14 03:25:59 by maldavid ### ########.fr */ /* Updated: 2023/12/08 19:06:07 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -16,10 +16,11 @@
#include <volk.h> #include <volk.h>
#include "vk_buffer.h" #include "vk_buffer.h"
#include <renderer/renderer.h> #include <renderer/renderer.h>
#include <core/profile.h>
namespace mlx namespace mlx
{ {
class C_IBO : public Buffer class MLX_API C_IBO : public Buffer
{ {
public: public:
inline void create(uint32_t size, const uint16_t* data, const char* name) { Buffer::create(Buffer::kind::constant, size, VK_BUFFER_USAGE_INDEX_BUFFER_BIT, name, data); } inline void create(uint32_t size, const uint16_t* data, const char* name) { Buffer::create(Buffer::kind::constant, size, VK_BUFFER_USAGE_INDEX_BUFFER_BIT, name, data); }

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/06 18:45:29 by maldavid #+# #+# */ /* Created: 2022/10/06 18:45:29 by maldavid #+# #+# */
/* Updated: 2023/11/14 03:26:10 by maldavid ### ########.fr */ /* Updated: 2023/12/08 19:06:28 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -16,10 +16,11 @@
#include "vk_buffer.h" #include "vk_buffer.h"
#include <array> #include <array>
#include <cstddef> #include <cstddef>
#include <core/profile.h>
namespace mlx namespace mlx
{ {
class UBO class MLX_API UBO
{ {
public: public:
void create(class Renderer* renderer, uint32_t size, const char* name); void create(class Renderer* renderer, uint32_t size, const char* name);

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/06 18:27:38 by maldavid #+# #+# */ /* Created: 2022/10/06 18:27:38 by maldavid #+# #+# */
/* Updated: 2023/11/14 04:53:36 by maldavid ### ########.fr */ /* Updated: 2023/12/08 19:06:45 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -15,10 +15,11 @@
#include "vk_buffer.h" #include "vk_buffer.h"
#include <renderer/renderer.h> #include <renderer/renderer.h>
#include <core/profile.h>
namespace mlx namespace mlx
{ {
class VBO : public Buffer class MLX_API VBO : public Buffer
{ {
public: public:
inline void create(uint32_t size, const char* name) { Buffer::create(Buffer::kind::dynamic, size, VK_BUFFER_USAGE_VERTEX_BUFFER_BIT, name); } inline void create(uint32_t size, const char* name) { Buffer::create(Buffer::kind::dynamic, size, VK_BUFFER_USAGE_VERTEX_BUFFER_BIT, name); }
@@ -26,7 +27,7 @@ namespace mlx
inline void bind(Renderer& renderer) noexcept { vkCmdBindVertexBuffers(renderer.getActiveCmdBuffer().get(), 0, 1, &_buffer, &_offset); } inline void bind(Renderer& renderer) noexcept { vkCmdBindVertexBuffers(renderer.getActiveCmdBuffer().get(), 0, 1, &_buffer, &_offset); }
}; };
class C_VBO : public Buffer class MLX_API C_VBO : public Buffer
{ {
public: public:
inline void create(uint32_t size, const void* data, const char* name) { Buffer::create(Buffer::kind::constant, size, VK_BUFFER_USAGE_VERTEX_BUFFER_BIT, name, data); } inline void create(uint32_t size, const void* data, const char* name) { Buffer::create(Buffer::kind::constant, size, VK_BUFFER_USAGE_VERTEX_BUFFER_BIT, name, data); }

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2023/04/02 17:48:52 by maldavid #+# #+# */ /* Created: 2023/04/02 17:48:52 by maldavid #+# #+# */
/* Updated: 2023/04/02 17:50:48 by maldavid ### ########.fr */ /* Updated: 2023/12/08 19:07:00 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -16,13 +16,14 @@
#include <array> #include <array>
#include <volk.h> #include <volk.h>
#include <core/profile.h>
#include <renderer/core/render_core.h> #include <renderer/core/render_core.h>
#include <renderer/command/vk_cmd_pool.h> #include <renderer/command/vk_cmd_pool.h>
#include <renderer/command/vk_cmd_buffer.h> #include <renderer/command/vk_cmd_buffer.h>
namespace mlx namespace mlx
{ {
class CmdManager class MLX_API CmdManager
{ {
public: public:
CmdManager() = default; CmdManager() = default;

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/06 18:25:42 by maldavid #+# #+# */ /* Created: 2022/10/06 18:25:42 by maldavid #+# #+# */
/* Updated: 2023/04/21 13:20:49 by maldavid ### ########.fr */ /* Updated: 2023/12/08 19:07:11 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -15,10 +15,11 @@
#include <volk.h> #include <volk.h>
#include <renderer/core/vk_fence.h> #include <renderer/core/vk_fence.h>
#include <core/profile.h>
namespace mlx namespace mlx
{ {
class CmdBuffer class MLX_API CmdBuffer
{ {
public: public:
void init(class CmdManager* manager); void init(class CmdManager* manager);

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/06 18:24:12 by maldavid #+# #+# */ /* Created: 2022/10/06 18:24:12 by maldavid #+# #+# */
/* Updated: 2022/12/18 01:08:31 by maldavid ### ########.fr */ /* Updated: 2023/12/08 19:07:22 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -14,10 +14,11 @@
#define __MLX_VK_CMD_POOL__ #define __MLX_VK_CMD_POOL__
#include <volk.h> #include <volk.h>
#include <core/profile.h>
namespace mlx namespace mlx
{ {
class CmdPool class MLX_API CmdPool
{ {
public: public:
void init(); void init();

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2023/10/20 02:13:03 by maldavid #+# #+# */ /* Created: 2023/10/20 02:13:03 by maldavid #+# #+# */
/* Updated: 2023/11/14 09:46:32 by maldavid ### ########.fr */ /* Updated: 2023/12/08 19:07:34 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -15,10 +15,11 @@
#include <volk.h> #include <volk.h>
#include <vma.h> #include <vma.h>
#include <core/profile.h>
namespace mlx namespace mlx
{ {
class GPUallocator class MLX_API GPUallocator
{ {
public: public:
GPUallocator() = default; GPUallocator() = default;

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/08 19:13:42 by maldavid #+# #+# */ /* Created: 2022/10/08 19:13:42 by maldavid #+# #+# */
/* Updated: 2023/11/11 01:51:26 by maldavid ### ########.fr */ /* Updated: 2023/12/08 19:07:49 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -15,10 +15,11 @@
#include <volk.h> #include <volk.h>
#include "vk_queues.h" #include "vk_queues.h"
#include <core/profile.h>
namespace mlx namespace mlx
{ {
class Device class MLX_API Device
{ {
public: public:
void init(); void init();

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2023/04/02 17:52:09 by maldavid #+# #+# */ /* Created: 2023/04/02 17:52:09 by maldavid #+# #+# */
/* Updated: 2023/04/02 17:52:59 by maldavid ### ########.fr */ /* Updated: 2023/12/08 19:08:01 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -14,11 +14,12 @@
#define __MLX_VK_FENCE__ #define __MLX_VK_FENCE__
#include <volk.h> #include <volk.h>
#include <core/profile.h>
#include <renderer/core/render_core.h> #include <renderer/core/render_core.h>
namespace mlx namespace mlx
{ {
class Fence class MLX_API Fence
{ {
public: public:
Fence() = default; Fence() = default;

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/08 19:03:04 by maldavid #+# #+# */ /* Created: 2022/10/08 19:03:04 by maldavid #+# #+# */
/* Updated: 2022/12/18 17:42:08 by maldavid ### ########.fr */ /* Updated: 2023/12/08 19:08:14 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -15,10 +15,11 @@
#include <volk.h> #include <volk.h>
#include <vector> #include <vector>
#include <core/profile.h>
namespace mlx namespace mlx
{ {
class Instance class MLX_API Instance
{ {
public: public:
void init(); void init();

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/08 19:01:49 by maldavid #+# #+# */ /* Created: 2022/10/08 19:01:49 by maldavid #+# #+# */
/* Updated: 2022/12/18 22:44:37 by maldavid ### ########.fr */ /* Updated: 2023/12/08 19:08:25 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -16,10 +16,11 @@
#include <volk.h> #include <volk.h>
#include <optional> #include <optional>
#include <cstdint> #include <cstdint>
#include <core/profile.h>
namespace mlx namespace mlx
{ {
class Queues class MLX_API Queues
{ {
public: public:
struct QueueFamilyIndices struct QueueFamilyIndices

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/08 18:59:38 by maldavid #+# #+# */ /* Created: 2022/10/08 18:59:38 by maldavid #+# #+# */
/* Updated: 2023/04/02 17:55:10 by maldavid ### ########.fr */ /* Updated: 2023/12/08 19:08:36 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -15,10 +15,11 @@
#include <volk.h> #include <volk.h>
#include <vector> #include <vector>
#include <core/profile.h>
namespace mlx namespace mlx
{ {
class Semaphore class MLX_API Semaphore
{ {
public: public:
void init(); void init();

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/08 18:57:55 by maldavid #+# #+# */ /* Created: 2022/10/08 18:57:55 by maldavid #+# #+# */
/* Updated: 2022/12/18 19:34:04 by maldavid ### ########.fr */ /* Updated: 2023/12/08 19:08:49 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -15,10 +15,11 @@
#include <volk.h> #include <volk.h>
#include <vector> #include <vector>
#include <core/profile.h>
namespace mlx namespace mlx
{ {
class Surface class MLX_API Surface
{ {
public: public:
void create(class Renderer& renderer); void create(class Renderer& renderer);

View File

@@ -6,7 +6,7 @@
/* By: maldavid <marvin@42.fr> +#+ +:+ +#+ */ /* By: maldavid <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2022/12/19 14:04:25 by maldavid #+# #+# */ /* Created: 2022/12/19 14:04:25 by maldavid #+# #+# */
/* Updated: 2022/12/19 14:05:19 by maldavid ### ########.fr */ /* Updated: 2023/12/08 19:09:02 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -14,10 +14,11 @@
#define __VK_VALIDATION_LAYERS__ #define __VK_VALIDATION_LAYERS__
#include <volk.h> #include <volk.h>
#include <core/profile.h>
namespace mlx namespace mlx
{ {
class ValidationLayers class MLX_API ValidationLayers
{ {
public: public:
void init(); void init();

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2023/01/23 18:32:43 by maldavid #+# #+# */ /* Created: 2023/01/23 18:32:43 by maldavid #+# #+# */
/* Updated: 2023/01/23 18:44:40 by maldavid ### ########.fr */ /* Updated: 2023/12/08 19:09:20 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -15,10 +15,11 @@
#include <volk.h> #include <volk.h>
#include <cstddef> #include <cstddef>
#include <core/profile.h>
namespace mlx namespace mlx
{ {
class DescriptorPool class MLX_API DescriptorPool
{ {
public: public:
void init(std::size_t n, VkDescriptorPoolSize* size); void init(std::size_t n, VkDescriptorPoolSize* size);

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2023/01/23 18:39:36 by maldavid #+# #+# */ /* Created: 2023/01/23 18:39:36 by maldavid #+# #+# */
/* Updated: 2023/12/07 19:47:07 by kbz_8 ### ########.fr */ /* Updated: 2023/12/08 19:09:31 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -15,11 +15,12 @@
#include <volk.h> #include <volk.h>
#include <array> #include <array>
#include <core/profile.h>
#include <renderer/core/render_core.h> #include <renderer/core/render_core.h>
namespace mlx namespace mlx
{ {
class DescriptorSet class MLX_API DescriptorSet
{ {
public: public:
void init(class Renderer* renderer, class DescriptorPool* pool, class DescriptorSetLayout* layout); void init(class Renderer* renderer, class DescriptorPool* pool, class DescriptorSetLayout* layout);

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2023/01/23 18:36:22 by maldavid #+# #+# */ /* Created: 2023/01/23 18:36:22 by maldavid #+# #+# */
/* Updated: 2023/03/31 17:54:03 by maldavid ### ########.fr */ /* Updated: 2023/12/08 19:09:44 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -17,10 +17,11 @@
#include <cstddef> #include <cstddef>
#include <vector> #include <vector>
#include <map> #include <map>
#include <core/profile.h>
namespace mlx namespace mlx
{ {
class DescriptorSetLayout class MLX_API DescriptorSetLayout
{ {
public: public:
void init(std::vector<std::pair<int, VkDescriptorType>> binds, VkShaderStageFlagBits stage); void init(std::vector<std::pair<int, VkDescriptorType>> binds, VkShaderStageFlagBits stage);

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2023/03/08 02:24:58 by maldavid #+# #+# */ /* Created: 2023/03/08 02:24:58 by maldavid #+# #+# */
/* Updated: 2023/11/25 10:01:35 by maldavid ### ########.fr */ /* Updated: 2023/12/08 19:10:09 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -21,10 +21,11 @@
#include <renderer/descriptors/vk_descriptor_set.h> #include <renderer/descriptors/vk_descriptor_set.h>
#include <renderer/buffers/vk_ibo.h> #include <renderer/buffers/vk_ibo.h>
#include <renderer/buffers/vk_vbo.h> #include <renderer/buffers/vk_vbo.h>
#include <core/profile.h>
namespace mlx namespace mlx
{ {
class Texture : public Image class MLX_API Texture : public Image
{ {
public: public:
Texture() = default; Texture() = default;
@@ -61,9 +62,9 @@ namespace mlx
bool _has_been_updated = false; bool _has_been_updated = false;
}; };
Texture stbTextureLoad(std::filesystem::path file, int* w, int* h); MLX_API Texture stbTextureLoad(std::filesystem::path file, int* w, int* h);
struct TextureRenderData struct MLX_API TextureRenderData
{ {
Texture* texture; Texture* texture;
std::size_t hash = 0; std::size_t hash = 0;
@@ -78,7 +79,7 @@ namespace mlx
namespace std namespace std
{ {
template <> template <>
struct hash<mlx::TextureRenderData> struct MLX_API hash<mlx::TextureRenderData>
{ {
size_t operator()(const mlx::TextureRenderData& td) const noexcept size_t operator()(const mlx::TextureRenderData& td) const noexcept
{ {

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2023/04/07 16:36:33 by maldavid #+# #+# */ /* Created: 2023/04/07 16:36:33 by maldavid #+# #+# */
/* Updated: 2023/12/07 18:50:53 by kbz_8 ### ########.fr */ /* Updated: 2023/12/08 19:10:22 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -16,10 +16,11 @@
#include <renderer/images/texture.h> #include <renderer/images/texture.h>
#include <array> #include <array>
#include <glm/glm.hpp> #include <glm/glm.hpp>
#include <core/profile.h>
namespace mlx namespace mlx
{ {
class TextureAtlas : public Image class MLX_API TextureAtlas : public Image
{ {
public: public:
TextureAtlas() = default; TextureAtlas() = default;

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2023/01/25 11:54:21 by maldavid #+# #+# */ /* Created: 2023/01/25 11:54:21 by maldavid #+# #+# */
/* Updated: 2023/11/18 17:10:05 by maldavid ### ########.fr */ /* Updated: 2023/12/08 19:10:38 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -18,12 +18,13 @@
#include <vector> #include <vector>
#include <renderer/command/vk_cmd_buffer.h> #include <renderer/command/vk_cmd_buffer.h>
#include <renderer/command/vk_cmd_pool.h> #include <renderer/command/vk_cmd_pool.h>
#include <core/profile.h>
namespace mlx namespace mlx
{ {
uint32_t formatSize(VkFormat format); MLX_API uint32_t formatSize(VkFormat format);
class Image class MLX_API Image
{ {
friend class SwapChain; friend class SwapChain;

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2022/12/18 21:23:52 by maldavid #+# #+# */ /* Created: 2022/12/18 21:23:52 by maldavid #+# #+# */
/* Updated: 2022/12/19 00:27:29 by maldavid ### ########.fr */ /* Updated: 2023/12/08 19:10:51 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -14,11 +14,12 @@
#define __PIPELINE__ #define __PIPELINE__
#include <volk.h> #include <volk.h>
#include <core/profile.h>
#include <renderer/command/vk_cmd_buffer.h> #include <renderer/command/vk_cmd_buffer.h>
namespace mlx namespace mlx
{ {
class GraphicPipeline class MLX_API GraphicPipeline
{ {
public: public:
void init(class Renderer& renderer); void init(class Renderer& renderer);

View File

@@ -6,19 +6,20 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2023/03/31 13:18:50 by maldavid #+# #+# */ /* Created: 2023/03/31 13:18:50 by maldavid #+# #+# */
/* Updated: 2023/08/02 05:27:27 by maldavid ### ########.fr */ /* Updated: 2023/12/08 19:11:43 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
#ifndef __MLX_PIXEL_PUT__ #ifndef __MLX_PIXEL_PUT__
#define __MLX_PIXEL_PUT__ #define __MLX_PIXEL_PUT__
#include <core/profile.h>
#include <renderer/images/texture.h> #include <renderer/images/texture.h>
#include <renderer/descriptors/vk_descriptor_set.h> #include <renderer/descriptors/vk_descriptor_set.h>
namespace mlx namespace mlx
{ {
class PixelPutPipeline class MLX_API PixelPutPipeline
{ {
public: public:
PixelPutPipeline() = default; PixelPutPipeline() = default;

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2022/12/18 17:14:45 by maldavid #+# #+# */ /* Created: 2022/12/18 17:14:45 by maldavid #+# #+# */
/* Updated: 2023/11/20 07:26:12 by maldavid ### ########.fr */ /* Updated: 2023/12/08 19:12:06 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -31,12 +31,13 @@
#include <renderer/descriptors/vk_descriptor_set_layout.h> #include <renderer/descriptors/vk_descriptor_set_layout.h>
#include <core/errors.h> #include <core/errors.h>
#include <core/profile.h>
#include <glm/glm.hpp> #include <glm/glm.hpp>
namespace mlx namespace mlx
{ {
struct Vertex struct MLX_API Vertex
{ {
glm::vec2 pos; glm::vec2 pos;
glm::vec4 color; glm::vec4 color;
@@ -77,7 +78,7 @@ namespace mlx
} }
}; };
class Renderer class MLX_API Renderer
{ {
public: public:
Renderer() = default; Renderer() = default;

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/06 18:19:44 by maldavid #+# #+# */ /* Created: 2022/10/06 18:19:44 by maldavid #+# #+# */
/* Updated: 2023/11/18 16:44:16 by maldavid ### ########.fr */ /* Updated: 2023/12/08 19:11:04 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -14,10 +14,11 @@
#define __MLX_VK_FRAMEBUFFER__ #define __MLX_VK_FRAMEBUFFER__
#include <volk.h> #include <volk.h>
#include <core/profile.h>
namespace mlx namespace mlx
{ {
class FrameBuffer class MLX_API FrameBuffer
{ {
public: public:
void init(class RenderPass& renderpass, class Image& image); void init(class RenderPass& renderpass, class Image& image);

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/06 18:22:00 by maldavid #+# #+# */ /* Created: 2022/10/06 18:22:00 by maldavid #+# #+# */
/* Updated: 2023/11/20 07:24:48 by maldavid ### ########.fr */ /* Updated: 2023/12/08 19:11:14 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -14,10 +14,11 @@
#define __MLX_VK_RENDER_PASS__ #define __MLX_VK_RENDER_PASS__
#include <volk.h> #include <volk.h>
#include <core/profile.h>
namespace mlx namespace mlx
{ {
class RenderPass class MLX_API RenderPass
{ {
public: public:
void init(VkFormat attachement_format); void init(VkFormat attachement_format);

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/06 18:23:27 by maldavid #+# #+# */ /* Created: 2022/10/06 18:23:27 by maldavid #+# #+# */
/* Updated: 2023/11/20 07:25:30 by maldavid ### ########.fr */ /* Updated: 2023/12/08 19:11:30 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -15,18 +15,19 @@
#include <vector> #include <vector>
#include <volk.h> #include <volk.h>
#include <core/profile.h>
#include <renderer/images/vk_image.h> #include <renderer/images/vk_image.h>
namespace mlx namespace mlx
{ {
class SwapChain class MLX_API SwapChain
{ {
friend class GraphicPipeline; friend class GraphicPipeline;
friend class RenderPass; friend class RenderPass;
friend class Renderer; friend class Renderer;
public: public:
struct SwapChainSupportDetails struct MLX_API SwapChainSupportDetails
{ {
VkSurfaceCapabilitiesKHR capabilities; VkSurfaceCapabilitiesKHR capabilities;
std::vector<VkSurfaceFormatKHR> formats; std::vector<VkSurfaceFormatKHR> formats;

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2023/04/10 11:52:30 by maldavid #+# #+# */ /* Created: 2023/04/10 11:52:30 by maldavid #+# #+# */
/* Updated: 2023/04/12 11:38:57 by maldavid ### ########.fr */ /* Updated: 2023/12/08 19:12:24 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -20,13 +20,14 @@
#include <memory> #include <memory>
#include <vector> #include <vector>
#include <cstdint> #include <cstdint>
#include <core/profile.h>
namespace mlx namespace mlx
{ {
using TextID = uint32_t; using TextID = uint32_t;
constexpr TextID nulltext = 0; constexpr TextID nulltext = 0;
class TextData class MLX_API TextData
{ {
public: public:
TextData() = default; TextData() = default;
@@ -45,7 +46,7 @@ namespace mlx
std::string _text; std::string _text;
}; };
class TextLibrary class MLX_API TextLibrary
{ {
public: public:
TextLibrary() = default; TextLibrary() = default;

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2023/04/06 16:24:11 by maldavid #+# #+# */ /* Created: 2023/04/06 16:24:11 by maldavid #+# #+# */
/* Updated: 2023/11/24 19:08:04 by maldavid ### ########.fr */ /* Updated: 2023/12/08 19:12:40 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@@ -20,10 +20,11 @@
#include <cstdint> #include <cstdint>
#include <unordered_set> #include <unordered_set>
#include <renderer/text_library.h> #include <renderer/text_library.h>
#include <core/profile.h>
namespace mlx namespace mlx
{ {
struct TextDrawData struct MLX_API TextDrawData
{ {
TextID id; TextID id;
int x; int x;
@@ -40,7 +41,7 @@ namespace mlx
namespace std namespace std
{ {
template <> template <>
struct hash<mlx::TextDrawData> struct MLX_API hash<mlx::TextDrawData>
{ {
std::size_t operator()(const mlx::TextDrawData& d) const noexcept std::size_t operator()(const mlx::TextDrawData& d) const noexcept
{ {
@@ -51,7 +52,7 @@ namespace std
namespace mlx namespace mlx
{ {
class TextPutPipeline class MLX_API TextPutPipeline
{ {
public: public:
TextPutPipeline() = default; TextPutPipeline() = default;

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */ /* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2023/04/11 16:20:25 by maldavid #+# #+# */ /* Created: 2023/04/11 16:20:25 by maldavid #+# #+# */
/* Updated: 2023/11/25 10:47:10 by maldavid ### ########.fr */ /* Updated: 2023/12/08 19:13:00 by kbz_8 ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */