| Age | Commit message (Collapse) | Author |
|
They were essentially just pass-though methods
|
|
|
|
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.
|
|
|
|
This almost certainly never happens, but if it does we want to know.
|
|
Fixes a large number of effects in Rogue Squadron 2 and 3.
|
|
|
|
|
|
|
|
|
|
They haven't been used since efbe5bc4b65.
|
|
This moves much of the duplicated bounding box code into VideoCommon,
leaving only the specific buffer implementations in each backend.
|
|
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.
|
|
Additionally, VCacheEnhance has been added to UVAT_group1. According to YAGCD, this field is always 1.
TVtxDesc also now has separate low and high fields whose hex values correspond with the proper registers, instead of having one 33-bit value. This change was made in a way that should be backwards-compatible.
|
|
The special case doesn't appear to make a significant difference in any games, and the current implementation has a (minor, fixable) issue that breaks Super Mario Sunshine (both with a failed assertion (https://bugs.dolphin-emu.org/issues/11742) and a rendering issue (https://bugs.dolphin-emu.org/issues/7476)). Hardware testing wasn't able to reproduce the special case, either, so it may just not exist.
PR #9315 contains a fixed implementation of the special case on all video backends, and can serve as a basis for it being reintroduced if it is found to exist under more specific circumstances. For now, I don't see a reason to keep it present.
|
|
|
|
Migrates the software backend over to the fmt-capable logger.
|
|
Now that we've extracted all of the stateless functions that can be
hidden, it's time to make the index generator a regular class with
active data members.
This can just be a member that sits within the vertex manager base
class. By deglobalizing the state of the index generator we also get rid
of the wonky dual-initializing that was going on within the OpenGL
backend.
Since the renderer is always initialized before the vertex manager, we
now only call Init() once throughout the execution lifecycle.
|
|
Makes the global variable follow our convention of prefixing g_ on
global variables to make it obvious in surrounding code that it's not a
local variable.
|
|
Normalizes all variables related to statistics so that they follow our
coding style.
These are relatively low traffic areas, so this modification isn't too
noisy.
|
|
|
|
|
|
|
|
Macros should be all upper-cased. This is also kind of a wart that's
been sticking out for quite a while now (we avoid prefixing
underscores).
|
|
Also moves logic for primitive handling to VideoCommon.
|
|
It's only ever used in one place internally and is arguably unnecessary.
|
|
Follows our coding style.
|
|
Gets rid of some hardcoded looping bounds, and also simplifies code in
some places, sometimes allowing for removal of a loop altogether.
|
|
|
|
Much safer as opposed to just returning raw allocated memory.
|
|
Gets several constants out of global scope.
|
|
|
|
|
|
|
|
Altered to indicate regular class members
|
|
|
|
I have no clue what this special case shall be, but accessing g_main_cp_state within Flush() is not allowed.
We likely still have a bad behavior, but now it only depends on the current state, not on the next one after flushing.
|
|
|
|
Just access the global state directly.
|
|
Just use the global state.
|
|
Gets rid of some indirect inclusions in cpp files.
Also this will reduce the amount of rebuilt files if
changes occur in the DataReader header.
|
|
Also remedies places where the video backends and core rely on things
being indirectly included.
|
|
Now we require lots of empty functions, but this removes by far more duplicated code.
|
|
This must have no effect, everything else is usage of uninitialized memory.
|
|
|
|
|
|
This data might not be initialized but used for lighting.
This matches our ShaderGen usage in VertexShaderGen.cpp:166.
|
|
|
|
It's not panic, it may just render wrong. And this case seems to happen often.
|