| Age | Commit message (Collapse) | Author |
|
Accomplished using `run-clang-tidy` with `performance-move-const-arg,performance-unnecessary-value-param,modernize-pass-by-value`.
Changed arguments to const references, removed them where inappropriate (e.g. sink parameters). Same with std::move.
Manually reviewed each change to make sure that it makes sense, and do something more appropriate if possible.
|
|
VideoCommon: separate the concept of a 'resource' from an 'asset', add Material/Shader loading
|
|
function, add a way to hash the pipeline (using the vertex declaration instead of the native vertex format)
|
|
work (used on shutdown), this will in turn clear up any resources that the worker items may have held onto
|
|
|
|
Co-authored-by: Dentomologist <dentomologist@gmail.com>
|
|
shader code
|
|
consistent
|
|
Fix some common anti-patterns with these data structures.
- You can dereference the iterator returned by `find` to access the
underlying value directly, without an extra `operator[]`/`at`.
- Rather than checking for an element before insertion/deletion, you can
just do the operation and if needed check the return value to
determine if the insertion/deletion succeeded.
|
|
to eventually allow for custom shaders to override vertex logic
|
|
shaders and provide a direct override of the tev stage logic
|
|
|
|
|
|
Instead, we make the event take a reference to the system and then pass
it in when the event is triggered.
This does introduce two other accessors, but these are much easier to
refactor out over time, and without modification to the existing event
interface.
|
|
shaders in graphics mods
|
|
in graphics mods
|
|
Gets the interface out of the global namespace.
|
|
|
|
We need to copy padding in most of these cases, and the objects are trivially copyable; however, BitField prevents trivial copy-assignment.
|
|
Kill Renderer (with phire)
|
|
|
|
|
|
|
|
Almost all the virtual functions in Renderer are part of dolphin's
"graphics api abstraction layer", which has slowly formed over the
last decade or two.
Most of the work was done previously with the introduction of the
various "AbstractX" classes, associated with texture cache cleanups
and implementation of newer graphics APIs (Direct3D 12, Vulkan, Metal).
We are simply taking the last step and yeeting these functions out
of Renderer.
This "AbstractGfx" class is now completely agnostic of any details
from the flipper/hollywood GPU we are emulating, though somewhat
specialized.
(Will not build, this commit only contains changes outside VideoBackends)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Reduce the number of different pipelines needed. Also works around drivers that break when you combine fbfetch with dual source blending
|
|
Adds a pass to process driver deficiencies between UID caching and use, allowing a full view of the whole pipeline, since some bugs/workarounds involve interactions between blend modes and the pixel shader
|
|
|
|
Make shader precompilation interruptable
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
VideoCommon: Support shader logic ops on Metal (Apple GPUs) and OpenGL ES
|
|
|
|
supported
|
|
|
|
|
|
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.
|
|
Additional changes:
- For TevStageCombiner's ColorCombiner and AlphaCombiner, op/comparison and scale/compare_mode have been split as there are different meanings and enums if bias is set to compare. (Shift has also been renamed to scale)
- In TexMode0, min_filter has been split into min_mip and min_filter.
- In TexImage1, image_type is now cache_manually_managed.
- The unused bit in GenMode is now exposed.
- LPSize's lineaspect is now named adjust_for_aspect_ratio.
|
|
We want to clear/memset the padding bytes, not just each member,
so using assignment or {} initialization is not an option.
To silence the warnings, cast the object pointer to u8* (which is not
undefined behavior) to make it explicit to the compiler that we want
to fill the object representation.
|
|
Migrates off the printf-based formatting where applicable.
|