summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/RenderBase.cpp
AgeCommit message (Collapse)Author
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
2019-03-28RenderBase: Add EFBHasAlphaChannel() helperStenzek
2019-03-23Add imgui-based Netplay Chatspycrab
2019-03-21VideoCommon/RenderBase: Disable backculling for ImGuispycrab
2019-03-09FramebufferManager: Implement EFB tile cacheStenzek
The new tile cache is dynamic in size and can be turned on/off.
2019-03-07VideoCommon/RenderBase: Don't destroy pipelines that are in usespycrab
2019-02-19Move most backend functionality to VideoCommonStenzek
2019-01-27Renderer: Fix throttle-disable (TAB) hotkey when vsync is enabledStenzek
2019-01-25Decouple XFB scanout from presentationStenzek
2019-01-25Renderer: Scale all imgui fonts by the backbuffer scaleStenzek
2019-01-25VideoBackends: Store a backbuffer 'scale'Stenzek
This is a scaling factor, used for hi-dpi configurations.
2019-01-25RenderWidget: Hook up to ImGuiStenzek
2019-01-25Renderer: Use imgui for drawing debug text and OSDStenzek
2019-01-25RenderBase: Implement imgui renderingStenzek
2019-01-08Merge pull request #7626 from weihuoya/vulkan-oomConnor McLaughlin
Always clean cache on render swap
2019-01-08Always flush on swapweihuoya
2019-01-03Merge pull request #7230 from ligfx/remove_clamp_draw_sizeJosJuice
RenderBase: don't clamp draw size to window
2018-12-04Renderer: Add backbuffer format to base classStenzek
2018-12-04Renderer: Add a base Initialize() method to match Shutdown()Stenzek
2018-12-04RenderBase: Force a pipeline flush when drawing the XFB to the hostStenzek
Since we use the common pipelines here and draw vertices if a batch is currently being built by the vertex loader, we end up trampling over its pointer, as we share the buffer with the loader, and it has not been unmapped yet. Force a pipeline flush to avoid this.
2018-11-07RenderBase: Set m_aspect_wide on startJosJuice
It doesn't feel great to let the value from a previous emulation session linger around considering that the GC aspect ratio heuristic can use the previous value of m_aspect_wide when calculating m_aspect_wide.
2018-11-07Fix the widescreen hack for Wii games with 4:3 forced in game INIJosJuice
2018-11-07TextureCache: Implement deferred/batched EFB copiesStenzek
2018-10-27RenderBase: send performance sample at every end of framePierre Bourdon
Not the best integration point, but couldn't think of something better. This implementation has the benefit to be super simple.
2018-10-20Renderer: Pull dimensions from GLInterface/SwapchainStenzek
2018-10-20Drop Host_GetRenderSurface and pass display to backendStenzek