| Age | Commit message (Collapse) | Author |
|
Cull vertices on the CPU
|
|
|
|
|
|
|
|
|
|
|
|
Needed by M1 fifoci to work around a minor non-determinism bug
|
|
Various Metal renderer improvements
|
|
|
|
|
|
Turns out it was helpful. (Most improvement in ubershaders.) This time with much better auto mode.
|
|
Texture dumping can already be done using VideoCommon's system (and in fact the same setting already enabled *both* of these). Dumping objects/TEV stages/texture fetches doesn't currently have an equivalent, but could be added to the FIFO player instead.
|
|
read brand_string on macos/arm64
remove unused flags
report family/model info instead of vendor name
|
|
|
|
... and refresh the config before populating the backend info, as the config (specifically iAdapter) needs to be set to correctly populate the backend info.
Before, the list of valid antialiasing modes was always determined from the first adapter on the list on startup, regardless of the adapter the user selected.
|
|
This is mainly for debugging, and is only exposed by manually editing the configuration.
|
|
Software: Fix zfreeze with CullMode::All
|
|
VideoCommon/FrameDump: Allow user to specify a pixel format.
|
|
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.
|
|
|
|
|
|
VideoCommon: Fix shader precompilization detection
|
|
|
|
shaders, we can create bugs if there are issues. Android is assumed buggy
|
|
Fix CPU Core Count detection and Enable Parallel Shader Compilation
|
|
|
|
|
|
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
|
|
Co-authored-by: JosJuice <josjuice@gmail.com>
|
|
|
|
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.
|
|
... while not breaking other games.
|
|
|
|
Specifically, this enables users to choose whether to dump mip maps, base level textures, or both.
|
|
each call which caused a performance hit, move check to RenderBase where it is checked when config changes
|
|
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.
|
|
|
|
The new tile cache is dynamic in size and can be turned on/off.
|
|
Move a significant amount of video backend logic to VideoCommon
|
|
Unnecessary since b93b7ec. It was needed before that commit becase
RenderBase.cpp only was checking the value of aspect_mode, not
suggested_aspect_mode.
|
|
|
|
Android: Disable backend multithreading and add option to gfx menu
|
|
|
|
|
|
|
|
|
|
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.
|
|
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
|
|
Under GFX::Enhancements::ArbitraryMipmapDetection - default enabled
|
|
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).
|