21 lines
835 B
C
21 lines
835 B
C
#include "gryphn_buffer.h"
|
|
#include "output_device/gryphn_output_device.h"
|
|
#include "gryphn_platform_functions.h"
|
|
|
|
gnReturnCode gnCreateBuffer(gnBufferHandle* buffer, gnOutputDeviceHandle device, gnBufferInfo info) {
|
|
*buffer = malloc(sizeof(struct gnBuffer_t));
|
|
(*buffer)->device = device;
|
|
(*buffer)->info = info;
|
|
return device->deviceFunctions->_gnCreateBuffer(*buffer, device, info);
|
|
}
|
|
void gnBufferData(gnBufferHandle buffer, size_t dataSize, void* data) {
|
|
buffer->device->deviceFunctions->_gnBufferData(buffer, dataSize, data);
|
|
}
|
|
void* gnMapBuffer(gnBufferHandle buffer) {
|
|
if (buffer->info.usage == GN_STATIC_DRAW) return NULL;
|
|
return buffer->device->deviceFunctions->_gnMapBuffer(buffer);
|
|
}
|
|
void gnDestroyBuffer(gnBufferHandle buffer) {
|
|
buffer->device->deviceFunctions->_gnDestroyBuffer(buffer);
|
|
}
|