mirror of
https://github.com/Kbz-8/Pulse.git
synced 2026-01-10 15:03:34 +00:00
35 lines
1.1 KiB
C
35 lines
1.1 KiB
C
// Copyright (C) 2025 kbz_8
|
|
// This file is part of "Pulse"
|
|
// For conditions of distribution and use, see copyright notice in LICENSE
|
|
|
|
#ifdef PULSE_ENABLE_VULKAN_BACKEND
|
|
|
|
#ifndef PULSE_VULKAN_BUFFER_H_
|
|
#define PULSE_VULKAN_BUFFER_H_
|
|
|
|
#include <vulkan/vulkan_core.h>
|
|
#include <vk_mem_alloc.h>
|
|
|
|
#include <Pulse.h>
|
|
#include "../../PulseInternal.h"
|
|
#include "VulkanEnums.h"
|
|
|
|
typedef struct VulkanBuffer
|
|
{
|
|
VkBuffer buffer;
|
|
VkBufferUsageFlags usage;
|
|
VmaAllocation allocation;
|
|
VmaAllocationInfo allocation_info;
|
|
} VulkanBuffer;
|
|
|
|
PulseBuffer VulkanCreateBuffer(PulseDevice device, const PulseBufferCreateInfo* create_infos);
|
|
bool VulkanMapBuffer(PulseBuffer buffer, PulseMapMode mode, void** data);
|
|
void VulkanUnmapBuffer(PulseBuffer buffer);
|
|
bool VulkanCopyBufferToBuffer(PulseCommandList cmd, const PulseBufferRegion* src, const PulseBufferRegion* dst);
|
|
bool VulkanCopyBufferToImage(PulseCommandList cmd, const PulseBufferRegion* src, const PulseImageRegion* dst);
|
|
void VulkanDestroyBuffer(PulseDevice device, PulseBuffer buffer);
|
|
|
|
#endif // PULSE_VULKAN_BUFFER_H_
|
|
|
|
#endif // PULSE_ENABLE_VULKAN_BACKEND
|