summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/VideoConfig.cpp
AgeCommit message (Collapse)Author
2022-04-15Merge pull request #10255 from Pokechu22/sw-zfreezeScott Mansell
Software: Fix zfreeze with CullMode::All
2022-04-09Merge pull request #10571 from AdmiralCurtiss/ffmpeg-custom-pix-fmtMai M
VideoCommon/FrameDump: Allow user to specify a pixel format.
2022-04-08Software: Remove config to disable ZComploc and ZFreezePokechu22
These aren't particularly useful, and make the code a bit more confusing. If for some reason someone wants to test what happens when these functions are disabled, it's easier to just edit the code that implements them. They aren't exposed in the UI, so one would need to restart Dolphin to do it anyways.
2022-04-08Fix typo (GFX_HACK_VERTEX_ROUDING -> GFX_HACK_VERTEX_ROUNDING)Pokechu22
2022-04-09VideoCommon/FrameDump: Allow user to specify a pixel format.Admiral H. Curtiss
2022-01-06Merge pull request #10346 from iwubcode/fixed_shader_precompile_parallelizationJMC47
VideoCommon: Fix shader precompilization detection
2022-01-06Config: Port emulation speed setting to new config system.Admiral H. Curtiss
2022-01-04VideoCommon: assume the majority of os/drivers support parallel compiling of ↵iwubcode
shaders, we can create bugs if there are issues. Android is assumed buggy
2022-01-04Merge pull request #9414 from DevJPM/masterJMC47
Fix CPU Core Count detection and Enable Parallel Shader Compilation
2021-12-10Treewide: Adjust order of includesPokechu22
2021-11-22VideoCommon: Gate Multi-Threaded Shader Pre-Compilation behind a bug entryDevJPM
2021-11-20Fix CPU Core Count detection and Enable Parallel Shader CompilationDevJPM
This does this following things: - Default to the runtime automatic number of threads for pre-compiling shaders - Adds a distinct automatic thread count computation for pre-compilation (which has less other things going on and should scale better beyond 4 cores) - Removes the unused logical_core_count field from the CPU detection - Changes the semantics of num_cores from maximaum addressable number of cores to actually available CPU cores (which is also how it was actually used) - Updates the computation of the HTT flag now that AMD no longer lies about it for its Zen processors - Background shader compilation is *not* enabled by default
2021-11-17VideoCommon: Add option to use old behavior (Fast Texture Sampling)Pokechu22
Co-authored-by: JosJuice <josjuice@gmail.com>
2021-10-13Fix all uninitialized variable warnings (C26495)Pokechu22
2021-07-05treewide: convert GPLv2+ license info to SPDX tagsPierre Bourdon
SPDX standardizes how source code conveys its copyright and licensing information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX tags are adopted in many large projects, including things like the Linux kernel.
2021-06-09Hack to hide debug cubes in Super Mario SunshinePokechu22
... while not breaking other games.
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