Merge pull request #991 from yuriks/globjects
OpenGL: Make OpenGL object resource wrappers fully inlinemaster
commit
e1a3fed6ff
@ -1,111 +0,0 @@
|
|||||||
// Copyright 2015 Citra Emulator Project
|
|
||||||
// Licensed under GPLv2 or any later version
|
|
||||||
// Refer to the license.txt file included.
|
|
||||||
|
|
||||||
#include "video_core/renderer_opengl/gl_resource_manager.h"
|
|
||||||
#include "video_core/renderer_opengl/gl_shader_util.h"
|
|
||||||
|
|
||||||
// Textures
|
|
||||||
OGLTexture::OGLTexture() : handle(0) {
|
|
||||||
}
|
|
||||||
|
|
||||||
OGLTexture::~OGLTexture() {
|
|
||||||
Release();
|
|
||||||
}
|
|
||||||
|
|
||||||
void OGLTexture::Create() {
|
|
||||||
if (handle != 0) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
glGenTextures(1, &handle);
|
|
||||||
}
|
|
||||||
|
|
||||||
void OGLTexture::Release() {
|
|
||||||
glDeleteTextures(1, &handle);
|
|
||||||
handle = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Shaders
|
|
||||||
OGLShader::OGLShader() : handle(0) {
|
|
||||||
}
|
|
||||||
|
|
||||||
OGLShader::~OGLShader() {
|
|
||||||
Release();
|
|
||||||
}
|
|
||||||
|
|
||||||
void OGLShader::Create(const char* vert_shader, const char* frag_shader) {
|
|
||||||
if (handle != 0) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
handle = ShaderUtil::LoadShaders(vert_shader, frag_shader);
|
|
||||||
}
|
|
||||||
|
|
||||||
void OGLShader::Release() {
|
|
||||||
glDeleteProgram(handle);
|
|
||||||
handle = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Buffer objects
|
|
||||||
OGLBuffer::OGLBuffer() : handle(0) {
|
|
||||||
}
|
|
||||||
|
|
||||||
OGLBuffer::~OGLBuffer() {
|
|
||||||
Release();
|
|
||||||
}
|
|
||||||
|
|
||||||
void OGLBuffer::Create() {
|
|
||||||
if (handle != 0) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
glGenBuffers(1, &handle);
|
|
||||||
}
|
|
||||||
|
|
||||||
void OGLBuffer::Release() {
|
|
||||||
glDeleteBuffers(1, &handle);
|
|
||||||
handle = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Vertex array objects
|
|
||||||
OGLVertexArray::OGLVertexArray() : handle(0) {
|
|
||||||
}
|
|
||||||
|
|
||||||
OGLVertexArray::~OGLVertexArray() {
|
|
||||||
Release();
|
|
||||||
}
|
|
||||||
|
|
||||||
void OGLVertexArray::Create() {
|
|
||||||
if (handle != 0) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
glGenVertexArrays(1, &handle);
|
|
||||||
}
|
|
||||||
|
|
||||||
void OGLVertexArray::Release() {
|
|
||||||
glDeleteVertexArrays(1, &handle);
|
|
||||||
handle = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Framebuffers
|
|
||||||
OGLFramebuffer::OGLFramebuffer() : handle(0) {
|
|
||||||
}
|
|
||||||
|
|
||||||
OGLFramebuffer::~OGLFramebuffer() {
|
|
||||||
Release();
|
|
||||||
}
|
|
||||||
|
|
||||||
void OGLFramebuffer::Create() {
|
|
||||||
if (handle != 0) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
glGenFramebuffers(1, &handle);
|
|
||||||
}
|
|
||||||
|
|
||||||
void OGLFramebuffer::Release() {
|
|
||||||
glDeleteFramebuffers(1, &handle);
|
|
||||||
handle = 0;
|
|
||||||
}
|
|
Loading…
Reference in New Issue