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