From 889395a79a3b8afb742375c52ee93999f8d980de Mon Sep 17 00:00:00 2001 From: fallenoak Date: Thu, 6 Apr 2023 15:00:16 -0500 Subject: [PATCH] feat(gx): add buf data helper function --- src/gx/Buffer.cpp | 9 +++++++++ src/gx/Buffer.hpp | 2 ++ 2 files changed, 11 insertions(+) diff --git a/src/gx/Buffer.cpp b/src/gx/Buffer.cpp index 7642ff4..5d95f80 100644 --- a/src/gx/Buffer.cpp +++ b/src/gx/Buffer.cpp @@ -187,6 +187,15 @@ CGxBuf* GxBufCreate(CGxPool* pool, uint32_t itemSize, uint32_t itemCount, uint32 return g_theGxDevicePtr->BufCreate(pool, itemSize, itemCount, index); } +void GxBufData(CGxBuf* buf, const void* data, uint32_t size, uint32_t offset) { + if (size == 0) { + size = buf->m_itemSize * buf->m_itemCount; + } + + g_theGxDevicePtr->BufData(buf, data, size, offset); + buf->unk1C = 1; +} + char* GxBufLock(CGxBuf* buf) { return g_theGxDevicePtr->BufLock(buf); } diff --git a/src/gx/Buffer.hpp b/src/gx/Buffer.hpp index 9b77a77..c673e0a 100644 --- a/src/gx/Buffer.hpp +++ b/src/gx/Buffer.hpp @@ -25,6 +25,8 @@ uint32_t GxVertexAttribOffset(EGxVertexBufferFormat, EGxVertexAttrib); CGxBuf* GxBufCreate(CGxPool*, uint32_t, uint32_t, uint32_t); +void GxBufData(CGxBuf* buf, const void* data, uint32_t size, uint32_t offset); + char* GxBufLock(CGxBuf* buf); void GxBufUnlock(CGxBuf*, uint32_t);