diff options
author | bunnei <bunneidev@gmail.com> | 2020-02-28 01:51:55 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-28 01:51:55 +0100 |
commit | 969357af1a26e74eaa5b0cec677d929bca94dc57 (patch) | |
tree | 59a8bb28215dfbdc817227e4b0b7ea37e6f5ef70 /src/video_core/renderer_opengl/gl_resource_manager.h | |
parent | AM/ICommonStateGetter: Stub SetLcdBacklighOffEnabled (#3454) (diff) | |
parent | renderer_opengl: Reduce swap chain size to 3. (diff) | |
download | yuzu-969357af1a26e74eaa5b0cec677d929bca94dc57.tar yuzu-969357af1a26e74eaa5b0cec677d929bca94dc57.tar.gz yuzu-969357af1a26e74eaa5b0cec677d929bca94dc57.tar.bz2 yuzu-969357af1a26e74eaa5b0cec677d929bca94dc57.tar.lz yuzu-969357af1a26e74eaa5b0cec677d929bca94dc57.tar.xz yuzu-969357af1a26e74eaa5b0cec677d929bca94dc57.tar.zst yuzu-969357af1a26e74eaa5b0cec677d929bca94dc57.zip |
Diffstat (limited to 'src/video_core/renderer_opengl/gl_resource_manager.h')
-rw-r--r-- | src/video_core/renderer_opengl/gl_resource_manager.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_resource_manager.h b/src/video_core/renderer_opengl/gl_resource_manager.h index 514d1d165..995a4e45e 100644 --- a/src/video_core/renderer_opengl/gl_resource_manager.h +++ b/src/video_core/renderer_opengl/gl_resource_manager.h @@ -11,6 +11,31 @@ namespace OpenGL { +class OGLRenderbuffer : private NonCopyable { +public: + OGLRenderbuffer() = default; + + OGLRenderbuffer(OGLRenderbuffer&& o) noexcept : handle(std::exchange(o.handle, 0)) {} + + ~OGLRenderbuffer() { + Release(); + } + + OGLRenderbuffer& operator=(OGLRenderbuffer&& o) noexcept { + Release(); + handle = std::exchange(o.handle, 0); + return *this; + } + + /// Creates a new internal OpenGL resource and stores the handle + void Create(); + + /// Deletes the internal OpenGL resource + void Release(); + + GLuint handle = 0; +}; + class OGLTexture : private NonCopyable { public: OGLTexture() = default; |