summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/StreamBuffer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/VideoBackends/OGL/StreamBuffer.cpp')
-rw-r--r--Source/Core/VideoBackends/OGL/StreamBuffer.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/Source/Core/VideoBackends/OGL/StreamBuffer.cpp b/Source/Core/VideoBackends/OGL/StreamBuffer.cpp
index 366aa42965..eb7fc0a619 100644
--- a/Source/Core/VideoBackends/OGL/StreamBuffer.cpp
+++ b/Source/Core/VideoBackends/OGL/StreamBuffer.cpp
@@ -376,7 +376,12 @@ std::unique_ptr<StreamBuffer> StreamBuffer::Create(u32 type, u32 size)
// don't fall back to MapAnd* for Nvidia drivers
if (DriverDetails::HasBug(DriverDetails::BUG_BROKEN_UNSYNC_MAPPING))
- return std::make_unique<BufferSubData>(type, size);
+ {
+ if (DriverDetails::HasBug(DriverDetails::BUG_BROKEN_BUFFER_STREAM))
+ return std::make_unique<BufferData>(type, size);
+ else
+ return std::make_unique<BufferSubData>(type, size);
+ }
// mapping fallback
if (g_ogl_config.bSupportsGLSync)