| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #include "BsGpuParamBlockBuffer.h"
- #include "BsGpuParamBlock.h"
- namespace BansheeEngine
- {
- GpuParamBlockBuffer::GpuParamBlockBuffer()
- :mSize(0), mUsage(GPBU_DYNAMIC), mParamBlock(nullptr), mCoreParamBlock(nullptr)
- {
- }
- GpuParamBlockBuffer::~GpuParamBlockBuffer()
- {
- }
- void GpuParamBlockBuffer::initialize(UINT32 size, GpuParamBlockUsage usage)
- {
- mSize = size;
- mUsage = usage;
- mParamBlock = bs_shared_ptr<GpuParamBlock>(size);
- CoreObject::initialize();
- }
- GenericGpuParamBlockBuffer::GenericGpuParamBlockBuffer()
- :mData(nullptr)
- { }
- void GenericGpuParamBlockBuffer::writeData(const UINT8* data)
- {
- memcpy(mData, data, mSize);
- }
- void GenericGpuParamBlockBuffer::readData(UINT8* data) const
- {
- memcpy(data, mData, mSize);
- }
- void GenericGpuParamBlockBuffer::initialize_internal()
- {
- if (mSize > 0)
- mData = (UINT8*)bs_alloc<ScratchAlloc>(mSize);
- else
- mData = nullptr;
- memset(mData, 0, mSize);
- GpuParamBlockBuffer::initialize_internal();
- }
- void GenericGpuParamBlockBuffer::destroy_internal()
- {
- if(mData != nullptr)
- bs_free<ScratchAlloc>(mData);
- GpuParamBlockBuffer::destroy_internal();
- }
- }
|