|
@@ -10,6 +10,7 @@
|
|
|
|
|
|
|
|
#include "video_core/renderer_opengl/generated/gl_3_2_core.h"
|
|
#include "video_core/renderer_opengl/generated/gl_3_2_core.h"
|
|
|
#include "video_core/renderer_opengl/gl_shader_util.h"
|
|
#include "video_core/renderer_opengl/gl_shader_util.h"
|
|
|
|
|
+#include "video_core/renderer_opengl/gl_state.h"
|
|
|
|
|
|
|
|
class OGLTexture : private NonCopyable {
|
|
class OGLTexture : private NonCopyable {
|
|
|
public:
|
|
public:
|
|
@@ -28,6 +29,7 @@ public:
|
|
|
void Release() {
|
|
void Release() {
|
|
|
if (handle == 0) return;
|
|
if (handle == 0) return;
|
|
|
glDeleteTextures(1, &handle);
|
|
glDeleteTextures(1, &handle);
|
|
|
|
|
+ OpenGLState::ResetTexture(handle);
|
|
|
handle = 0;
|
|
handle = 0;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -51,6 +53,7 @@ public:
|
|
|
void Release() {
|
|
void Release() {
|
|
|
if (handle == 0) return;
|
|
if (handle == 0) return;
|
|
|
glDeleteProgram(handle);
|
|
glDeleteProgram(handle);
|
|
|
|
|
+ OpenGLState::ResetProgram(handle);
|
|
|
handle = 0;
|
|
handle = 0;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -74,6 +77,7 @@ public:
|
|
|
void Release() {
|
|
void Release() {
|
|
|
if (handle == 0) return;
|
|
if (handle == 0) return;
|
|
|
glDeleteBuffers(1, &handle);
|
|
glDeleteBuffers(1, &handle);
|
|
|
|
|
+ OpenGLState::ResetBuffer(handle);
|
|
|
handle = 0;
|
|
handle = 0;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -97,6 +101,7 @@ public:
|
|
|
void Release() {
|
|
void Release() {
|
|
|
if (handle == 0) return;
|
|
if (handle == 0) return;
|
|
|
glDeleteVertexArrays(1, &handle);
|
|
glDeleteVertexArrays(1, &handle);
|
|
|
|
|
+ OpenGLState::ResetVertexArray(handle);
|
|
|
handle = 0;
|
|
handle = 0;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -120,6 +125,7 @@ public:
|
|
|
void Release() {
|
|
void Release() {
|
|
|
if (handle == 0) return;
|
|
if (handle == 0) return;
|
|
|
glDeleteFramebuffers(1, &handle);
|
|
glDeleteFramebuffers(1, &handle);
|
|
|
|
|
+ OpenGLState::ResetFramebuffer(handle);
|
|
|
handle = 0;
|
|
handle = 0;
|
|
|
}
|
|
}
|
|
|
|
|
|