video_core: Move RendererBase to VideoCore

This commit is contained in:
GPUCode
2023-02-04 16:31:58 +02:00
parent b31b6e35a2
commit 5849d29fc1
11 changed files with 20 additions and 9 deletions

View File

@@ -44,6 +44,7 @@
#include "jni/ndk_motion.h" #include "jni/ndk_motion.h"
#include "video_core/renderer_base.h" #include "video_core/renderer_base.h"
#include "video_core/renderer_opengl/texture_filters/texture_filterer.h" #include "video_core/renderer_opengl/texture_filters/texture_filterer.h"
#include "video_core/video_core.h"
namespace { namespace {

View File

@@ -31,6 +31,7 @@
#include "input_common/main.h" #include "input_common/main.h"
#include "network/network.h" #include "network/network.h"
#include "video_core/renderer_base.h" #include "video_core/renderer_base.h"
#include "video_core/video_core.h"
#undef _UNICODE #undef _UNICODE
#include <getopt.h> #include <getopt.h>

View File

@@ -50,7 +50,7 @@ void Apply() {
#endif #endif
if (VideoCore::g_renderer) { if (VideoCore::g_renderer) {
RendererSettings& settings = VideoCore::g_renderer->Settings(); auto& settings = VideoCore::g_renderer->Settings();
settings.bg_color_update_requested = true; settings.bg_color_update_requested = true;
settings.sampler_update_requested = true; settings.sampler_update_requested = true;
settings.shader_update_requested = true; settings.shader_update_requested = true;

View File

@@ -448,7 +448,7 @@ System::ResultStatus System::Init(Frontend::EmuWindow& emu_window,
return ResultStatus::Success; return ResultStatus::Success;
} }
RendererBase& System::Renderer() { VideoCore::RendererBase& System::Renderer() {
return *VideoCore::g_renderer; return *VideoCore::g_renderer;
} }

View File

@@ -57,7 +57,9 @@ namespace VideoDumper {
class Backend; class Backend;
} }
namespace VideoCore {
class RendererBase; class RendererBase;
}
namespace Core { namespace Core {
@@ -208,7 +210,7 @@ public:
return *dsp_core; return *dsp_core;
} }
[[nodiscard]] RendererBase& Renderer(); [[nodiscard]] VideoCore::RendererBase& Renderer();
/** /**
* Gets a reference to the service manager. * Gets a reference to the service manager.

View File

@@ -6,6 +6,8 @@
#include "core/frontend/emu_window.h" #include "core/frontend/emu_window.h"
#include "video_core/renderer_base.h" #include "video_core/renderer_base.h"
namespace VideoCore {
RendererBase::RendererBase(Frontend::EmuWindow& window, Frontend::EmuWindow* secondary_window_) RendererBase::RendererBase(Frontend::EmuWindow& window, Frontend::EmuWindow* secondary_window_)
: render_window{window}, secondary_window{secondary_window_} {} : render_window{window}, secondary_window{secondary_window_} {}
@@ -41,3 +43,5 @@ void RendererBase::RequestScreenshot(void* data, std::function<void()> callback,
settings.screenshot_framebuffer_layout = layout; settings.screenshot_framebuffer_layout = layout;
settings.screenshot_requested = true; settings.screenshot_requested = true;
} }
} // namespace VideoCore

View File

@@ -5,14 +5,15 @@
#pragma once #pragma once
#include <atomic> #include <atomic>
#include "common/common_types.h" #include "core/frontend/framebuffer_layout.h"
#include "video_core/rasterizer_interface.h" #include "video_core/rasterizer_interface.h"
#include "video_core/video_core.h"
namespace Frontend { namespace Frontend {
class EmuWindow; class EmuWindow;
} }
namespace VideoCore {
struct RendererSettings { struct RendererSettings {
// Screenshot // Screenshot
std::atomic_bool screenshot_requested{false}; std::atomic_bool screenshot_requested{false};
@@ -102,3 +103,5 @@ protected:
f32 m_current_fps = 0.0f; ///< Current framerate, should be set by the renderer f32 m_current_fps = 0.0f; ///< Current framerate, should be set by the renderer
int m_current_frame = 0; ///< Current frame, should be set by the renderer int m_current_frame = 0; ///< Current frame, should be set by the renderer
}; };
} // namespace VideoCore

View File

@@ -3,6 +3,7 @@
// Refer to the license.txt file included. // Refer to the license.txt file included.
#pragma once #pragma once
#include <tuple> #include <tuple>
#include "video_core/renderer_opengl/gl_resource_manager.h" #include "video_core/renderer_opengl/gl_resource_manager.h"

View File

@@ -58,7 +58,7 @@ struct ScreenInfo {
class RasterizerOpenGL; class RasterizerOpenGL;
class RendererOpenGL : public RendererBase { class RendererOpenGL : public VideoCore::RendererBase {
public: public:
explicit RendererOpenGL(Memory::MemorySystem& memory, Frontend::EmuWindow& window, explicit RendererOpenGL(Memory::MemorySystem& memory, Frontend::EmuWindow& window,
Frontend::EmuWindow* secondary_window); Frontend::EmuWindow* secondary_window);

View File

@@ -56,7 +56,7 @@ struct ScreenInfo {
class RasterizerVulkan; class RasterizerVulkan;
class RendererVulkan : public RendererBase { class RendererVulkan : public VideoCore::RendererBase {
static constexpr std::size_t PRESENT_PIPELINES = 3; static constexpr std::size_t PRESENT_PIPELINES = 3;
public: public:

View File

@@ -14,8 +14,6 @@ namespace Frontend {
class EmuWindow; class EmuWindow;
} }
class RendererBase;
namespace Memory { namespace Memory {
class MemorySystem; class MemorySystem;
} }
@@ -25,6 +23,7 @@ class MemorySystem;
namespace VideoCore { namespace VideoCore {
class RendererBase;
extern std::unique_ptr<RendererBase> g_renderer; ///< Renderer plugin extern std::unique_ptr<RendererBase> g_renderer; ///< Renderer plugin
// TODO: Wrap these in a user settings struct along with any other graphics settings (often set from // TODO: Wrap these in a user settings struct along with any other graphics settings (often set from