summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/VideoConfig.cpp
AgeCommit message (Collapse)Author
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.
2017-07-20ShaderGen: Remove host state from shader uidsStenzek
2017-06-15VertexShaderManager: Rename projection hack variablesMerryMage
2017-06-11VideoConfig: Remove bRunningMerryMage
Value was set but not used.
2017-06-10VideoConfig: Remove useless header includesLéo Lam
2017-06-10VideoConfig: Remove manual panic alert setting loadLéo Lam
This code hadn't been touched since 2010. Nowadays, the panic alert setting is loaded by ConfigManager and applied in UICommon. VideoConfig has no business messing with it.
2017-06-03GameConfigLoader: Add GFX Game INI translationsMerryMage
2017-04-29HiresTextures: Support parsing DDS files directlyStenzek
This leaves DDS textures using DXT1/3/5 compressed in-memory, which can be passed directly to the backend.
2017-04-04Add configurable toggle that rounds vertices to the nearest pixel wheniwubcode
w=1. This fixes some games at higher IRs.
2017-04-01VideoBackends: Add configuration field for GPU texture decodingStenzek
2017-03-15videoconfig: add BBoxPreferStencilImplementationMichael Maltese
@JMC47 requested this to be able to do performance comparisons.
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-08Save new framedump options.Vlad Firoiu
2017-02-27Dump to arbitrary URLs.Vlad Firoiu
2017-02-27Configable dump codec.Vlad Firoiu