summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/Fifo.cpp
AgeCommit message (Collapse)Author
2023-12-20VideoCommon/CommandProcessor: Pass system instance through constructorLioncache
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-18VideoCommon/Fifo: Pass system instance through FifoManager constructorLioncache
Given how many member functions make use of the system instance, it's likely just better to pass the system instance in on construction. Makes the interface a little less noisy to use.
2023-06-12Common: Convert BlockingLoop::StopMode to enum classDentomologist
2023-03-21Common: Move FPU-related helpers into Common namespaceLioncash
Makes these utilities' namespace consistent with the majority of the Common library.
2022-12-10VideoCommon/Fifo: Pass Core::System to methods.Admiral H. Curtiss
2022-12-10VideoCommon/Fifo: Refactor to class, move to Core::System.Admiral H. Curtiss
2022-12-03HW/Memmap: Refactor Memory to class, move to Core::System.Admiral H. Curtiss
2022-11-29VideoCommon/CommandProcessor: Refactor to class, move to Core::System.Admiral H. Curtiss
2022-11-27CoreTiming: Refactor to class.Admiral H. Curtiss
2022-11-06CoreTiming: Pass Core::System to Events.Admiral H. Curtiss
2022-10-01VideoCommon: Update EFB peek cache on draw done and tokensRobin Kertels
Massively improves performance in Mario Galaxy on Android.
2022-05-25Common: Refactor PointerWrapDentomologist
2022-04-18Common/PointerWrap: Hide internals.Admiral H. Curtiss
2022-02-12VideoCommon/Fifo: Use GPFifo::GATHER_PIPE_SIZE instead of magic 32Pokechu22
2022-01-11Merge pull request #10356 from AdmiralCurtiss/config-port-core-4JMC47
Config: Port remaining Core settings to new config system (the rest).
2022-01-09Common/Assert: Switch to fmtPokechu22
2022-01-09Config: Port SyncGPU settings to new config system.Admiral H. Curtiss
2022-01-09Config: Port dual core setting to new config system.Admiral H. Curtiss
2022-01-06Config: Port GPUDeterminismMode setting to new config system.Admiral H. Curtiss
2021-12-18Refactor OpcodeDecoding and FIFO analyzer to use callbacksPokechu22
2021-08-03VI: Implement post-scanout XFB outputTechjar
This adds about a frame of latency, and since most games don't change VI registers during scanout, we can get away with outputting the XFB at the start of scanout. WWE Crush Hour is the (only currently known) exception, which has flickering problems when doing it this way. This adds a path to perform the output at the end of scanout, and gates it behind an option which defaults to using the latency-reducing pre-scanout path.
2021-07-05treewide: convert GPLv2+ license info to SPDX tagsPierre Bourdon
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-06-23VideoCommon/Fifo: Move SConfig::GetInstance() outside the GPU loop.Admiral H. Curtiss
2021-05-15Remove all remaining volatile qualifiersJosJuice
2021-05-13Remove Atomic.hJosJuice
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-04-18Fifo: Run/sync with the GPU on command processor register accessStenzek
2020-11-17VideoCommon: Migrate over to fmtLioncash
Migrates off the printf-based formatting where applicable.
2019-07-24VideoBackendBase: Do save state logic on the GPU threadStenzek
2019-05-06Reformat repo to clang-format 7.0 rulesTechjar
2018-06-15ConfigManager: Convert GPUDeterminismMode into an enum classLioncash
Makes the values strongly-typed and gets more identifiers out of the global namespace. We are forced to use anything that is not "None" to mean none, because X11 is garbage in that it has: \#define None 0L Because clearly no one else will ever want to use that identifier for anything in their own code (and is why you should prefix literally any and all preprocessor macros you expose to library users in public headers).
2018-03-14Assert: Uppercase assertion macrosLioncash
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).
2018-01-27VideoBackend: Remove PeekMessages methodStenzek
The video thread and backend no longer create any windows, therefore there will never be any messages dispatched to their thread.
2017-09-02CommandProcessor: Remove unnecessary includeLioncash
Gets rid of some indirect inclusion.
2017-06-25Change "blocking" BlockingLoop::Stop to give up and die after a timeout.Shawn Hoffman
This fixes the global-static fifo object causing infinite hangs in some cases. Notably, failure to initialize a graphics backend would result in BlockingLoop::Prepare being called but never executing Run(), leaving the object in a bad state.
2017-06-07quiet some sign-conversion-in-parameter warningsShawn Hoffman
2017-03-28Fifo: Remove unnecessary integral castsLioncash
FIFO_SIZE is a u32, so %u can just be used instead.
2017-03-26Fifo: const correctnessLioncash
PushFifoAuxBuffer only memcpys data using ptr as the source pointer, so it can be a pointer to const data because of that.
2017-02-01Remove special condition for auto dual core determinismJosJuice
2017-01-27CommandProcessor: Limit scope of ugly SCPFifoStruct.degasus
It's only used as an interface between two classes. So no need to declare it in the backend export header.
2016-11-11BlockingLoop: Yield to UI message pump while waiting.Jules Blok
2016-10-11SyncGPU: Fix savestate.degasus
2016-10-08Remove Frameskipanthony
2016-10-03Fifo: Fix SyncGPU.degasus
2016-09-17Fifo: Use SyncGPU timings for single core.degasus
2016-09-03Core: Change CoreTiming event key from int to EventType*EmptyChaos
Replace 'int' keys with something that carries type information. Performance is neutral.
2016-08-23Merge pull request #4141 from lioncash/vtxMarkus Wick
VertexManagerBase: Get rid of static state
2016-08-22Merge pull request #4132 from lioncash/enum-fifoMarkus Wick
Fifo: Make SyncGPUReason an enum class
2016-08-21VertexManagerBase: Get rid of static behaviorLioncash
2016-08-19Merge pull request #3386 from lioncash/memoryJosJuice
Common: Namespace MemoryUtil
2016-08-18Fifo: Make SyncGPUReason an enum classLioncash