|
|
@ -162,6 +162,8 @@ public:
|
|
|
|
return std::exchange(invalidated, false);
|
|
|
|
return std::exchange(invalidated, false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
virtual const BufferType* GetEmptyBuffer(std::size_t size) = 0;
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
protected:
|
|
|
|
void FlushObjectInner(const Buffer& entry) override {
|
|
|
|
void FlushObjectInner(const Buffer& entry) override {
|
|
|
|
DownloadBufferData(entry->GetBuffer(), 0, entry->GetSize(), entry->GetWritableHostPtr());
|
|
|
|
DownloadBufferData(entry->GetBuffer(), 0, entry->GetSize(), entry->GetWritableHostPtr());
|
|
|
@ -171,8 +173,6 @@ protected:
|
|
|
|
|
|
|
|
|
|
|
|
virtual const BufferType* ToHandle(const BufferStorageType& storage) = 0;
|
|
|
|
virtual const BufferType* ToHandle(const BufferStorageType& storage) = 0;
|
|
|
|
|
|
|
|
|
|
|
|
virtual const BufferType* GetEmptyBuffer(std::size_t size) = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
virtual void UploadBufferData(const BufferStorageType& buffer, std::size_t offset,
|
|
|
|
virtual void UploadBufferData(const BufferStorageType& buffer, std::size_t offset,
|
|
|
|
std::size_t size, const u8* data) = 0;
|
|
|
|
std::size_t size, const u8* data) = 0;
|
|
|
|
|
|
|
|
|
|
|
|