summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Software/SWRenderer.cpp
AgeCommit message (Collapse)Author
2023-01-31Move ConfigChanged out of RenderBaseScott Mansell
There is this nice VideoConfig file that's perfect for it
2023-01-31Implement AbstractGfx for Software & NullScott Mansell
2023-01-31Move Presenting, Dumping and ImGui out of RendererScott Mansell
2023-01-31Refactor to remove virtual from RenderXFBToScreenScott Mansell
Slightly simplifies the upcoming refactor
2022-12-11VideoCommon/PixelEngine: Refactor to class, move to Core::System.Admiral H. Curtiss
2022-04-16Software: Use new scissor logicPokechu22
Unlike the hardware backends, the software renderer can use multiple scissor rectangles (though this will result in extra rasterization).
2022-03-29Software: Implement pixel engine alpha read modePokechu22
2021-10-04VideoCommon: Abstract bounding boxTechjar
This moves much of the duplicated bounding box code into VideoCommon, leaving only the specific buffer implementations in each backend.
2021-08-30VideoBackends / VideoCommon: allow the ability to set debug names for ↵iwubcode
shaders / textures. These names are visible in applications like RenderDoc
2021-07-05treewide: convert GPLv2+ license info to SPDX tagsPierre Bourdon
SPDX standardizes how source code conveys its copyright and licensing information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX tags are adopted in many large projects, including things like the Linux kernel.
2021-05-24Software: Fix bad backbuffer sizePokechu22
MAX_XFB_WIDTH/HEIGHT are the largest XFB sizes seen in practice, but do not make sense to use for the backbuffer size, which should be the size of the window. The old code created screenshots with a size of 720x540 on NTSC games when "Dump Frames at Internal Resolution" is unchecked; now, the window size is used.
2021-05-22VideoCommon: Split BBox* functions into common and backend implementation ↵Techjar
variants This will allow for some aspects of bounding box to be handled in VideoCommon instead of individual backends.
2019-12-05VideoCommon/BoundingBox: Make interface for querying bounding box dataLioncash
Rather than expose the bounding box members directly, we can instead provide an interface for code to use. This makes it nicer to transition from global data, as the interface function names are already in place.
2019-07-16VideoCommon: Remove unused MathUtil.h include from VideoCommon.hLioncash
This header doesn't actually make use of MathUtil.h within itself, so this can be removed. Many other source files used VideoCommon.h as an indirect include to include MathUtil.h, so these includes can also be adjusted. While we're at it, we can also migrate valid inclusions of VideoCommon.h into cpp files where it can feasibly be done to minimize propagating it via other headers.
2019-06-08Merge pull request #8049 from stenzek/cropConnor McLaughlin
Renderer: Adjust source rectangle when crop would draw off screen
2019-05-30VideoCommon/RenderBase: Use a std::string_view with CreateShaderFromSource()Lioncash
Greatly simplifies the overall interface when it comes to compiling shaders. Also allows getting rid of a std::string overload of the same name. Now std::string and const char* both go through the same function.
2019-05-04Merge pull request #7839 from ShFil119/impr/redundantLéo Lam
Remove redundant initialization
2019-04-30Remove redundant initializationFilip Gawin
2019-04-28Renderer: Adjust target rectangle in the base classStenzek
2019-04-21Replace EFBRectangle/TargetRectangle with MathUtil::RectangleStenzek
2019-04-16AbstractPipeline: Support returning "cache data"Stenzek
"Cache data" can be used to assist a driver with creating pipelines by using previously-compiled shader ISA.
2019-02-19Move most backend functionality to VideoCommonStenzek
2019-01-25Decouple XFB scanout from presentationStenzek
2019-01-25VideoBackends: Store a backbuffer 'scale'Stenzek
This is a scaling factor, used for hi-dpi configurations.
2019-01-25Remove old RasterFont classesStenzek
2019-01-25Renderer: Use imgui for drawing debug text and OSDStenzek
2018-12-04Renderer: Add backbuffer format to base classStenzek
2018-10-20GLContext: Remove global context pointerStenzek
2018-10-20Drop Host_GetRenderSurface and pass display to backendStenzek
2018-04-29Implement EFB copy filter and gamma in hardware backendsStenzek
Also makes y_scale a dynamic parameter for EFB copies, as it doesn't make sense to keep it as part of the uid, otherwise we're generating redundant shaders.
2018-03-02VideoCommon: Add support for Abstract FramebuffersStenzek
2018-02-22VideoBackends: Add AbstractShader and AbstractPipeline classesStenzek
2018-01-27VideoBackends: Combine Initialize/Prepare and Cleanup/Shutdown methodsStenzek
Also allows the work previously done in Prepare to return a failure status.
2017-12-01Merge pull request #6193 from stenzek/readbacksStenzek
Abstract Staging Textures - VideoCommon interface for texture readbacks/uploads
2017-11-23OGL: Fix headless frame dumpingStenzek
Also skips swapping the window system buffers in headless mode, as there may not be a surface which can be swapped in the first place. Instead, we call glFlush() at the end of a frame in this case.
2017-11-22VideoBackends: Add AbstractStagingTexture classStenzek
Can be used for asynchronous readback or upload of textures.
2017-11-22VideoCommon: Move abstract texture creation function to RendererStenzek
2017-11-19VideoBackends: Remove header inclusions made unnecessary with Hybrid XFBLioncash
Just some inclusions that weren't removed in the initial Hybrid XFB PR.
2017-11-17Hybrid XFB: Fix lint errorsiwubcode
2017-11-17Video Backends: Remove the right of the xfb region for games where theiwubcode
VI stride does not match the VI width
2017-11-17Software Backend: Fix xfb output and add vertical scaling supportiwubcode
2017-11-17Support frame and video dumping from VideoCommoniwubcode
2017-11-17Add support for hybrid XFBiwubcode
2017-06-11VideoConfig: Remove bRunningMerryMage
Value was set but not used.
2017-06-03GameConfigLoader: Add GFX Game INI translationsMerryMage
2017-03-04VideoCommon: Move some common initialization logic to RenderBaseStenzek
2017-01-23RenderBase: Forward declare EFBAccessTypeLioncash
2017-01-23VideoBackendBase: Convert EFBAccessType into an enum classLioncash
2016-11-27Remove unnecessary ConfigManager includesLéo Lam
Making changes to ConfigManager.h has always been a pain, because it means rebuilding half of Dolphin, since a lot of files depend on and include this header. However, it turns out some includes are unnecessary. This commit removes ConfigManager includes from files which don't contain SConfig or GPUDeterminismMode or GPU_DETERMINISM (which means the ConfigManager include is not used). (I've also had to get rid of some indirect includes.)
2016-11-04AVIDump: Add a struct for the state.degasus
So AddFrame use no global state and can be threaded well.