| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Massively improves performance in Mario Galaxy on Android.
|
|
|
|
|
|
VertexManagerBase (draw calls), and VertexShaderManager (projection calls)
|
|
|
|
This is mainly for debugging, and is only exposed by manually editing the configuration.
|
|
This increases accuracy, fixing the white rendering in Major Minor's Majestic March. However, the hardware backends can only have one viewport and scissor rectangle at a time, while sometimes multiple are needed to accurately emulate what is happening. If possible, this will need to be fixed later.
|
|
|
|
|
|
Config: Port remaining General settings to new config system.
|
|
|
|
|
|
|
|
|
|
|
|
Simply shows Movie::s_rerecords in the ImGui Movie window
|
|
|
|
|
|
VideoCommon: Abstract bounding box
|
|
This moves much of the duplicated bounding box code into VideoCommon,
leaving only the specific buffer implementations in each backend.
|
|
Just to stay consistent, I believe it is best to show total input polls alongside the framecount.
|
|
Previously, when playing back a movie, you could not see the total frame count of a movie, only the total number of input polls.
This change simply shows the total frame count on movie playback.
Note that this change also results in the framecount and framecount total ALWAYS being displayed if show_movie_window is true, regardless of whether or not m_ShowFrameCount is true. I believe this is fine, as TASers are much more likely to reference the framecount than the input poll count.
|
|
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.
|
|
The SDK seems to write "default" bounding box values before every draw
(1023 0 1023 0 are the only values encountered so far, which happen to
be the extents allowed by the BP registers) to reset the registers for
comparison in the pixel engine, and presumably to detect whether GX has
updated the registers with real values. Handling these writes and
returning them on read when bounding box emulation is disabled or
unsupported, even without computing real values from rendering, seems
to prevent games from corrupting memory or crashing.
This obviously does not fix any effects that rely on bounding box
emulation, but having the game not clobber its own code/data or just
outright crash is a definite improvement.
|
|
|
|
|
|
This avoids rounding values that the game writes to the bounding box
registers, especially the default values.
|
|
The GC/Wii GPU rasterizes in 2x2 pixel groups, so bounding box values
will be rounded to the extents of these groups, rather than the exact
pixel. To account for this, we'll round the top/left down to even and
the bottom/right up to odd. I have verified that the values resulting
from this change exactly match a real Wii.
|
|
variants
This will allow for some aspects of bounding box to be handled in
VideoCommon instead of individual backends.
|
|
Remove Atomic.h
|
|
Input cleanup
|
|
The STL has everything we need nowadays.
I have tried to not alter any behavior or semantics with this
change wherever possible. In particular, WriteLow and WriteHigh
in CommandProcessor retain the ability to accidentally undo
another thread's write to the upper half or lower half
respectively. If that should be fixed, it should be done in a
separate commit for clarity. One thing did change: The places
where we were using += on a volatile variable (not an atomic
operation) are now using fetch_add (actually an atomic operation).
Tested with single core and dual core on x86-64 and AArch64.
|
|
|
|
Fix FPS counter and Game Window speed % breaking on pause/unpause
|
|
-Add pause state to FPSCounter.
-Add ability to have more than one "OnStateChanged" callback in core.
-Add GetActualEmulationSpeed() to Core. Returns 1 by default. It's used by my input PRs.
|
|
This fixes an issue in RS3 where engine lens flares would shine
though ships during cutscenes
|
|
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.
|
|
|
|
|
|
[committer note: fixed commit message style]
|
|
uninitialized Free Look control type
|
|
ensures Free Look settings are copied at the start of the frame. Also update the camera's controller type at this time
|