45 Commits

Author SHA1 Message Date
Tillmann Karras
59d2611a94 VideoCommon: remove unused struct fields 2025-06-24 19:38:45 +01:00
Tillmann Karras
6f25e20c6a VideoCommon: reset some CP registers during PI_FIFO_RESET
This fixes the shutdown error in SpongeBob Globs of Doom.
2025-05-05 21:18:37 +01:00
Tillmann Karras
84e72c185a VideoCommon: drop CP MMIO registers that were probably added in the wrong place
I think someone confused these with the actual token and bounding box
registers in PE, which were added later. In CP they never did anything
and it's suspicious that they have the same addresses as their PE
counterparts. On real hardware they always read as zero.
2025-02-08 11:46:49 +00:00
Admiral H. Curtiss
9a3e770c23 Migrate SConfig::bWii to System. 2024-01-31 12:54:07 +01:00
Lioncache
f97b2d472a VideoCommon/CommandProcessor: Pass system instance through constructor
Makes the use of the interface a little less noisy, especially given
how much of the interface depends on an instance being present.
2023-12-20 09:02:53 -05:00
Admiral H. Curtiss
192d8b6e40 VideoCommon/CommandProcessor: Pass System to HandleUnknownOpcode(). 2023-04-05 20:09:32 +02:00
Admiral H. Curtiss
5624dd6d39 VideoCommon/Fifo: Refactor to class, move to Core::System. 2022-12-10 17:16:19 +01:00
Admiral H. Curtiss
6941d2e7e6 VideoCommon/CommandProcessor: Refactor to class, move to Core::System. 2022-11-29 08:15:01 +01:00
Pokechu22
9ffe9d3dc1 CommandProcessor: Remove redundant GATHER_PIPE_SIZE constant 2022-02-12 16:17:03 -08:00
Pokechu22
b5fd35f951 Refactor OpcodeDecoding and FIFO analyzer to use callbacks 2021-12-18 15:21:36 -08:00
Emmanuel Gil Peyrot
25b136ac17 VideoCommon: Fix a -Wclass-memaccess in gcc 11 2021-11-02 13:50:21 +01:00
Pokechu22
78bfd25964 Fix all uninitialized variable warnings (C26495) 2021-10-13 12:32:16 -07:00
Pierre Bourdon
e149ad4f0a treewide: convert GPLv2+ license info to SPDX tags
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.
2021-07-05 04:35:56 +02:00
JosJuice
8a0f5ea04a Remove all remaining volatile qualifiers 2021-05-15 09:52:04 +02:00
JosJuice
b93983b50a Remove Atomic.h
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.
2021-05-13 18:56:27 +02:00
booto
bc8a4f99c7 VideoCommon: Constrain the array_base registers
The array_base registers as part of CP state do not seem to incorporate
the upper bits in the physical address they try to access.
2019-05-31 03:22:00 -04:00
JosJuice
8ad5ea2ede Call Do for every member of SCPFifoStruct individually
We need this because VS currently doesn't consider
std::is_trivially_copyable<typename
std::remove_volatile<SCPFifoStruct>::type>::value
to be true and because no compiler should consider it
to be true if we replace the volatiles with atomics.
2017-11-13 19:51:16 +01:00
Lioncash
f6e3a39c0e CommandProcessor: Remove unnecessary include
Gets rid of some indirect inclusion.
2017-09-02 13:34:21 -04:00
degasus
3787af9ee9 CommandProcessor: Limit scope of ugly SCPFifoStruct.
It's only used as an interface between two classes. So no need to declare
it in the backend export header.
2017-01-27 19:04:56 +01:00
BhaaL
23d99f2f2c specify custom brace style to fix unions
BreakBeforeBraces: Allman apparently includes all styles,
except for AfterUnion (which is false) when using clang-format -dump-config
2017-01-05 12:55:13 +01:00
Lioncash
c5243d6d12 CommandProcessor: Remove unimplemented prototypes 2016-12-24 01:15:50 -05:00
degasus
7833ff25df VideoBackends: Merge Initialize and Shutdown functions. 2016-06-26 12:34:59 +02:00
degasus
4c5f8f9c91 CoreTiming: Drop ProcessFifoWaitEvents.
globalTimer is only written in Advance, so this function has no function.
2016-06-26 11:29:25 +02:00
Pierre Bourdon
3570c7f03a Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Lioncash
d9fec92628 VideoCommon: Header cleanup
Also remedies places where the video backends and core rely on things
being indirectly included.
2016-01-17 20:11:45 -05:00