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 "video_core/renderer_base.h"
#include "video_core/renderer_opengl/texture_filters/texture_filterer.h"
#include "video_core/video_core.h"
namespace {

View File

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

View File

@@ -50,7 +50,7 @@ void Apply() {
#endif
if (VideoCore::g_renderer) {
RendererSettings& settings = VideoCore::g_renderer->Settings();
auto& settings = VideoCore::g_renderer->Settings();
settings.bg_color_update_requested = true;
settings.sampler_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;
}
RendererBase& System::Renderer() {
VideoCore::RendererBase& System::Renderer() {
return *VideoCore::g_renderer;
}

View File

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

View File

@@ -6,6 +6,8 @@
#include "core/frontend/emu_window.h"
#include "video_core/renderer_base.h"
namespace VideoCore {
RendererBase::RendererBase(Frontend::EmuWindow& window, Frontend::EmuWindow* 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_requested = true;
}
} // namespace VideoCore

View File

@@ -5,14 +5,15 @@
#pragma once
#include <atomic>
#include "common/common_types.h"
#include "core/frontend/framebuffer_layout.h"
#include "video_core/rasterizer_interface.h"
#include "video_core/video_core.h"
namespace Frontend {
class EmuWindow;
}
namespace VideoCore {
struct RendererSettings {
// Screenshot
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
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.
#pragma once
#include <tuple>
#include "video_core/renderer_opengl/gl_resource_manager.h"

View File

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

View File

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

View File

@@ -14,8 +14,6 @@ namespace Frontend {
class EmuWindow;
}
class RendererBase;
namespace Memory {
class MemorySystem;
}
@@ -25,6 +23,7 @@ class MemorySystem;
namespace VideoCore {
class RendererBase;
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