From 4864c51125cced2077b86a9f9346ffd2b4eb3210 Mon Sep 17 00:00:00 2001 From: Wunkolo Date: Mon, 10 Jul 2023 10:31:46 -0700 Subject: [PATCH] Migrate OpenGL specific headers to `renderer_gl` --- CMakeLists.txt | 5 +++-- include/emulator.hpp | 5 ----- include/{ => renderer_gl}/gl_state.hpp | 0 include/{ => renderer_gl}/opengl.hpp | 0 src/{ => core/renderer_gl}/gl_state.cpp | 2 +- src/core/renderer_gl/renderer_gl.cpp | 2 ++ src/emulator.cpp | 7 +------ 7 files changed, 7 insertions(+), 14 deletions(-) rename include/{ => renderer_gl}/gl_state.hpp (100%) rename include/{ => renderer_gl}/opengl.hpp (100%) rename src/{ => core/renderer_gl}/gl_state.cpp (96%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0c665f48..cf7f6019 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -145,7 +145,7 @@ set(HEADER_FILES include/emulator.hpp include/helpers.hpp include/termcolor.hpp include/PICA/dynapica/shader_rec_emitter_x64.hpp include/PICA/pica_hash.hpp include/result/result.hpp include/result/result_common.hpp include/result/result_fs.hpp include/result/result_fnd.hpp include/result/result_gsp.hpp include/result/result_kernel.hpp include/result/result_os.hpp - include/crypto/aes_engine.hpp include/metaprogramming.hpp include/PICA/pica_vertex.hpp include/gl_state.hpp + include/crypto/aes_engine.hpp include/metaprogramming.hpp include/PICA/pica_vertex.hpp include/config.hpp include/services/ir_user.hpp include/httpserver.hpp ) @@ -186,10 +186,11 @@ if(PANDA3DS_ENABLE_OPENGL) set(RENDERER_GL_INCLUDE_FILES include/opengl.hpp include/renderer_gl/renderer_gl.hpp include/renderer_gl/textures.hpp include/renderer_gl/surfaces.hpp include/renderer_gl/surface_cache.hpp + include/renderer_gl/gl_state.hpp ) set(RENDERER_GL_SOURCE_FILES src/core/renderer_gl/renderer_gl.cpp src/core/renderer_gl/textures.cpp src/core/renderer_gl/etc1.cpp - src/gl_state.cpp + src/core/renderer_gl/gl_state.cpp ) source_group("Source Files\\Core\\OpenGL Renderer" FILES ${RENDERER_GL_SOURCE_FILES}) diff --git a/include/emulator.hpp b/include/emulator.hpp index 7f5bef0e..034b0034 100644 --- a/include/emulator.hpp +++ b/include/emulator.hpp @@ -13,10 +13,6 @@ #include "io_file.hpp" #include "memory.hpp" -#if PANDA3DS_ENABLE_OPENGL -#include "gl_state.hpp" -#endif - #ifdef PANDA3DS_ENABLE_HTTP_SERVER #include "httpserver.hpp" #endif @@ -35,7 +31,6 @@ class Emulator { #if PANDA3DS_ENABLE_OPENGL SDL_GLContext glContext; - GLStateManager gl; #endif SDL_GameController* gameController = nullptr; diff --git a/include/gl_state.hpp b/include/renderer_gl/gl_state.hpp similarity index 100% rename from include/gl_state.hpp rename to include/renderer_gl/gl_state.hpp diff --git a/include/opengl.hpp b/include/renderer_gl/opengl.hpp similarity index 100% rename from include/opengl.hpp rename to include/renderer_gl/opengl.hpp diff --git a/src/gl_state.cpp b/src/core/renderer_gl/gl_state.cpp similarity index 96% rename from src/gl_state.cpp rename to src/core/renderer_gl/gl_state.cpp index 612ae44d..691eb7b6 100644 --- a/src/gl_state.cpp +++ b/src/core/renderer_gl/gl_state.cpp @@ -1,4 +1,4 @@ -#include "gl_state.hpp" +#include "renderer_gl/gl_state.hpp" void GLStateManager::resetBlend() { blendEnabled = false; diff --git a/src/core/renderer_gl/renderer_gl.cpp b/src/core/renderer_gl/renderer_gl.cpp index 1546761d..bcfb0dc0 100644 --- a/src/core/renderer_gl/renderer_gl.cpp +++ b/src/core/renderer_gl/renderer_gl.cpp @@ -607,6 +607,8 @@ void RendererGL::reset() { } void RendererGL::initGraphicsContext() { + gl.reset(); + OpenGL::Shader vert(vertexShader, OpenGL::Vertex); OpenGL::Shader frag(fragmentShader, OpenGL::Fragment); triangleProgram.create({vert, frag}); diff --git a/src/emulator.cpp b/src/emulator.cpp index 6b821d86..0f9c8c54 100644 --- a/src/emulator.cpp +++ b/src/emulator.cpp @@ -433,12 +433,7 @@ bool Emulator::loadELF(std::ifstream& file) { } // Reset our graphics context and initialize the GPU's graphics context -void Emulator::initGraphicsContext() { -#if PANDA3DS_ENABLE_OPENGL - gl.reset(); // TODO (For when we have multiple backends): Only do this if we are using OpenGL -#endif - gpu.initGraphicsContext(); -} +void Emulator::initGraphicsContext() { gpu.initGraphicsContext(); } #ifdef PANDA3DS_ENABLE_HTTP_SERVER void Emulator::pollHttpServer() {