diff options
| author | 2020-08-24 22:56:11 -0400 | |
|---|---|---|
| committer | 2020-08-24 22:56:11 -0400 | |
| commit | bb752df73676fa09e5d37df53ce5a464dd747111 (patch) | |
| tree | 1561d50ec2d80c2106aee208c101e19fa35c7614 /src/video_core/renderer_opengl | |
| parent | Merge pull request #4562 from lioncash/loop (diff) | |
| parent | video_core: Initialize renderer with a GPU (diff) | |
| download | yuzu-bb752df73676fa09e5d37df53ce5a464dd747111.tar.gz yuzu-bb752df73676fa09e5d37df53ce5a464dd747111.tar.xz yuzu-bb752df73676fa09e5d37df53ce5a464dd747111.zip | |
Merge pull request #4542 from ReinUsesLisp/gpu-init-base
video_core: Initialize renderer with a GPU
Diffstat (limited to 'src/video_core/renderer_opengl')
| -rw-r--r-- | src/video_core/renderer_opengl/renderer_opengl.cpp | 11 | ||||
| -rw-r--r-- | src/video_core/renderer_opengl/renderer_opengl.h | 11 |
2 files changed, 12 insertions, 10 deletions
diff --git a/src/video_core/renderer_opengl/renderer_opengl.cpp b/src/video_core/renderer_opengl/renderer_opengl.cpp index 14bbc3a1c..c39663db7 100644 --- a/src/video_core/renderer_opengl/renderer_opengl.cpp +++ b/src/video_core/renderer_opengl/renderer_opengl.cpp | |||
| @@ -313,10 +313,11 @@ public: | |||
| 313 | } | 313 | } |
| 314 | }; | 314 | }; |
| 315 | 315 | ||
| 316 | RendererOpenGL::RendererOpenGL(Core::Frontend::EmuWindow& emu_window, Core::System& system, | 316 | RendererOpenGL::RendererOpenGL(Core::System& system_, Core::Frontend::EmuWindow& emu_window_, |
| 317 | Core::Frontend::GraphicsContext& context) | 317 | Tegra::GPU& gpu_, |
| 318 | : RendererBase{emu_window}, emu_window{emu_window}, system{system}, context{context}, | 318 | std::unique_ptr<Core::Frontend::GraphicsContext> context_) |
| 319 | program_manager{device}, has_debug_tool{HasDebugTool()} {} | 319 | : RendererBase{emu_window_, std::move(context_)}, system{system_}, |
| 320 | emu_window{emu_window_}, gpu{gpu_}, program_manager{device}, has_debug_tool{HasDebugTool()} {} | ||
| 320 | 321 | ||
| 321 | RendererOpenGL::~RendererOpenGL() = default; | 322 | RendererOpenGL::~RendererOpenGL() = default; |
| 322 | 323 | ||
| @@ -384,7 +385,7 @@ void RendererOpenGL::SwapBuffers(const Tegra::FramebufferConfig* framebuffer) { | |||
| 384 | if (has_debug_tool) { | 385 | if (has_debug_tool) { |
| 385 | glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); | 386 | glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); |
| 386 | Present(0); | 387 | Present(0); |
| 387 | context.SwapBuffers(); | 388 | context->SwapBuffers(); |
| 388 | } | 389 | } |
| 389 | } | 390 | } |
| 390 | 391 | ||
diff --git a/src/video_core/renderer_opengl/renderer_opengl.h b/src/video_core/renderer_opengl/renderer_opengl.h index 8b18d32e6..52ea76b7d 100644 --- a/src/video_core/renderer_opengl/renderer_opengl.h +++ b/src/video_core/renderer_opengl/renderer_opengl.h | |||
| @@ -56,8 +56,9 @@ class FrameMailbox; | |||
| 56 | 56 | ||
| 57 | class RendererOpenGL final : public VideoCore::RendererBase { | 57 | class RendererOpenGL final : public VideoCore::RendererBase { |
| 58 | public: | 58 | public: |
| 59 | explicit RendererOpenGL(Core::Frontend::EmuWindow& emu_window, Core::System& system, | 59 | explicit RendererOpenGL(Core::System& system, Core::Frontend::EmuWindow& emu_window, |
| 60 | Core::Frontend::GraphicsContext& context); | 60 | Tegra::GPU& gpu, |
| 61 | std::unique_ptr<Core::Frontend::GraphicsContext> context); | ||
| 61 | ~RendererOpenGL() override; | 62 | ~RendererOpenGL() override; |
| 62 | 63 | ||
| 63 | bool Init() override; | 64 | bool Init() override; |
| @@ -93,9 +94,9 @@ private: | |||
| 93 | 94 | ||
| 94 | bool Present(int timeout_ms); | 95 | bool Present(int timeout_ms); |
| 95 | 96 | ||
| 96 | Core::Frontend::EmuWindow& emu_window; | ||
| 97 | Core::System& system; | 97 | Core::System& system; |
| 98 | Core::Frontend::GraphicsContext& context; | 98 | Core::Frontend::EmuWindow& emu_window; |
| 99 | Tegra::GPU& gpu; | ||
| 99 | const Device device; | 100 | const Device device; |
| 100 | 101 | ||
| 101 | StateTracker state_tracker{system}; | 102 | StateTracker state_tracker{system}; |
| @@ -120,7 +121,7 @@ private: | |||
| 120 | std::vector<u8> gl_framebuffer_data; | 121 | std::vector<u8> gl_framebuffer_data; |
| 121 | 122 | ||
| 122 | /// Used for transforming the framebuffer orientation | 123 | /// Used for transforming the framebuffer orientation |
| 123 | Tegra::FramebufferConfig::TransformFlags framebuffer_transform_flags; | 124 | Tegra::FramebufferConfig::TransformFlags framebuffer_transform_flags{}; |
| 124 | Common::Rectangle<int> framebuffer_crop_rect; | 125 | Common::Rectangle<int> framebuffer_crop_rect; |
| 125 | 126 | ||
| 126 | /// Frame presentation mailbox | 127 | /// Frame presentation mailbox |