Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2020-03-25 | Frontend/GPU: Refactor context management | James Rowe | 1 | -2/+8 | |
Changes the GraphicsContext to be managed by the GPU core. This eliminates the need for the frontends to fool around with tricky MakeCurrent/DoneCurrent calls that are dependent on the settings (such as async gpu option). This also refactors out the need to use QWidget::fromWindowContainer as that caused issues with focus and input handling. Now we use a regular QWidget and just access the native windowHandle() directly. Another change is removing the debug tool setting in FrameMailbox. Instead of trying to block the frontend until a new frame is ready, the core will now take over presentation and draw directly to the window if the renderer detects that its hooked by NSight or RenderDoc Lastly, since it was in the way, I removed ScopeAcquireWindowContext and replaced it with a simple subclass in GraphicsContext that achieves the same result | |||||
2020-02-28 | renderer_opengl: Reintroduce dirty flags for render targets | ReinUsesLisp | 1 | -0/+3 | |
2020-02-28 | gl_state: Remove completely | ReinUsesLisp | 1 | -3/+0 | |
2020-02-28 | gl_state: Remove program tracking | ReinUsesLisp | 1 | -1/+6 | |
2020-02-28 | gl_state: Remove viewport and depth range tracking | ReinUsesLisp | 1 | -2/+0 | |
2020-02-28 | gl_state: Remove VAO cache and tracking | ReinUsesLisp | 1 | -1/+0 | |
2020-02-28 | renderer_opengl: Fix SRGB presentation frame tracking. | bunnei | 1 | -3/+0 | |
- Fixes SRGB in Super Smash Bros. Ultimate. | |||||
2020-02-27 | renderer_opengl: Move Frame/FrameMailbox to OpenGL namespace. | bunnei | 1 | -0/+5 | |
2020-02-26 | renderer_opengl: Add texture mailbox support for presenter thread. | bunnei | 1 | -10/+14 | |
2019-11-29 | renderer_opengl: Use explicit binding for presentation shaders | ReinUsesLisp | 1 | -8/+0 | |
2019-11-29 | renderer_opengl: Move commentaries to header file | ReinUsesLisp | 1 | -2/+12 | |
2019-09-11 | renderer_opengl: Fix sRGB blits | ReinUsesLisp | 1 | -1/+2 | |
Removes the sRGB hack of tracking if a frame used an sRGB rendertarget to apply at least once to blit the final texture as sRGB. Instead of doing this apply sRGB if the presented image has sRGB. Also enable sRGB by default on Maxwell3D registers as some games seem to assume this. | |||||
2019-08-21 | gpu: Change optional<reference_wrapper<T>> to T* for FramebufferConfig | ReinUsesLisp | 1 | -3/+2 | |
2019-05-21 | gl_shader_cache: Use shared contexts to build shaders in parallel | ReinUsesLisp | 1 | -1/+2 | |
2019-03-04 | video_core/renderer_opengl: Replace direct usage of global system object accessors | Lioncash | 1 | -0/+1 | |
We already pass a reference to the system object to the constructor of the renderer, so we can just use that instead of using the global accessor functions. | |||||
2019-02-27 | common/math_util: Move contents into the Common namespace | Lioncash | 1 | -2/+2 | |
These types are within the common library, so they should be within the Common namespace. | |||||
2019-02-07 | gl_shader_disk_cache: Pass core system as argument and guard against games without title ids | ReinUsesLisp | 1 | -1/+7 | |
2019-01-24 | frontend: Refactor ScopeAcquireWindowContext out of renderer_opengl. | bunnei | 1 | -10/+0 | |
2018-12-26 | renderer_opengl: Correct forward declaration of FramebufferLayout | Lioncash | 1 | -1/+1 | |
This is actually a struct, not a class, which can lead to compilation warnings. | |||||
2018-12-18 | yuzu, video_core: Screenshot functionality | zhupengfei | 1 | -1/+8 | |
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. | |||||
2018-10-30 | global: Use std::optional instead of boost::optional (#1578) | Frederic L | 1 | -1/+2 | |
* 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-08-22 | renderer_opengl: Namespace OpenGL code | Lioncash | 1 | -0/+4 | |
Namespaces all OpenGL code under the OpenGL namespace. Prevents polluting the global namespace and allows clear distinction between other renderers' code in the future. | |||||
2018-08-21 | rasterizer_interface: Remove ScreenInfo from AccelerateDraw()'s signature | Lioncash | 1 | -1/+1 | |
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. | |||||
2018-08-21 | renderer_base: Make creation of the rasterizer, the responsibility of the renderers themselves | Lioncash | 1 | -0/+2 | |
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-12 | core: Namespace EmuWindow | Lioncash | 1 | -3/+5 | |
Gets the class out of the global namespace. | |||||
2018-08-04 | video_core: Eliminate the g_renderer global variable | Lioncash | 1 | -1/+1 | |
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-02 | video_core: Make global EmuWindow instance part of the base renderer class | Lioncash | 1 | -10/+5 | |
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-07-18 | vi: Partially implement buffer crop parameters. | bunnei | 1 | -0/+1 | |
2018-07-14 | OpenGL: Use MakeCurrent/DoneCurrent for multithreaded rendering. | bunnei | 1 | -0/+7 | |
2018-06-27 | gl_rasterizer: Implement AccelerateDisplay to forward textures to framebuffers. | bunnei | 1 | -1/+1 | |
2018-04-14 | renderer_opengl: Use OGLProgram instead of OGLShader. | bunnei | 1 | -1/+1 | |
2018-04-04 | renderer_opengl.h: Update from citra to yuzu | N00byKing | 1 | -2/+2 | |
2018-03-27 | renderer_opengl: Use better naming for DrawScreens and DrawSingleScreen. | bunnei | 1 | -2/+2 | |
2018-03-23 | renderer_opengl: Add framebuffer_transform_flags member variable. | bunnei | 1 | -2/+2 | |
2018-03-23 | video_core: Move FramebufferInfo to FramebufferConfig in GPU. | bunnei | 1 | -4/+5 | |
2018-02-12 | renderer_opengl: Support framebuffer flip vertical. | bunnei | 1 | -0/+3 | |
2018-01-16 | clang-format | MerryMage | 1 | -1/+2 | |
2018-01-15 | renderer_gl: Clear screen to black before rendering framebuffer. | bunnei | 1 | -2/+2 | |
2018-01-15 | renderer: Render previous frame when no new one is available. | bunnei | 1 | -5/+3 | |
2018-01-13 | Remove references to PICA and rasterizers in video_core | James Rowe | 1 | -1/+0 | |
2018-01-11 | renderer_opengl: Support rendering Switch framebuffer. | bunnei | 1 | -7/+10 | |
2018-01-11 | renderer_opengl: Update DrawScreens for Switch. | bunnei | 1 | -1/+1 | |
2017-05-28 | OpenGL: Remove unused RendererOpenGL fields | Yuri Kunde Schlesner | 1 | -3/+0 | |
2016-09-21 | Remove empty newlines in #include blocks. | Emmanuel Gil Peyrot | 1 | -4/+0 | |
This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation. | |||||
2016-09-19 | Manually tweak source formatting and then re-run clang-format | Yuri Kunde Schlesner | 1 | -2/+5 | |
2016-09-18 | Sources: Run clang-format on everything. | Emmanuel Gil Peyrot | 1 | -8/+7 | |
2016-04-30 | VideoCore: Run include-what-you-use and fix most includes. | Emmanuel Gil Peyrot | 1 | -0/+3 | |
2016-04-21 | HWRasterizer: Texture forwarding | tfarley | 1 | -18/+26 | |
2016-03-08 | Improve error report from Init() functions | LittleWhite | 1 | -1/+1 | |
Add error popup when citra initialization failed | |||||
2015-09-29 | fix some xcode 7.0 warnings | Martin Lindhe | 1 | -1/+0 | |
2015-09-11 | video_core: Remove unnecessary includes from headers | Lioncash | 1 | -3/+0 | |
2015-09-10 | renderer_opengl: Remove unimplemented function declaration | Lioncash | 1 | -3/+0 | |
2015-08-30 | Replace the previous OpenGL loader with a glad-generated 3.3 one | Yuri Kunde Schlesner | 1 | -1/+1 | |
The main advantage of switching to glad from glLoadGen is that, apart from being actively maintained, it supports a customizable entrypoint loader function, which makes it possible to also support OpenGL ES. | |||||
2015-05-23 | OpenGL renderer | tfarley | 1 | -6/+10 | |
2015-03-09 | Added LCD registers, and implementation for color filling in OGL code. | archshift | 1 | -1/+4 | |
2015-02-15 | video_core: Implement the remaining framebuffer formats in the OpenGL renderer. | Emmanuel Gil Peyrot | 1 | -0/+5 | |
2014-12-21 | License change | purpasmart96 | 1 | -1/+1 | |
2014-11-18 | OpenGL Renderer: Cleanup viewport extent calculation. | Tony Wasserka | 1 | -17/+7 | |
2014-11-18 | Viewport scaling and display density independence | Kevin Hartman | 1 | -0/+15 | |
The view is scaled to be as large as possible, without changing the aspect, within the bounds of the window. On "retina" displays, or other displays where window units != pixels, the view should no longer draw incorrectly. | |||||
2014-10-26 | Add `override` keyword through the code. | Yuri Kunde Schlesner | 1 | -4/+4 | |
This was automated using `clang-modernize`. | |||||
2014-10-12 | Rework OpenGL renderer. | Yuri Kunde Schlesner | 1 | -46/+22 | |
The OpenGL renderer has been revised, with the following changes: - Initialization and rendering have been refactored to reduce the number of redundant objects used. - Framebuffer rotation is now done directly, using texture mapping. - Vertex coordinates are now given in pixels, and the projection matrix isn't hardcoded anymore. | |||||
2014-10-12 | OpenGL renderer: Shuffle initialization code around and rename functions. | Yuri Kunde Schlesner | 1 | -8/+2 | |
2014-10-12 | Remove virtual inheritance from RendererOpenGL | Yuri Kunde Schlesner | 1 | -2/+2 | |
Also make destructor virtual so that instances are properly destructed. | |||||
2014-09-09 | Moved common_types::Rect from common to Common namespace | archshift | 1 | -1/+1 | |
2014-09-01 | Replace GLEW with a glLoadGen loader. | Yuri Kunde Schlesner | 1 | -1/+1 | |
This should fix the GL loading errors that occur in some drivers due to the use of deprecated functions by GLEW. Side benefits are more accurate auto-completion (deprecated function and symbols don't exist) and faster pointer loading (less entrypoints to load). In addition it removes an external library depency, simplifying the build system a bit and eliminating one set of binary libraries for Windows. | |||||
2014-08-28 | Downgrade GLSL version to 1.50 (compatible with GL 3.2) | Yuri Kunde Schlesner | 1 | -0/+3 | |
2014-08-26 | VideoCore: Fixes rendering issues on Qt and corrects framebuffer output size. | bunnei | 1 | -0/+1 | |
2014-08-26 | Rewrite of OpenGL renderer, including OS X support | Kevin Hartman | 1 | -27/+36 | |
Screen contents are now displayed using textured quads. This can be updated to expose an FBO once an OpenGL backend for when Pica rendering is being worked on. That FBO's texture can then be applied to the quads. Previously, FBO blitting was used in order to display screen contents, which did not work on OS X. The new textured quad approach is less of a compatibility risk. | |||||
2014-07-23 | Renderer: Fix component order in bottom framebuffer. | Tony Wasserka | 1 | -4/+3 | |
2014-05-20 | common_types: Changed BasicRect back to Rect, in the common namespace | archshift | 1 | -1/+1 | |
Only Rect is in the namespace for now; the rest of common should be added in the future | |||||
2014-04-28 | Xcode complains that the class name is redundant. | archshift | 1 | -1/+1 | |
2014-04-28 | Rect to BasicRect | archshift | 1 | -1/+1 | |
Somewhere along the line an OSX header had already taken the name Rect. | |||||
2014-04-28 | removed DISALLOW_COPY_AND_ASSIGN in favor of NonCopyable class | bunnei | 1 | -1/+0 | |
2014-04-27 | fixed renderer to use correct framebuffer location | bunnei | 1 | -2/+2 | |
2014-04-09 | fixed project includes to use new directory structure | bunnei | 1 | -3/+3 | |
2014-04-09 | got rid of 'src' folders in each sub-project | bunnei | 1 | -0/+0 | |
2014-04-09 | fixed license header in video_core | bunnei | 1 | -24/+3 | |
2014-04-09 | - removed lots of unused code from gekko | bunnei | 1 | -68/+27 | |
- updated code style/naming conventions | |||||
2014-04-07 | added support for renderering the external framebuffers | bunnei | 1 | -1/+7 | |
2014-04-07 | added external framebuffer GL handles | bunnei | 1 | -2/+11 | |
2014-04-06 | added initial renderer code | bunnei | 1 | -0/+138 | |