summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_base.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2018-10-30global: Use std::optional instead of boost::optional (#1578)Frederic L1-2/+4
* get rid of boost::optional * Remove optional references * Use std::reference_wrapper for optional references * Fix clang format * Fix clang format part 2 * Adressed feedback * Fix clang format and MacOS build
2018-09-09Port Citra #4047 & #4052: add change background color supporttech4me1-0/+1
2018-08-21renderer_base: Make creation of the rasterizer, the responsibility of the renderers themselvesLioncash1-3/+0
Given we use a base-class type within the renderer for the rasterizer (RasterizerInterface), we want to allow renderers to perform more complex initialization if they need to do such a thing. This makes it important to reserve type information. Given the OpenGL renderer is quite simple settings-wise, this is just a simple shuffling of the initialization code. For something like Vulkan however this might involve doing something like: // Initialize and call rasterizer-specific function that requires // the full type of the instance created. auto raster = std::make_unique<VulkanRasterizer>(some, params); raster->CallSomeVulkanRasterizerSpecificFunction(); // Assign to base class variable rasterizer = std::move(raster)
2018-08-12core: Namespace EmuWindowLioncash1-2/+4
Gets the class out of the global namespace.
2018-08-11video_core; Get rid of global g_toggle_framelimit_enabled variableLioncash1-5/+16
Instead, we make a struct for renderer settings and allow the renderer to update all of these settings, getting rid of the need for global-scoped variables. This also uncovered a few indirect inclusions for certain headers, which this commit also fixes.
2018-08-11renderer_base: Remove unused kFramebuffer enumerationLioncash1-3/+0
This is entirely unused and can be removed.
2018-08-04renderer_base: Make Rasterizer() return the rasterizer by referenceLioncash1-2/+6
All calling code assumes that the rasterizer will be in a valid state, which is a totally fine assumption. The only way the rasterizer wouldn't be is if initialization is done incorrectly or fails, which is checked against in System::Init().
2018-08-04video_core: Eliminate the g_renderer global variableLioncash1-2/+6
We move the initialization of the renderer to the core class, while keeping the creation of it and any other specifics in video_core. This way we can ensure that the renderer is initialized and doesn't give unfettered access to the renderer. This also makes dependencies on types more explicit. For example, the GPU class doesn't need to depend on the existence of a renderer, it only needs to care about whether or not it has a rasterizer, but since it was accessing the global variable, it was also making the renderer a part of its dependency chain. By adjusting the interface, we can get rid of this dependency.
2018-08-02video_core: Make global EmuWindow instance part of the base renderer classLioncash1-9/+6
Makes the global a member of the RendererBase class. We also change this to be a reference. Passing any form of null pointer to these functions is incorrect entirely, especially given the code itself assumes that the pointer would always be in a valid state. This also makes it easier to follow the lifecycle of instances being used, as we explicitly interact the renderer with the rasterizer, rather than it just operating on a global pointer.
2018-03-23video_core: Move FramebufferInfo to FramebufferConfig in GPU.bunnei1-31/+2
2018-03-23renderer: Create rasterizer and cleanup.bunnei1-1/+6
2018-02-12renderer_opengl: Support framebuffer flip vertical.bunnei1-0/+1
2018-01-15renderer: Render previous frame when no new one is available.bunnei1-1/+2
2018-01-13Remove references to PICA and rasterizers in video_coreJames Rowe1-6/+1
2018-01-11renderer_opengl: Support rendering Switch framebuffer.bunnei1-2/+5
2018-01-11render_base: Add a struct describing framebuffer metadata.bunnei1-0/+26
2016-09-21Remove empty newlines in #include blocks.Emmanuel Gil Peyrot1-2/+0
This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
2016-09-19Manually tweak source formatting and then re-run clang-formatYuri Kunde Schlesner1-2/+1
2016-09-18Sources: Run clang-format on everything.Emmanuel Gil Peyrot1-8/+3
2016-03-09renderer_base: In-class initialize variablesLioncash1-5/+2
2016-03-09render_base: Clarify/normalize getter functionsLioncash1-2/+2
2016-03-09renderer_base: Don't directly expose the rasterizer unique_ptrLioncash1-2/+5
There's no reason to allow direct access to the unique_ptr instance. Only its contained pointer.
2016-03-08Improve error report from Init() functionsLittleWhite1-1/+1
Add error popup when citra initialization failed
2015-12-08VideoCore: Unify interface to OpenGL and SW rasterizersYuri Kunde Schlesner1-2/+6
This removes explicit checks sprinkled all over the codebase to instead just have the SW rasterizer expose an implementation with no-ops for most operations.
2015-06-28Core: Cleanup hw includes.Emmanuel Gil Peyrot1-0/+2
2015-06-28CitraQt: Cleanup includes.Emmanuel Gil Peyrot1-0/+2
2015-05-23OpenGL renderertfarley1-0/+4
2015-05-07Common: Remove common.hYuri Kunde Schlesner1-1/+1
2014-12-21License changepurpasmart961-1/+1
2014-11-19Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generatedEmmanuel Gil Peyrot1-1/+1
2014-10-12Remove virtual inheritance from RendererOpenGLYuri Kunde Schlesner1-1/+1
Also make destructor virtual so that instances are properly destructed.
2014-04-28removed DISALLOW_COPY_AND_ASSIGN in favor of NonCopyable classbunnei1-3/+1
2014-04-09fixed project includes to use new directory structurebunnei1-2/+1
2014-04-09got rid of 'src' folders in each sub-projectbunnei1-0/+0
2014-04-09fixed license header in video_corebunnei1-23/+3
2014-04-09- removed lots of unused code from gekkobunnei1-63/+9
- updated code style/naming conventions
2014-04-06added initial renderer codebunnei1-5/+21
2014-04-05added video_core project to solutionbunnei1-0/+116