mirror of
https://github.com/Kbz-8/Pulse.git
synced 2026-01-11 15:33:34 +00:00
working on copy functions
This commit is contained in:
@@ -201,12 +201,6 @@ typedef struct PulseBufferCreateInfo
|
||||
PulseDeviceSize size;
|
||||
} PulseBufferCreateInfo;
|
||||
|
||||
typedef struct PulseBufferLocation
|
||||
{
|
||||
PulseBuffer buffer;
|
||||
PulseDeviceSize offset;
|
||||
} PulseBufferLocation;
|
||||
|
||||
typedef struct PulseBufferRegion
|
||||
{
|
||||
PulseBuffer buffer;
|
||||
@@ -237,15 +231,6 @@ typedef struct PulseImageCreateInfo
|
||||
uint32_t layer_count_or_depth; // This value is treated as a layer count on 2D array images, and as a depth value on 3D images
|
||||
} PulseImageCreateInfo;
|
||||
|
||||
typedef struct PulseImageLocation
|
||||
{
|
||||
PulseImage image;
|
||||
uint32_t layer;
|
||||
uint32_t x;
|
||||
uint32_t y;
|
||||
uint32_t z;
|
||||
} PulseImageLocation;
|
||||
|
||||
typedef struct PulseImageRegion
|
||||
{
|
||||
PulseImage image;
|
||||
@@ -276,10 +261,14 @@ PULSE_API void PulseDestroyDevice(PulseDevice device);
|
||||
PULSE_API PulseBuffer PulseCreateBuffer(PulseDevice device, const PulseBufferCreateInfo* create_infos);
|
||||
PULSE_API bool PulseMapBuffer(PulseBuffer buffer, void** data);
|
||||
PULSE_API void PulseUnmapBuffer(PulseBuffer buffer);
|
||||
PULSE_API bool PulseCopyBufferToBuffer(const PulseBufferRegion* src, const PulseBufferRegion* dst);
|
||||
PULSE_API bool PulseCopyBufferToImage(PulseBuffer src, const PulseBufferRegion* dst);
|
||||
PULSE_API void PulseDestroyBuffer(PulseDevice device, PulseBuffer buffer);
|
||||
|
||||
PULSE_API PulseImage PulseCreateImage(PulseDevice device, const PulseImageCreateInfo* create_infos);
|
||||
PULSE_API bool PulseIsImageFormatValid(PulseDevice device, PulseImageFormat format, PulseImageType type, PulseImageUsageFlags usage);
|
||||
PULSE_API bool PulseCopyImageToBuffer(const PulseImageRegion* src, const PulseBufferRegion* dst);
|
||||
PULSE_API bool PulseBlitImage(const PulseImageRegion* src, const PulseImageRegion* dst);
|
||||
PULSE_API void PulseDestroyImage(PulseDevice device, PulseImage image);
|
||||
|
||||
PULSE_API PulseCommandList PulseRequestCommandList(PulseDevice device, PulseCommandListUsage usage);
|
||||
|
||||
@@ -25,6 +25,8 @@ typedef struct VulkanBuffer
|
||||
PulseBuffer VulkanCreateBuffer(PulseDevice device, const PulseBufferCreateInfo* create_infos);
|
||||
bool VulkanMapBuffer(PulseBuffer buffer, void** data);
|
||||
void VulkanUnmapBuffer(PulseBuffer buffer);
|
||||
bool VulkanCopyBufferToBuffer(const PulseBufferRegion* src, const PulseBufferRegion* dst);
|
||||
bool VulkanCopyBufferToImage(const PulseBufferRegion* src, const PulseImageRegion* dst);
|
||||
void VulkanDestroyBuffer(PulseDevice device, PulseBuffer buffer);
|
||||
|
||||
#endif // PULSE_VULKAN_BUFFER_H_
|
||||
|
||||
@@ -92,9 +92,13 @@
|
||||
PULSE_LOAD_DRIVER_DEVICE_FUNCTION(CreateBuffer, _namespace) \
|
||||
PULSE_LOAD_DRIVER_DEVICE_FUNCTION(MapBuffer, _namespace) \
|
||||
PULSE_LOAD_DRIVER_DEVICE_FUNCTION(UnmapBuffer, _namespace) \
|
||||
PULSE_LOAD_DRIVER_DEVICE_FUNCTION(CopyBufferToBuffer, _namespace) \
|
||||
PULSE_LOAD_DRIVER_DEVICE_FUNCTION(CopyBufferToImage, _namespace) \
|
||||
PULSE_LOAD_DRIVER_DEVICE_FUNCTION(DestroyBuffer, _namespace) \
|
||||
PULSE_LOAD_DRIVER_DEVICE_FUNCTION(CreateImage, _namespace) \
|
||||
PULSE_LOAD_DRIVER_DEVICE_FUNCTION(IsImageFormatValid, _namespace) \
|
||||
PULSE_LOAD_DRIVER_DEVICE_FUNCTION(CopyImageToBuffer, _namespace) \
|
||||
PULSE_LOAD_DRIVER_DEVICE_FUNCTION(BlitImage, _namespace) \
|
||||
PULSE_LOAD_DRIVER_DEVICE_FUNCTION(DestroyImage, _namespace) \
|
||||
|
||||
#endif // PULSE_DEFS_H_
|
||||
|
||||
@@ -73,9 +73,13 @@ typedef struct PulseDeviceHandler
|
||||
PulseCreateBufferPFN PFN_CreateBuffer;
|
||||
PulseMapBufferPFN PFN_MapBuffer;
|
||||
PulseUnmapBufferPFN PFN_UnmapBuffer;
|
||||
PulseCopyBufferToBufferPFN PFN_CopyBufferToBuffer;
|
||||
PulseCopyBufferToImageFN PFN_CopyBufferToImage;
|
||||
PulseDestroyBufferPFN PFN_DestroyBuffer;
|
||||
PulseCreateImagePFN PFN_CreateImage;
|
||||
PulseIsImageFormatValidPFN PFN_IsImageFormatValid;
|
||||
PulseCopyImageToBufferPFN PFN_CopyImageToBuffer;
|
||||
PulseBlitImagePFN PFN_BlitImage;
|
||||
PulseDestroyImagePFN PFN_DestroyImage;
|
||||
|
||||
// Attributes
|
||||
|
||||
@@ -31,5 +31,9 @@ typedef void (*PulseDestroyBufferPFN)(PulseDevice, PulseBuffer);
|
||||
typedef PulseImage (*PulseCreateImagePFN)(PulseDevice, const PulseImageCreateInfo*);
|
||||
typedef bool (*PulseIsImageFormatValidPFN)(PulseDevice, PulseImageFormat, PulseImageType, PulseImageUsageFlags);
|
||||
typedef void (*PulseDestroyImagePFN)(PulseDevice, PulseImage);
|
||||
typedef bool (*PulseCopyBufferToBufferPFN)(const PulseBufferRegion*, const PulseBufferRegion*);
|
||||
typedef bool (*PulseCopyBufferToImageFN)(const PulseBufferRegion*, const PulseImageRegion*);
|
||||
typedef bool (*PulseCopyImageToBufferPFN)(const PulseImageRegion*, const PulseBufferRegion*);
|
||||
typedef bool (*PulseBlitImagePFN)(const PulseImageRegion*, const PulseImageRegion*);
|
||||
|
||||
#endif // PULSE_PFNS_H_
|
||||
|
||||
Reference in New Issue
Block a user