summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/RenderBase.cpp
AgeCommit message (Collapse)Author
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-22VideoCommon: Re-implement asynchronous frame dumpingStenzek
This was lost as a result of hybrid XFB, now it is back, and ~10% faster in very brief testing.
2017-11-22AbstractTexture: Seperate CopyRectangleFromTexture to two methodsStenzek
ScaleRectangleFromTexture, which does a draw, and CopyRectangleFromTexture, which where possible, does a bit-for-bit copy.
2017-11-22VideoCommon: Move abstract texture creation function to RendererStenzek
2017-11-21Renderer: Re-implement window size frame dumpingStenzek
This was broken by hybrid XFB, and all frame dumping/screenshots occured at the full internal resolution.
2017-11-18VideoConfig: Make StereoMode an enum classLioncash
Makes for more strongly-typed identifiers (and doesn't pollute surrounding namespaces)
2017-11-18VideoConfig: Make AspectMode an enum classLioncash
Makes for more strongly-typed identifiers (and doesn't pollute surrounding namespaces)
2017-11-17Hybrid XFB: Fix lint errorsiwubcode
2017-11-17TextureCacheBase: Add XFB specific functionsiwubcode
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-17Video Common: Improve texture dumping to work with fifoci andiwubcode
fifo_comparer
2017-11-17HybridXFB: Fix lint errorsiwubcode
2017-11-17Video Common: Use correct aspect ratio when saving screenshots / videoiwubcode
2017-11-17Video Common: Avoid 'presenting' duplicate frames by detecting when swapiwubcode
hasn't changed since the last frame
2017-11-17VideoCommon: Output gamma now comes from the xfb copyiwubcode
2017-11-17Add 'immediate xfb' which reduces xfb latency at the cost of graphical errorsiwubcode
2017-11-17Video Common: Make auto IR work with HybridXFBiwubcode
2017-11-17Remove old XFB logiciwubcode
2017-11-17Video Common: Only update FPS when frame is renderered which yields moreiwubcode
accurate results
2017-11-17Video Backends: Implement vertical scaling for xfb copies. This fixes theiwubcode
display of PAL games that run in 50hz mode.
2017-11-17Add new GUI option to skip XFBToRam and remove old XFB optionsiwubcode
2017-11-17Support frame and video dumping from VideoCommoniwubcode
2017-11-17Add support for hybrid XFBiwubcode
2017-11-03Fix incorrect handling of auto IRJosJuice
Some lines of code in Dolphin just plainly grabbed the value of g_ActiveConfig.iEFBScale, which resulted in Auto being treated as 0x rather than the actual automatically selected scale.
2017-08-24Remove FFMPEG check for Renderer::IsFrameDumping()Chris Burgener
2017-08-11Config: Include SYSCONF in base layerLéo Lam
Settings that come from the SYSCONF are now included in Dolphin's config system as part of the base layer. They are handled in a special way compared to other settings to make sure they are only loaded from and saved to the SYSCONF (to avoid different, possibly contradicting sources of truth).
2017-08-08Remove non-integer IRsJosJuice
2017-07-30VideoCommon: Improve precision of FPS counterStenzek
2017-07-20ShaderGen: Pass host config to shader generation functionsStenzek
Also moves the host config checks to common.
2017-06-05Merge pull request #5312 from ligfx/cleanupupdatedrawrectangleshuffle2
RenderBase: clean up UpdateDrawRectangle
2017-05-26MSVC: define HAVE_FFMPEGMichael Maltese
2017-05-26Rename define HAVE_LIBAV->HAVE_FFMPEGMichael Maltese
2017-04-24RenderBase: clean up UpdateDrawRectangleMichael Maltese
2017-04-11Merge pull request #5234 from lioncash/tupleMarkus Wick
RenderBase: Return tuples from CalculateTargetScale and ConvertStereoRectangle instead of using out parameters
2017-04-10Merge pull request #5008 from ligfx/aspectheuristicScott Mansell
VideoCommon: rework anamorphic widescreen heuristic
2017-04-09RenderBase: Return a tuple from ConvertStereoRectangle instead of using out ↵Lioncash
parameters
2017-04-09RenderBase: Return a tuple from CalculateTargetScale instead of using out ↵Lioncash
parameters
2017-04-08RenderBase: Eliminate renderer global accesses within the Renderer classLioncash
There's no need to access these globals, the instance itself has access to these data members and functions.
2017-04-08RenderBase: const correctnessLioncash
2017-04-05VideoCommon: rework anamorphic widescreen heuristicMichael Maltese
Some widescreen hacks (see below) properly force anamorphic output, but don't make the last projection in a frame 16:9, so Dolphin doesn't display it correctly. This changes the heuristic code to assume a frame is anamorphic based on the total number of vertex flushes in 4:3 and 16:9 projections that frame. It also adds a bit of "aspect ratio inertia" by making it harder to switch aspect ratios, which takes care of aspect ratio flickering that some games / widescreen hacks would be susceptible with the new logic. I've tested this on SSX Tricky's native anamorphic support, Tom Clancy's Splinter Cell (it stayed in 4:3 the whole time), and on the following widescreen hacks for which the heuristic doesn't currently work: Paper Mario: The Thousand-Year Door (Gecko widescreen code from Nintendont) C202F310 00000003 3DC08042 3DE03FD8 91EEF6D8 4E800020 60000000 00000000 04199598 4E800020 C200F500 00000004 3DE08082 3DC0402B 61CE12A2 91CFA1BC 60000000 387D015C 60000000 00000000 C200F508 00000004 3DE08082 3DC04063 61CEE8D3 91CFA1BC 60000000 7FC3F378 60000000 00000000 The Simpsons: Hit & Run (AR widescreen code from the wiki) 04004600 C002A604 04004604 C09F0014 04004608 FC002040 0400460C 4082000C 04004610 C002A608 04004614 EC630032 04004618 48220508 04041A5C 38600001 04224344 C002A60C 04224B1C 4BDDFAE4 044786B0 3FAAAAAB 04479F28 3FA33333
2017-03-14OGL: Remove support for NV_depth_buffer_float.Jules Blok
We can't clamp the depth values to the 24-bit range while this extension is active.
2017-03-10Merge pull request #4935 from Armada651/depth-range-fixMarkus Wick
VideoBackends: Set the maximum range when the depth range is oversized.
2017-03-10RenderBase: Check if early ztest is enabled before falling back to vertex ↵Jules Blok
depth range.
2017-03-10VideoBackends: Move max texture size to VideoConfigStenzek
This stops the virtual method call from within the Renderer constructor. The initialization here for GL had to be moved to VideoBackend, as the Renderer constructor will not have been executed before the value is required.
2017-03-09VideoCommon: Fix crash at startup with virtual XFB enabledStenzek
2017-03-04Android: Move screenshot waiting logic to RendererStenzek
2017-03-04VideoCommon: Store last window request width/heightStenzek
This avoids the need to send a window resize event every frame.
2017-03-04VideoCommon: Move last EFB scale handling to CalculateTargetSizeStenzek
2017-03-04VideoCommon: Rename Renderer s_ prefixes to m_Stenzek