summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/RenderBase.cpp
AgeCommit message (Collapse)Author
2021-03-06Convert BPMemory to BitField and enum classPokechu22
Additional changes: - For TevStageCombiner's ColorCombiner and AlphaCombiner, op/comparison and scale/compare_mode have been split as there are different meanings and enums if bias is set to compare. (Shift has also been renamed to scale) - In TexMode0, min_filter has been split into min_mip and min_filter. - In TexImage1, image_type is now cache_manually_managed. - The unused bit in GenMode is now exposed. - LPSize's lineaspect is now named adjust_for_aspect_ratio.
2021-03-06Fix typo with ztex2 op in UseVertexDepthRangePokechu22
2021-01-27rename Core/Analytics to Core/DolphinAnalyticsShawn Hoffman
2021-01-05Fix a couple of typosFilippo Tarpini
[committer note: fixed commit message style]
2020-12-26VideoCommon: Fix crash that occurs on loading a fifo log due to ↵iwubcode
uninitialized Free Look control type
2020-12-24VideoCommon: Update active config when we check for config changes, this ↵iwubcode
ensures Free Look settings are copied at the start of the frame. Also update the camera's controller type at this time
2020-12-24Core / VideoCommon: Remove old Free Look configiwubcode
2020-12-16Core: Remove ImageWrite and get rid of -Wmissing-declarations warningsLéo Lam
2020-11-27FrameDump: Start timing at 0 ticks when starting from bootJosJuice
2020-11-20Fix translatable strings which contain non-positional argumentsJosJuice
2020-11-17VideoCommon: Migrate over to fmtLioncash
Migrates off the printf-based formatting where applicable.
2020-10-22VideoCommon: FrameDump fixes/cleanups.Jordan Woyak
2020-10-03InputCommon: Introducing the "Dynamic Input Texture". Configuration links ↵iwubcode
an emulated input action to an image based on what host key is defined for that emulated input. Specific regions are called out in configuration that mark where to replace an input button with a host key image.
2020-08-06Remove wait_for_completion parameter from Renderer::SaveScreenshotJosJuice
This is now unused. Seems like it was an improper fix (there would be a race if saving the screenshot took longer than 2 seconds) back when it was used too.
2020-07-04Merge pull request #8884 from iwubcode/freelook_performance_fixConnor McLaughlin
VertexShaderManager: Only look for freelook config changes if we're using freelook
2020-07-02VertexShaderManager: Avoid accessing freelook control type configuration ↵iwubcode
each call which caused a performance hit, move check to RenderBase where it is checked when config changes
2020-06-29VideoCommon: Show profiler output againJosJuice
This profiler was added in 94d9d13, but must've broken at some point.
2020-04-16Merge pull request #8730 from JosJuice/frame-advance-duplicate-frameJMC47
Core: Skip duplicate frames when using frame advance
2020-04-09Core: Clarify Callback_VideoCopiedToXFB and FrameUpdateJosJuice
2020-02-09VideoCommon: Remove widescreen heuristic debug logs.Jordan Woyak
2020-02-09VideoCommon: Tweak widescreen heuristic and clean up some related Renderer ↵Jordan Woyak
logic.
2020-01-24InputCommon: Make "Cursor" inputs aware of the rendered aspect ratio.Jordan Woyak
2020-01-14Add an option to present/skip presenting duplicate framesStenzek
Currently, we do not display every second frame in 25fps/30fps games which run to vsync. This improves performance as there's less rendering for the GPU to perform, but when combined with vsync, could cause frame pacing issues. This commit adds an option to force every frame generated by the console to be displayed to the host, which may improve pacing for these games.
2019-12-05VideoCommon/OpcodeDecoding: Move g_bRecordFifoData into namespaceLioncash
Keeps the global localized with the code that it's primarily related to. Now it's obvious from a glance what the global variable is affecting.
2019-11-23VideoCommon: Make use of fmt outside of shader generatorsLioncash
Migrates most of VideoCommon over to using fmt, with the exception being the shader generator code. The shader generators are quite large and have more corner cases to deal with in terms of conversion (shaders have braces in them, so we need to make sure to escape them). Because of the large amount of code that would need to be converted, the conversion of VideoCommon will be in two parts: - This change (which converts over the general case string formatting), - A follow up change that will specifically deal with converting over the shader generators.
2019-10-02Renderer: Use interface blocks for ImGui shadersStenzek
2019-10-02Renderer: Draw ImGui interface to both eyesStenzek
2019-08-28Core: Use move semantics for Renderer::SaveScreenshotSilent
2019-08-04VideoCommon/RenderBase: Remove dependency on renderer global within rendererLioncash
There's no need to have a dependency when we can simply call the function itself as part of the instance itself.
2019-08-04VideoCommon/RenderBase: Use structured bindings where applicableLioncash
Same behavior, but immediately assigns to variables, allowing them to be const.
2019-08-04VideoCommon/RenderBase: Make functions const where applicableLioncash
2019-07-24TextureCache: Support saving cache entries, including EFB copiesStenzek
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-07-10VideoCommon/Statistics: Rename stats global to g_statsLioncash
Makes the global variable follow our convention of prefixing g_ on global variables to make it obvious in surrounding code that it's not a local variable.
2019-07-10VideoCommon/Statistics: Make all member functions non-staticLioncash
Rather than making Statistics' member functions operate on the global variable instance of itself, we can make these functions member functions and operate on a by-instance state, removing the direct dependency on the global variable itself. This also makes for less reading, as there's no need to repeat "stats." for all variable accesses.
2019-07-10VideoCommon/Statistics: Normalize statistic variable namesLioncash
Normalizes all variables related to statistics so that they follow our coding style. These are relatively low traffic areas, so this modification isn't too noisy.
2019-06-30Merge pull request #8128 from altimumdelta/FrameDumpUpgradePrep1Connor McLaughlin
Code: Rename AVIDump to FrameDump
2019-06-30VideoCommon: Rename AVIDump to FrameDumpaltimumdelta
2019-06-30Merge pull request #8215 from CookiePLMonster/appverifier-sanitizeConnor McLaughlin
Fixed various errors spotted with Application Verifier
2019-06-23Make DolphinAnalytics a true singleton - static local variables are ↵Silent
initialized in a thread safe manner since C++11 Also works around a Visual Studio 2017 bug where static inline class fields are destructed multiple times
2019-06-18VideoCommon/RenderBase: Fix cropTechjar
This fixes some mistakes from #8049 that caused crop to behave like stretch and have a funny offset.
2019-06-15VideoCommon/RenderBase: Reset scissor rectangle after ImGui renderingTechjar
This fixes the problem where OBS game capture only grabs the region inside an ImGui window whenever one is open, when using the OpenGL backend. Shouldn't have any negative effects, as the scissor would've been something completely arbitrary anyways. This may affect other capture software that uses the same hooking method, but I've only tested OBS.
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-04Replace MathUtil::Clamp with std::clampLéo Lam
2019-04-28Renderer: Adjust target rectangle in the base classStenzek
2019-04-28Renderer: Adjust source rectangle when crop would draw off screenStenzek
This prevents us from requiring an oversized and/or negative viewport by shrinking the source rectangle instead.
2019-04-21Replace EFBRectangle/TargetRectangle with MathUtil::RectangleStenzek
2019-04-21TextureCache: Simplify XFB reconstructionStenzek
This also better handles in-memory interlaced XFB data placed by the CPU by considering the stride from the VI.
2019-04-05Add imgui golf mode overlayTechjar