diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/video_core/renderer_opengl/gl_resource_manager.cpp | 5 | ||||
-rw-r--r-- | src/video_core/renderer_opengl/gl_resource_manager.h | 2 | ||||
-rw-r--r-- | src/video_core/renderer_opengl/gl_texture_cache.cpp | 2 |
3 files changed, 4 insertions, 5 deletions
diff --git a/src/video_core/renderer_opengl/gl_resource_manager.cpp b/src/video_core/renderer_opengl/gl_resource_manager.cpp index a1f91d677..9f840a42e 100644 --- a/src/video_core/renderer_opengl/gl_resource_manager.cpp +++ b/src/video_core/renderer_opengl/gl_resource_manager.cpp @@ -148,12 +148,11 @@ void OGLBuffer::Release() { handle = 0; } -void OGLBuffer::MakePersistant(std::size_t buffer_size) { +void OGLBuffer::MakeStreamCopy(std::size_t buffer_size) { if (handle == 0 || buffer_size == 0) return; - const GLbitfield flags = GL_MAP_PERSISTENT_BIT | GL_MAP_WRITE_BIT | GL_MAP_READ_BIT; - glNamedBufferStorage(handle, static_cast<GLsizeiptr>(buffer_size), nullptr, flags); + glNamedBufferData(handle, buffer_size, nullptr, GL_STREAM_COPY); } void OGLSync::Create() { diff --git a/src/video_core/renderer_opengl/gl_resource_manager.h b/src/video_core/renderer_opengl/gl_resource_manager.h index f2873ef96..b2aa558a1 100644 --- a/src/video_core/renderer_opengl/gl_resource_manager.h +++ b/src/video_core/renderer_opengl/gl_resource_manager.h @@ -187,7 +187,7 @@ public: void Release(); // Converts the buffer into a persistant storage buffer - void MakePersistant(std::size_t buffer_size); + void MakeStreamCopy(std::size_t buffer_size); GLuint handle = 0; }; diff --git a/src/video_core/renderer_opengl/gl_texture_cache.cpp b/src/video_core/renderer_opengl/gl_texture_cache.cpp index edb4e3177..892f286b7 100644 --- a/src/video_core/renderer_opengl/gl_texture_cache.cpp +++ b/src/video_core/renderer_opengl/gl_texture_cache.cpp @@ -599,7 +599,7 @@ GLuint TextureCacheOpenGL::FetchPBO(std::size_t buffer_size) { if (cp.handle == 0) { const std::size_t ceil_size = 1ULL << l2; cp.Create(); - cp.MakePersistant(ceil_size); + cp.MakeStreamCopy(ceil_size); } return cp.handle; } |