summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_base.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* video_core/engines: Remove unnecessary includesLioncash2019-03-061-0/+1
| | | | | | | | | Removes a few unnecessary dependencies on core-related machinery, such as the core.h and memory.h, which reduces the amount of rebuilding necessary if those files change. This also uncovered some indirect dependencies within other source files. This also fixes those.
* yuzu, video_core: Screenshot functionalityzhupengfei2018-12-181-0/+12
| | | | Allows capturing screenshot at the current internal resolution (native for software renderer), but a setting is available to capture it in other resolutions. The screenshot is saved to a single PNG in the current layout.
* video_core/renderer_base: Remove GL include from the renderer base class filesLioncash2018-11-131-1/+0
| | | | Keeps the base class source files implementation-agnostic.
* Port Citra #4047 & #4052: add change background color supporttech4me2018-09-091-0/+1
|
* Merge pull request #840 from FearlessTobi/port-3353bunnei2018-08-221-1/+1
|\ | | | | Port #3353 from Citra: "citra-qt: Add customizable speed limit target "
| * Port #3353 from CitrafearlessTobi2018-08-211-1/+1
| |
* | renderer_base: Make creation of the rasterizer, the responsibility of the renderers themselvesLioncash2018-08-211-8/+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)
* core: Namespace EmuWindowLioncash2018-08-121-1/+1
| | | | Gets the class out of the global namespace.
* video_core; Get rid of global g_toggle_framelimit_enabled variableLioncash2018-08-111-4/+15
| | | | | | | | | 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.
* video_core: Eliminate the g_renderer global variableLioncash2018-08-041-0/+4
| | | | | | | | | | | | | | 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.
* video_core: Make global EmuWindow instance part of the base renderer classLioncash2018-08-021-3/+11
| | | | | | | | | | | 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.
* renderer: Create rasterizer and cleanup.bunnei2018-03-231-1/+6
|
* Remove references to PICA and rasterizers in video_coreJames Rowe2018-01-131-14/+1
|
* VideoCore: Move software rasterizer files to sub-directoryYuri Kunde Schlesner2017-02-131-1/+1
|
* Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner2016-09-211-1/+1
|
* Remove empty newlines in #include blocks.Emmanuel Gil Peyrot2016-09-211-2/+1
| | | | | | | This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
* Sources: Run clang-format on everything.Emmanuel Gil Peyrot2016-09-181-2/+2
|
* VideoCore: Run include-what-you-use and fix most includes.Emmanuel Gil Peyrot2016-04-301-2/+1
|
* HWRasterizer: Texture forwardingtfarley2016-04-211-2/+0
|
* Common: Remove Common::make_unique, use std::make_uniqueMerryMage2016-04-051-4/+2
|
* VideoCore: Sync state after changing rasterizersYuri Kunde Schlesner2015-12-211-0/+1
| | | | | This fixes various bugs that appear in the HW rasterizer after switching between it and the SW one during emulation.
* VideoCore: Unify interface to OpenGL and SW rasterizersYuri Kunde Schlesner2015-12-081-0/+28
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.