add support for storage buffers in vulkan
This commit is contained in:
@@ -11,6 +11,9 @@ gnReturnCode gnCreateBuffer(gnBufferHandle* buffer, gnOutputDeviceHandle device,
|
||||
void gnBufferData(gnBufferHandle buffer, size_t dataSize, void* data) {
|
||||
buffer->device->instance->callingLayer->deviceFunctions._gnBufferData(buffer, dataSize, data);
|
||||
}
|
||||
void gnBufferSubData(gnBufferHandle buffer, size_t offset, size_t dataSize, gnBufferMemory data) {
|
||||
buffer->device->instance->callingLayer->deviceFunctions._gnBufferSubData(buffer, offset, dataSize, data);
|
||||
}
|
||||
void* gnMapBuffer(gnBufferHandle buffer) {
|
||||
if (buffer->info.usage == GN_STATIC_DRAW) return NULL;
|
||||
return buffer->device->instance->callingLayer->deviceFunctions._gnMapBuffer(buffer);
|
||||
|
@@ -11,7 +11,8 @@ typedef enum gnIndexType {
|
||||
typedef enum gnBufferType {
|
||||
GN_VERTEX_BUFFER = 0x00000001,
|
||||
GN_INDEX_BUFFER = 0x00000002,
|
||||
GN_UNIFORM_BUFFER = 0x00000004
|
||||
GN_UNIFORM_BUFFER = 0x00000004,
|
||||
GN_STORAGE_BUFFER = 0x00000008
|
||||
} gnBufferType;
|
||||
|
||||
typedef enum gnBufferUsage {
|
||||
@@ -37,5 +38,6 @@ GN_ARRAY_LIST(gnBufferMemory);
|
||||
|
||||
gnReturnCode gnCreateBuffer(gnBufferHandle* buffer, gnOutputDeviceHandle device, gnBufferInfo info);
|
||||
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 gnDestroyBuffer(gnBufferHandle buffer);
|
||||
|
Reference in New Issue
Block a user