Update the vulkanImageCUDA/vulkanImageCUDA.cu for Windows headers

This commit is contained in:
shawnz 2025-05-19 17:43:08 +08:00
parent 5987a9e9fa
commit da3b7a2b3c

View File

@ -34,9 +34,9 @@
#include <vulkan/vulkan.h> #include <vulkan/vulkan.h>
#ifdef _WIN64 #ifdef _WIN64
#define NOMINMAX #define NOMINMAX
// Add windows.h to the include path firstly as dependency for other Windows headers // Add windows.h to the include path
#include <windows.h> #include <windows.h>
// Add other Windows headers // Add vulkan_win32.h to the include path
#include <vulkan/vulkan_win32.h> #include <vulkan/vulkan_win32.h>
#endif /* _WIN64 */ #endif /* _WIN64 */
@ -56,7 +56,6 @@ public:
void init(); void init();
void *getMemHandle(VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagBits handleType); void *getMemHandle(VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagBits handleType);
void *getSemaphoreHandle(VkSemaphore semaphore, VkExternalSemaphoreHandleTypeFlagBits handleType); void *getSemaphoreHandle(VkSemaphore semaphore, VkExternalSemaphoreHandleTypeFlagBits handleType);
bool isVkPhysicalDeviceUuid(void *Uuid);
void createExternalSemaphore(VkSemaphore &semaphore, VkExternalSemaphoreHandleTypeFlagBits handleType); void createExternalSemaphore(VkSemaphore &semaphore, VkExternalSemaphoreHandleTypeFlagBits handleType);
void createBuffer(VkDeviceSize size, void createBuffer(VkDeviceSize size,
VkBufferUsageFlags usage, VkBufferUsageFlags usage,
@ -88,7 +87,6 @@ protected:
VkDebugUtilsMessengerEXT m_debugMessenger; VkDebugUtilsMessengerEXT m_debugMessenger;
VkSurfaceKHR m_surface; VkSurfaceKHR m_surface;
VkPhysicalDevice m_physicalDevice; VkPhysicalDevice m_physicalDevice;
uint8_t m_deviceUUID[VK_UUID_SIZE];
VkDevice m_device; VkDevice m_device;
VkQueue m_graphicsQueue; VkQueue m_graphicsQueue;
VkQueue m_presentQueue; VkQueue m_presentQueue;
@ -109,15 +107,17 @@ protected:
std::vector<VkFence> m_inFlightFences; std::vector<VkFence> m_inFlightFences;
std::vector<VkBuffer> m_uniformBuffers; std::vector<VkBuffer> m_uniformBuffers;
std::vector<VkDeviceMemory> m_uniformMemory; std::vector<VkDeviceMemory> m_uniformMemory;
VkSemaphore m_vkPresentationSemaphore;
VkSemaphore m_vkTimelineSemaphore;
VkDescriptorSetLayout m_descriptorSetLayout; VkDescriptorSetLayout m_descriptorSetLayout;
VkDescriptorPool m_descriptorPool; VkDescriptorPool m_descriptorPool;
std::vector<VkDescriptorSet> m_descriptorSets; std::vector<VkDescriptorSet> m_descriptorSets;
VkImage m_depthImage; VkImage m_depthImage;
VkDeviceMemory m_depthImageMemory; VkDeviceMemory m_depthImageMemory;
VkImageView m_depthImageView; VkImageView m_depthImageView;
size_t m_currentFrame; size_t m_currentFrame;
bool m_framebufferResized; bool m_framebufferResized;
uint8_t m_vkDeviceUUID[VK_UUID_SIZE];
virtual void initVulkanApp() {} virtual void initVulkanApp() {}
virtual void fillRenderingCommandBuffer(VkCommandBuffer &buffer) {} virtual void fillRenderingCommandBuffer(VkCommandBuffer &buffer) {}
@ -130,7 +130,7 @@ protected:
std::vector<VkPipelineStageFlags> &waitStages) const; std::vector<VkPipelineStageFlags> &waitStages) const;
virtual void getSignalFrameSemaphores(std::vector<VkSemaphore> &signal) const; virtual void getSignalFrameSemaphores(std::vector<VkSemaphore> &signal) const;
virtual VkDeviceSize getUniformSize() const; virtual VkDeviceSize getUniformSize() const;
virtual void updateUniformBuffer(uint32_t imageIndex, size_t globalFrame); virtual void updateUniformBuffer(uint32_t imageIndex);
virtual void drawFrame(); virtual void drawFrame();
private: private: