diff --git a/projects/apis/vulkan/loader/vulkan_device_loader.c b/projects/apis/vulkan/loader/vulkan_device_loader.c index 9b993aa..6081ad0 100644 --- a/projects/apis/vulkan/loader/vulkan_device_loader.c +++ b/projects/apis/vulkan/loader/vulkan_device_loader.c @@ -38,6 +38,7 @@ gnDeviceFunctions loadVulkanDeviceFunctions(void) { ._gnBufferData = vulkanBufferData, ._gnBufferSubData = vulkanBufferSubData, ._gnMapBuffer = vulkanMapBuffer, + ._gnUnmapBuffer = vulkanUnmapBuffer, ._gnDestroyBuffer = destroyBuffer, ._gnCreateUniformPool = createUniformPool, diff --git a/projects/core/src/buffers/gryphn_buffer.c b/projects/core/src/buffers/gryphn_buffer.c index 7649c8f..de450d7 100644 --- a/projects/core/src/buffers/gryphn_buffer.c +++ b/projects/core/src/buffers/gryphn_buffer.c @@ -21,6 +21,9 @@ void* gnMapBuffer(gnBufferHandle buffer) { if (buffer->info.usage == GN_STATIC_DRAW) return NULL; return buffer->device->instance->callingLayer->deviceFunctions._gnMapBuffer(buffer); } +void gnUnmapBuffer(gnBufferHandle buffer) { + buffer->device->instance->callingLayer->deviceFunctions._gnUnmapBuffer(buffer); +} void gnDestroyBuffer(gnBufferHandle buffer) { buffer->device->instance->callingLayer->deviceFunctions._gnDestroyBuffer(buffer); } diff --git a/projects/core/src/buffers/gryphn_buffer.h b/projects/core/src/buffers/gryphn_buffer.h index 6494144..bbadb9d 100644 --- a/projects/core/src/buffers/gryphn_buffer.h +++ b/projects/core/src/buffers/gryphn_buffer.h @@ -44,4 +44,5 @@ gnReturnCode gnCreateBuffer(gnBufferHandle* buffer, gnOutputDeviceHandle device, void gnBufferData(gnBufferHandle buffer, size_t dataSize, gnBufferMemory data); void gnBufferSubData(gnBufferHandle buffer, size_t offset, size_t dataSize, gnBufferMemory data); gnBufferMemory gnMapBuffer(gnBufferHandle buffer); +void gnUnmapBuffer(gnBufferHandle buffer); void gnDestroyBuffer(gnBufferHandle buffer); diff --git a/projects/loader/src/gryphn_device_functions.h b/projects/loader/src/gryphn_device_functions.h index 955a9ba..9bdf977 100644 --- a/projects/loader/src/gryphn_device_functions.h +++ b/projects/loader/src/gryphn_device_functions.h @@ -42,6 +42,7 @@ typedef struct gnDeviceFunctions { void (*_gnBufferData)(gnBufferHandle buffer, size_t size, void* data); void (*_gnBufferSubData)(gnBufferHandle buffer, size_t offset, size_t dataSize, void* data); void* (*_gnMapBuffer)(gnBufferHandle buffer); + void (*_gnUnmapBuffer)(gnBufferHandle buffer); void (*_gnDestroyBuffer)(gnBufferHandle buffer); gnReturnCode (*_gnCreateUniformPool)(gnUniformPool pool, gnDeviceHandle device); diff --git a/projects/validation_layers/function_loader/loader/function_loader.c b/projects/validation_layers/function_loader/loader/function_loader.c index 39d35aa..229f50f 100644 --- a/projects/validation_layers/function_loader/loader/function_loader.c +++ b/projects/validation_layers/function_loader/loader/function_loader.c @@ -68,6 +68,7 @@ gnDeviceFunctions loadFunctionLoaderDeviceFunctions(void) { ._gnBufferData = checkBufferData, ._gnBufferSubData = checkBufferSubData, ._gnMapBuffer = checkMapBuffer, + ._gnUnmapBuffer = checkUnmapBuffer, ._gnDestroyBuffer = checkDestroyBuffer, ._gnCreateUniformPool = checkCreateUniformPool, diff --git a/projects/validation_layers/function_loader/src/device_functions.c b/projects/validation_layers/function_loader/src/device_functions.c index c13b54b..b943744 100644 --- a/projects/validation_layers/function_loader/src/device_functions.c +++ b/projects/validation_layers/function_loader/src/device_functions.c @@ -70,6 +70,9 @@ void checkBufferSubData(gnBufferHandle buffer, size_t offset, size_t size, void* void* checkMapBuffer(gnBufferHandle buffer) { CHECK_RETURNED_FUNCTION(buffer->device->instance, _gnMapBuffer, deviceFunctions, NULL, buffer); } +void checkUnmapBuffer(gnBufferHandle buffer) { + CHECK_VOID_FUNCTION(buffer->device->instance, _gnUnmapBuffer, deviceFunctions, buffer); +} void checkDestroyBuffer(gnBufferHandle buffer) { CHECK_VOID_FUNCTION(buffer->device->instance, _gnDestroyBuffer, deviceFunctions, buffer); } diff --git a/projects/validation_layers/function_loader/src/device_functions.h b/projects/validation_layers/function_loader/src/device_functions.h index b5d5d2a..e420182 100644 --- a/projects/validation_layers/function_loader/src/device_functions.h +++ b/projects/validation_layers/function_loader/src/device_functions.h @@ -23,6 +23,7 @@ gnReturnCode checkCreateBuffer(gnBufferHandle buffer, gnDeviceHandle device, gnB void checkBufferData(gnBufferHandle buffer, size_t size, void* data); void checkBufferSubData(gnBufferHandle buffer, size_t offset, size_t size, void* data); void* checkMapBuffer(gnBufferHandle buffer); +void checkUnmapBuffer(gnBufferHandle buffer); void checkDestroyBuffer(gnBufferHandle buffer); gnReturnCode checkCreateUniformPool(gnUniformPool pool, gnDeviceHandle device);