Miscallenious fixes to gl backend and qt frontend (#6834)
* renderer_gl: Make rasterizer normal class member * It doesn't need to be heap allocated anymore * gl_rasterizer: Remove default_texture * It's unused * gl_rasterizer: General cleanup * gl_rasterizer: Lower case lambdas * Match style with review comments from vulkan backend * rasterizer_cache: Prevent memory leak * Since the switch from shared_ptr these surfaces were no longer being destroyed properly. Use our garbage collector for that purpose to destroy it safely for both backends * rasterizer_cache: Make temp copy of old surface * The custom surface would override the memory region of the old region resulting in garbage data, this ensures the custom surface is constructed correctly * citra_qt: Manually create dialog tabs * Allows for custom constructors which is very useful. While at it, global state is now eliminated from configuration * citra_qt: Eliminate global system usage * core: Remove global system usage in memory and HIO * citra_qt: Use qOverload * tests: Run clang format * gl_texture_runtime: Fix surface scaling
This commit is contained in:
@@ -13,7 +13,7 @@ namespace SwRenderer {
|
||||
|
||||
RendererSoftware::RendererSoftware(Core::System& system, Frontend::EmuWindow& window)
|
||||
: VideoCore::RendererBase{system, window, nullptr}, memory{system.Memory()},
|
||||
rasterizer{std::make_unique<RasterizerSoftware>(system.Memory())} {}
|
||||
rasterizer{system.Memory()} {}
|
||||
|
||||
RendererSoftware::~RendererSoftware() = default;
|
||||
|
||||
|
||||
@@ -24,8 +24,8 @@ public:
|
||||
explicit RendererSoftware(Core::System& system, Frontend::EmuWindow& window);
|
||||
~RendererSoftware() override;
|
||||
|
||||
[[nodiscard]] VideoCore::RasterizerInterface* Rasterizer() const override {
|
||||
return rasterizer.get();
|
||||
[[nodiscard]] VideoCore::RasterizerInterface* Rasterizer() override {
|
||||
return &rasterizer;
|
||||
}
|
||||
|
||||
[[nodiscard]] const ScreenInfo& Screen(VideoCore::ScreenId id) const noexcept {
|
||||
@@ -42,7 +42,7 @@ private:
|
||||
|
||||
private:
|
||||
Memory::MemorySystem& memory;
|
||||
std::unique_ptr<RasterizerSoftware> rasterizer;
|
||||
RasterizerSoftware rasterizer;
|
||||
std::array<ScreenInfo, 3> screen_infos{};
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user