aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/video_core/renderer_opengl/gl_resource_manager.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/renderer_opengl/gl_resource_manager.h')
-rw-r--r--src/video_core/renderer_opengl/gl_resource_manager.h79
1 files changed, 79 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
new file mode 100644
index 00000000..975720d0
--- /dev/null
+++ b/src/video_core/renderer_opengl/gl_resource_manager.h
@@ -0,0 +1,79 @@
+// Copyright 2015 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include "common/common_types.h"
+
+#include "generated/gl_3_2_core.h"
+
+class OGLTexture : public NonCopyable {
+public:
+ OGLTexture();
+ ~OGLTexture();
+
+ /// Creates a new internal OpenGL resource and stores the handle
+ void Create();
+
+ /// Deletes the internal OpenGL resource
+ void Release();
+
+ GLuint handle;
+};
+
+class OGLShader : public NonCopyable {
+public:
+ OGLShader();
+ ~OGLShader();
+
+ /// Creates a new internal OpenGL resource and stores the handle
+ void Create(const char* vert_shader, const char* frag_shader);
+
+ /// Deletes the internal OpenGL resource
+ void Release();
+
+ GLuint handle;
+};
+
+class OGLBuffer : public NonCopyable {
+public:
+ OGLBuffer();
+ ~OGLBuffer();
+
+ /// Creates a new internal OpenGL resource and stores the handle
+ void Create();
+
+ /// Deletes the internal OpenGL resource
+ void Release();
+
+ GLuint handle;
+};
+
+class OGLVertexArray : public NonCopyable {
+public:
+ OGLVertexArray();
+ ~OGLVertexArray();
+
+ /// Creates a new internal OpenGL resource and stores the handle
+ void Create();
+
+ /// Deletes the internal OpenGL resource
+ void Release();
+
+ GLuint handle;
+};
+
+class OGLFramebuffer : public NonCopyable {
+public:
+ OGLFramebuffer();
+ ~OGLFramebuffer();
+
+ /// Creates a new internal OpenGL resource and stores the handle
+ void Create();
+
+ /// Deletes the internal OpenGL resource
+ void Release();
+
+ GLuint handle;
+};