29 , _alignmentRequirement(AlignmentRequirement(descriptor._bufferParams._flags._usageType))
30 , _name(descriptor._name)
31 , _params(descriptor._bufferParams)
#define PROFILE_SCOPE_AUTO(CATEGORY)
Rough around the edges Adapter pattern abstracting the actual rendering API and access to the GPU.
static const DeviceInformation & GetDeviceInformation() noexcept
static U64 FrameCount() noexcept
Utility class that adds basic GUID management to objects.
virtual void readBytesInternal(BufferRange range, std::pair< bufferPtr, size_t > outData)=0
BufferUpdateFrequency getUpdateFrequency() const noexcept
void readBytes(BufferRange range, std::pair< bufferPtr, size_t > outData)
FORCE_INLINE BufferUsageType getUsage() const noexcept
static size_t AlignmentRequirement(BufferUsageType usage) noexcept
U64 _lastWriteFrameNumber
BufferLock clearBytes(BufferRange range)
BufferUpdateUsage getUpdateUsage() const noexcept
BufferLock writeBytes(BufferRange range, const bufferPtr data)
void readData(BufferRange range, std::pair< bufferPtr, size_t > outData)
BufferLock writeData(BufferRange range, const bufferPtr data)
FORCE_INLINE size_t getStartOffset(const bool read) const noexcept
ShaderBuffer(GFXDevice &context, const ShaderBufferDescriptor &descriptor)
virtual BufferLock writeBytesInternal(BufferRange range, const bufferPtr data)=0
FORCE_INLINE BufferLock clearData()
constexpr Optick::Category::Type Graphics
FORCE_INLINE size_t GetAlignmentCorrected(const size_t value, const size_t alignment) noexcept
Handle console commands that start with a forward slash.
constexpr U64 _ID(const char *const str, const U64 value=val_64_const) noexcept
BufferUpdateUsage _updateUsage
BufferUsageType _usageType
BufferUpdateFrequency _updateFrequency
size_t _elementSize
Buffer primitive size in bytes.
BufferParams _bufferParams