summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/video_core/buffer_cache.h4
-rw-r--r--src/video_core/renderer_opengl/gl_buffer_cache.h4
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp2
3 files changed, 5 insertions, 5 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:
return std::exchange(invalidated, false);
}
+ virtual const BufferType* GetEmptyBuffer(std::size_t size) = 0;
+
protected:
void FlushObjectInner(const Buffer& entry) override {
DownloadBufferData(entry->GetBuffer(), 0, entry->GetSize(), entry->GetWritableHostPtr());
@@ -171,8 +173,6 @@ protected:
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,
std::size_t size, const u8* data) = 0;
diff --git a/src/video_core/renderer_opengl/gl_buffer_cache.h b/src/video_core/renderer_opengl/gl_buffer_cache.h
index 3befdc6ab..8c8ac4038 100644
--- a/src/video_core/renderer_opengl/gl_buffer_cache.h
+++ b/src/video_core/renderer_opengl/gl_buffer_cache.h
@@ -27,13 +27,13 @@ public:
std::size_t stream_size);
~OGLBufferCache();
+ const GLuint* GetEmptyBuffer(std::size_t) override;
+
protected:
OGLBuffer CreateBuffer(std::size_t size) override;
const GLuint* ToHandle(const OGLBuffer& buffer) override;
- const GLuint* GetEmptyBuffer(std::size_t) override;
-
void UploadBufferData(const OGLBuffer& buffer, std::size_t offset, std::size_t size,
const u8* data) override;
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index b8430f16d..0bb5c068c 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -788,7 +788,7 @@ void RasterizerOpenGL::SetupConstBuffer(const Tegra::Engines::ConstBufferInfo& b
const GLShader::ConstBufferEntry& entry) {
if (!buffer.enabled) {
// Set values to zero to unbind buffers
- bind_ubo_pushbuffer.Push(0, 0, 0);
+ bind_ubo_pushbuffer.Push(buffer_cache.GetEmptyBuffer(sizeof(float)), 0, sizeof(float));
return;
}