From 2ba412e376a74374a0bf7129474d4a8f0a7fd3ef Mon Sep 17 00:00:00 2001 From: Michael Pollind Date: Wed, 13 Nov 2024 19:36:40 -0800 Subject: [PATCH] feat: modififcations to compile on macosx Signed-off-by: Michael Pollind --- Source/Clear.cpp | 2 +- Source/DeviceInfo.cpp | 1 - Source/Readback.cpp | 2 +- Source/Wrapper.cpp | 13 +++++++++---- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/Source/Clear.cpp b/Source/Clear.cpp index e92551b..671acce 100644 --- a/Source/Clear.cpp +++ b/Source/Clear.cpp @@ -173,7 +173,7 @@ void Sample::RenderFrame(uint32_t frameIndex) { NRI.CmdClearAttachments(commandBuffer, &clearDesc, 1, &rect2, 1); clearDesc.value.color.f = {0.0f, 0.0f, 1.0f, 1.0f}; - nri::Rect rect3 = {0, y * 2, w, h3}; + nri::Rect rect3 = {0, static_cast(y * 2), w, h3}; NRI.CmdClearAttachments(commandBuffer, &clearDesc, 1, &rect3, 1); } NRI.CmdEndRendering(commandBuffer); diff --git a/Source/DeviceInfo.cpp b/Source/DeviceInfo.cpp index b8d05c0..1c0f0b6 100644 --- a/Source/DeviceInfo.cpp +++ b/Source/DeviceInfo.cpp @@ -1,6 +1,5 @@ // © 2021 NVIDIA Corporation -#include #include #define NRI_FORCE_C diff --git a/Source/Readback.cpp b/Source/Readback.cpp index d5e2b0a..c5bb0b2 100644 --- a/Source/Readback.cpp +++ b/Source/Readback.cpp @@ -259,7 +259,7 @@ void Sample::RenderFrame(uint32_t frameIndex) { NRI.CmdClearAttachments(commandBuffer, &clearDesc, 1, &rect2, 1); clearDesc.value.color.f = {0.0f, 0.0f, 1.0f, 1.0f}; - nri::Rect rect3 = {0, y * 2, w, h3}; + nri::Rect rect3 = {0, static_cast(y * 2), w, h3}; NRI.CmdClearAttachments(commandBuffer, &clearDesc, 1, &rect3, 1); RenderUI(NRI, NRI, *m_Streamer, commandBuffer, 1.0f, true); diff --git a/Source/Wrapper.cpp b/Source/Wrapper.cpp index fa66c1e..db7f495 100644 --- a/Source/Wrapper.cpp +++ b/Source/Wrapper.cpp @@ -13,6 +13,9 @@ # define VK_USE_PLATFORM_WIN32_KHR 1 const char* VULKAN_LOADER_NAME = "vulkan-1.dll"; +#elif defined(__APPLE__) +#define VK_USE_PLATFORM_METAL_EXT +const char* VULKAN_LOADER_NAME = "libvulkan.dynlib"; #else # define VK_USE_PLATFORM_XLIB_KHR 1 const char* VULKAN_LOADER_NAME = "libvulkan.so"; @@ -211,6 +214,8 @@ void Sample::CreateVulkanDevice() { #ifdef _WIN32 const char* instanceExtensions[] = {VK_KHR_WIN32_SURFACE_EXTENSION_NAME, VK_KHR_SURFACE_EXTENSION_NAME}; +#elif defined(__APPLE__) + const char* instanceExtensions[] = {VK_EXT_METAL_SURFACE_EXTENSION_NAME}; #else const char* instanceExtensions[] = {VK_KHR_XLIB_SURFACE_EXTENSION_NAME}; #endif @@ -738,8 +743,8 @@ void Sample::RenderFrame(uint32_t frameIndex) { #ifdef _WIN32 -# include -# undef LoadLibrary +#include +#undef LoadLibrary Library* LoadSharedLibrary(const char* path) { return (Library*)LoadLibraryA(path); @@ -753,9 +758,9 @@ void UnloadSharedLibrary(Library& library) { FreeLibrary((HMODULE)&library); } -#elif defined(__linux__) +#elif defined(__linux__) || defined(__APPLE__) -# include +#include Library* LoadSharedLibrary(const char* path) { return (Library*)dlopen(path, RTLD_NOW);