| Age | Commit message (Collapse) | Author |
|
our hires textures
|
|
The inequality operator is automatically generated by the compiler if `operator==` is defined.
|
|
used in other places in the future
|
|
existing files.
|
|
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.
|
|
shared_ptr gets released while a pointer to its member data is still being used
|
|
function so it can be used elsewhere. Doing this change may also slightly improve performance of this operation
|
|
'TextureData' for texture assets, this allows us to provide additional metadata for textures. Such as a sampler or type information (to distinguish cube maps)
|
|
Implicit conversion operators and enums was removed for parity with std::format (https://github.com/fmtlib/fmt/commit/fce74caa15b24cbc0fcafe4706692cb06cb0b815).
|
|
|
|
regardless of whether or not it is loaded yet
|
|
additional asset dependencies that trigger the texture to be reloaded
|
|
with multiple assets
|
|
|
|
this is no longer needed, assets reload automatically!
|
|
be reloaded
|
|
|
|
separating the custom texture data path from the game's texture data path
|
|
It was used for valid_bind_points, which was removed in 88bd10cd30d487cc3efba20875b32df7cdacb686 (and the declaration was more recently removed in 606c18210dd4f651655b2c84e9e332e6c6c6e21b).
|
|
Co-authored-by: Mai <mathew1800@gmail.com>
Co-authored-by: BhaaL <bhaalsen@gmail.com>
Co-authored-by: iwubcode <iwubcode@users.noreply.github.com>
|
|
|
|
Texture cache occasionally mutates textures for efficiency.
Which is awkward if we want to borrow those textures from texture cache
to do something else, such as a graphics debugger, or async presentation
on another thread.
Content locking provides a way to signal that the contents of a texture
cache entry should not change. Texture cache will be forced to use
alternative strategies.
|
|
The whole ownership model was getting a bit of a mess, with a some
of special cases to deal with. And I'm planning to make it even more
complex in the future.
So here is some upfront work to convert it over to reference counted
pointers.
|
|
Allows for fowards declaration
|
|
This will be used for later refactoring for increased accuracy.
|
|
|
|
VertexManagerBase (draw calls), and VertexShaderManager (projection calls)
|
|
|
|
'efb1' and 'xfb1' to match textures
|
|
At least in MSVC (which is not restricted from targetting C++20), these can be resolved to either std::format_to or fmt::format_to (though I'm not sure why the std one is available). We want the latter.
|
|
fmt 8.0.0 requires this.
|
|
|
|
|
|
Now works with games that deliberately avoid invalidating TMEM because
they know textures are too large to fit:
* Sonic Riders
* Metal Arms: Glitch in the System
* Godzilla: Destroy All Monsters Melee
* NHL Slapshot
* Tak and the Power of Juju
* Night at the Museum: Battle of the Smithsonian
* 428: Fūsa Sareta Shibuya de
|
|
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.
|
|
VideoCommon: move all texture calculations to a "TextureInfo" class
|
|
ever so slightly improves readability and allows for the full texture name to be generated outside of the hires texture cache
|
|
newly calculated one. This fixes games like Teenage Mutant Ninja Turtles (Wii) which use oversized textures where the stride doesn't match the BytesPerRow and that resulted in a different hash algorithm being used. By not hashing the texture before, we improve performance by hashing at most once in all direct XFB lookup scenarios.
|
|
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.
|
|
an emulated input action to an image based on what host key is defined for that emulated input. Specific regions are called out in configuration that mark where to replace an input button with a host key image.
|
|
This reference isn't actually modified within this function
|
|
|
|
This header doesn't actually make use of MathUtil.h within itself, so
this can be removed. Many other source files used VideoCommon.h as an
indirect include to include MathUtil.h, so these includes can also be
adjusted.
While we're at it, we can also migrate valid inclusions of VideoCommon.h
into cpp files where it can feasibly be done to minimize propagating it
via other headers.
|
|
|
|
|
|
|
|
|
|
This also better handles in-memory interlaced XFB data placed by the CPU
by considering the stride from the VI.
|
|
|
|
|