summaryrefslogtreecommitdiff
path: root/src/video_core/buffer_cache.h
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2019-07-05 23:49:45 -0300
committerGravatar ReinUsesLisp2019-07-06 00:37:56 -0300
commitf7691ebe57d083f12969b5e186154a301f7bfae1 (patch)
tree03f494770c8686d1dffd835f2cac88d92776f23f /src/video_core/buffer_cache.h
parentgl_rasterizer: Minor style changes (diff)
downloadyuzu-f7691ebe57d083f12969b5e186154a301f7bfae1.tar.gz
yuzu-f7691ebe57d083f12969b5e186154a301f7bfae1.tar.xz
yuzu-f7691ebe57d083f12969b5e186154a301f7bfae1.zip
gl_rasterizer: Fix nullptr dereference on disabled buffers
Diffstat (limited to 'src/video_core/buffer_cache.h')
-rw-r--r--src/video_core/buffer_cache.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/video_core/buffer_cache.h b/src/video_core/buffer_cache.h
index eb0ec45c2..e51f2418c 100644
--- a/src/video_core/buffer_cache.h
+++ b/src/video_core/buffer_cache.h
@@ -162,6 +162,8 @@ public:
162 return std::exchange(invalidated, false); 162 return std::exchange(invalidated, false);
163 } 163 }
164 164
165 virtual const BufferType* GetEmptyBuffer(std::size_t size) = 0;
166
165protected: 167protected:
166 void FlushObjectInner(const Buffer& entry) override { 168 void FlushObjectInner(const Buffer& entry) override {
167 DownloadBufferData(entry->GetBuffer(), 0, entry->GetSize(), entry->GetWritableHostPtr()); 169 DownloadBufferData(entry->GetBuffer(), 0, entry->GetSize(), entry->GetWritableHostPtr());
@@ -171,8 +173,6 @@ protected:
171 173
172 virtual const BufferType* ToHandle(const BufferStorageType& storage) = 0; 174 virtual const BufferType* ToHandle(const BufferStorageType& storage) = 0;
173 175
174 virtual const BufferType* GetEmptyBuffer(std::size_t size) = 0;
175
176 virtual void UploadBufferData(const BufferStorageType& buffer, std::size_t offset, 176 virtual void UploadBufferData(const BufferStorageType& buffer, std::size_t offset,
177 std::size_t size, const u8* data) = 0; 177 std::size_t size, const u8* data) = 0;
178 178