diff options
author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2019-06-14 18:51:13 +0200 |
---|---|---|
committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-06-21 02:38:34 +0200 |
commit | 9422cf7c105106d794d4d2fb32822ab287e79422 (patch) | |
tree | 30a8d06d5def460e0df9c10ef0afb488b5f49de4 | |
parent | gl_texture_cache: Correct Image Blit (diff) | |
download | yuzu-9422cf7c105106d794d4d2fb32822ab287e79422.tar yuzu-9422cf7c105106d794d4d2fb32822ab287e79422.tar.gz yuzu-9422cf7c105106d794d4d2fb32822ab287e79422.tar.bz2 yuzu-9422cf7c105106d794d4d2fb32822ab287e79422.tar.lz yuzu-9422cf7c105106d794d4d2fb32822ab287e79422.tar.xz yuzu-9422cf7c105106d794d4d2fb32822ab287e79422.tar.zst yuzu-9422cf7c105106d794d4d2fb32822ab287e79422.zip |
-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; } |