summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/VideoConfig.cpp
AgeCommit message (Collapse)Author
2020-12-24Core / VideoCommon: Remove old Free Look configiwubcode
2020-07-22DolphinQt / VideoCommon: Add additional texture dumping options. ↵iwubcode
Specifically, this enables users to choose whether to dump mip maps, base level textures, or both.
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-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-03-09FramebufferManager: Implement deferred EFB cache invalidationStenzek
2019-03-09FramebufferManager: Implement EFB tile cacheStenzek
The new tile cache is dynamic in size and can be turned on/off.
2019-02-26Merge pull request #7753 from stenzek/videocommon-all-the-thingsTilka
Move a significant amount of video backend logic to VideoCommon
2019-02-23VideoConfig: Don't overwrite aspect_mode with suggested_aspect_modeJosJuice
Unnecessary since b93b7ec. It was needed before that commit becase RenderBase.cpp only was checking the value of aspect_mode, not suggested_aspect_mode.
2019-02-19Move most backend functionality to VideoCommonStenzek
2019-02-03Merge pull request #7739 from zackhow/multibAnthony
Android: Disable backend multithreading and add option to gfx menu
2019-01-27Renderer: Fix throttle-disable (TAB) hotkey when vsync is enabledStenzek
2019-01-25Android: Default backendMultithreading to false on androidzackhow
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-09-05VideoCommon: Skip vsync if configured emulation speed is not 100%Techjar
It doesn't make much sense to try to vsync at weird framerates, and vsync actually causes the speed setting to not work as expected.
2018-05-16Make the arbitrary mipmap detection threshold configureableJonathan Hamilton
This is likely a "superuser" option at best, but I want to be able to play with it without rebuilding if I want to tweak the heuristics
2018-05-16Make arbitrary mipmap detection a config optionJonathan Hamilton
Under GFX::Enhancements::ArbitraryMipmapDetection - default enabled
2018-05-12Config: Add support for enumsLéo Lam
This makes it possible to use enums as the config type. Default values are now clearer and there's no need for casts when calling Config::Get/Set anymore. In order to add support for enums, the common code was updated to handle enums by using the underlying type when loading/saving settings. A copy constructor is also provided for conversions from `ConfigInfo<Enum>` to `ConfigInfo<underlying_type<Enum>>` so that enum settings can still easily work with code that doesn't care about the actual enum values (like Graphics{Choice,Radio} in DolphinQt2 which only treat the setting as an integer).
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-04-01Remove support for projection hacksJosJuice
This isn't really useful for anything anymore as far as I know.
2018-03-26Implement "Skip" ubershader modeStenzek
Skip ubershader mode works the same as hybrid ubershaders in that the shaders are compiled asynchronously. However, instead of using the ubershader to draw the object, it skips it entirely until the specialized shader is made available. This mode will likely result in broken effects where a game creates an EFB copy, and does not redraw it every frame. Therefore, it is not a recommended option, however, it may result in better performance on low-end systems.
2018-03-15ShaderCache: Fix several issues in background shader compilingStenzek
- In D3D, shaders could be compiled on the main thread, blocking startup. - Reduced the latency between a pipeline being requested and used in all backends in hybrid ubershader mode, when no shader stages were present. - Fixed a case where async compilation could cause the same UID to be appended multiple times to the UID cache. - Fix incorrect number of threads being used when immediately compile shaders was enabled.
2018-03-10ShaderCache: Implement background shader compilationStenzek
This enables shaders to be compiled while the game is starting, instead of blocking startup. If a shader is needed before it is compiled, emulation will block.
2018-03-10VideoConfig: Collapse ubershader configuration fields to a single valueStenzek
2018-03-10OGL: Re-implement async shader compilingStenzek
2018-03-10Move shader caches to VideoCommonStenzek
2018-02-11TextureCache: Add an option to disable EFB copies to VRAMStenzek
The option is named DisableCopyToVRAM under the Hacks section in GFX.ini. It is intentionally not exposed to the GUI, as users should not need to use it under normal circumstances. The main use is debugging issues in the EFB-to-RAM shaders.
2018-01-20CustomTextures: Drop format convertion.degasus
2018-01-03Allow users to specify the encoder used for framedumping.Vlad Firoiu
2017-12-18Rename GFX_HACK_COPY_EFB_ENABLED to GFX_HACK_COPY_EFB_SCALEDJosJuice
Not sure why it was named like this... It doesn't affect whether the copy happens or not, only what resolution it uses.
2017-11-21VideoConfig: Remove bSupportsInternalResolutionFrameDumpsStenzek
Field is unused as of Hybrid XFB.
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-17Add 'immediate xfb' which reduces xfb latency at the cost of graphical errorsiwubcode
2017-11-17Add new GUI option to skip XFBToRam and remove old XFB optionsiwubcode
2017-11-17Add ability to dump xfb copies to texture for debugging purposesiwubcode
2017-11-10VideoConfig: Add const specifier to IsVSync() member functionLioncash
This member function doesn't alter VideoConfig's state.
2017-10-10VideoConfig: Prevent race condition on g_Config when refreshingStenzek
There was a race condition between the video thread and the host thread, if corrections need to be made by VerifyValidity(). Briefly, the config will contain invalid values. Instead, pause emulation first, which will flush the video thread, update the config and correct it, then resume emulation, after which the video thread will detect the config has changed and act accordingly.
2017-08-11Merge pull request #5867 from leoetlino/widescreenLeo Lam
GameINI: Replace Wii.Widescreen with AspectRatio
2017-08-08Remove non-integer IRsJosJuice
2017-08-05Don't force the aspect ratio in GameINIsLéo Lam
Instead, add a SuggestedAspectRatio option which tells Dolphin which aspect ratio to use when the aspect ratio option is set to Auto.
2017-08-01Merge pull request #5834 from stenzek/bc7Stenzek
Support loading BC7 (BPTC) textures from DDS files
2017-08-01HiresTextures: Support loading BC7 (BPTC) from DDS filesStenzek
2017-07-31VideoConfig: Drop force vertex/pixel ubershader settingsStenzek
This was mainly included for debugging, but could end up being confusing for users, as well as polluting the GL program cache with a mix of uber and specialized shaders if the option was changed.
2017-07-30Ubershaders: Support per-pixel lightingStenzek
2017-07-30VideoBackends: Support a different number of threads for precompilingStenzek
At runtime, we only really want a single shader compiler thread. However, for initial boots, we can use a higher number to speed things up.
2017-07-30VideoConfig: Add config options for ubershadersStenzek
2017-07-20ShaderGen: Pass host config to shader generation functionsStenzek
Also moves the host config checks to common.
2017-07-20VideoCommon: Move shader cache filename generation to commonStenzek
2017-07-20VideoConfig: Add host config unionStenzek
Contains all host state that can affect shadergen.