diff options
| author | Lioncash <mathew1800@gmail.com> | 2018-08-20 19:34:02 -0400 |
|---|---|---|
| committer | Lioncash <mathew1800@gmail.com> | 2018-08-20 19:43:05 -0400 |
| commit | 46ef072cf9e0636f7ba9f1414fdabeb607a88e0f (patch) | |
| tree | af01f55406fdd493806ffc640e03519a0228b7ca /src/video_core/renderer_opengl/renderer_opengl.cpp | |
| parent | bc16f7f3cce7b3a689f45697d9f6fbd970993e32 (diff) | |
rasterizer_interface: Remove ScreenInfo from AccelerateDraw()'s signature
This is an OpenGL renderer-specific data type. Given that, this type
shouldn't be used within the base interface for the rasterizer. Instead,
we can pass this information to the rasterizer via reference.
Diffstat (limited to 'src/video_core/renderer_opengl/renderer_opengl.cpp')
| -rw-r--r-- | src/video_core/renderer_opengl/renderer_opengl.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/video_core/renderer_opengl/renderer_opengl.cpp b/src/video_core/renderer_opengl/renderer_opengl.cpp index 4a23a931e..26de614ef 100644 --- a/src/video_core/renderer_opengl/renderer_opengl.cpp +++ b/src/video_core/renderer_opengl/renderer_opengl.cpp @@ -131,7 +131,7 @@ void RendererOpenGL::SwapBuffers(boost::optional<const Tegra::FramebufferConfig& } // Load the framebuffer from memory, draw it to the screen, and swap buffers - LoadFBToScreenInfo(*framebuffer, screen_info); + LoadFBToScreenInfo(*framebuffer); DrawScreen(); render_window.SwapBuffers(); } @@ -148,8 +148,7 @@ void RendererOpenGL::SwapBuffers(boost::optional<const Tegra::FramebufferConfig& /** * Loads framebuffer from emulated memory into the active OpenGL texture. */ -void RendererOpenGL::LoadFBToScreenInfo(const Tegra::FramebufferConfig& framebuffer, - ScreenInfo& screen_info) { +void RendererOpenGL::LoadFBToScreenInfo(const Tegra::FramebufferConfig& framebuffer) { const u32 bytes_per_pixel{Tegra::FramebufferConfig::BytesPerPixel(framebuffer.pixel_format)}; const u64 size_in_bytes{framebuffer.stride * framebuffer.height * bytes_per_pixel}; const VAddr framebuffer_addr{framebuffer.address + framebuffer.offset}; @@ -162,8 +161,7 @@ void RendererOpenGL::LoadFBToScreenInfo(const Tegra::FramebufferConfig& framebuf // only allows rows to have a memory alignement of 4. ASSERT(framebuffer.stride % 4 == 0); - if (!rasterizer->AccelerateDisplay(framebuffer, framebuffer_addr, framebuffer.stride, - screen_info)) { + if (!rasterizer->AccelerateDisplay(framebuffer, framebuffer_addr, framebuffer.stride)) { // Reset the screen info's display texture to its own permanent texture screen_info.display_texture = screen_info.texture.resource.handle; @@ -281,7 +279,7 @@ void RendererOpenGL::CreateRasterizer() { return; } - rasterizer = std::make_unique<RasterizerOpenGL>(render_window); + rasterizer = std::make_unique<RasterizerOpenGL>(render_window, screen_info); } void RendererOpenGL::ConfigureFramebufferTexture(TextureInfo& texture, |
