Files
Gryphn/projects/apis/vulkan/src/output_device/vulkan_output_devices.h
2025-07-09 15:23:40 -04:00

26 lines
793 B
C

#pragma once
#include <vulkan/vulkan.h>
#include <output_device/gryphn_output_device.h>
#include "buffers/vulkan_buffer.h"
typedef struct gnPlatformOutputDevice_t {
VkDevice device;
uint32_t queueCount;
VkQueue* queues;
VkQueue transferQueue;
VkCommandPool transferCommandPool;
VkGryphnBuffer stagingBuffer;
gnBool enabledOversizedDescriptorPools;
} gnPlatformOutputDevice;
VkCommandBuffer gnBeginVulkanTransferOperation(gnDevice device);
void gnEndVulkanTransferOperation(gnDevice device, VkCommandBuffer commandBuffer);
gnReturnCode createOutputDevice(gnOutputDeviceHandle outputDevice, gnInstanceHandle instance, gnOutputDeviceInfo deviceInfo);
void waitForDevice(const gnOutputDeviceHandle device);
void destroyOutputDevice(gnOutputDeviceHandle device);