summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/PixelEngine.cpp
AgeCommit message (Collapse)Author
2023-01-04HW/ProcessorInterface: Refactor to class, move to Core::System.Admiral H. Curtiss
2022-12-27VideoCommon: De-globalize PixelShaderManager class.Admiral H. Curtiss
2022-12-11VideoCommon/PixelEngine: Pass Core::System to methods.Admiral H. Curtiss
2022-12-11VideoCommon/PixelEngine: Refactor to class, move to Core::System.Admiral H. Curtiss
2022-12-10VideoCommon/Fifo: Refactor to class, move to Core::System.Admiral H. Curtiss
2022-11-27CoreTiming: Refactor to class.Admiral H. Curtiss
2022-11-23HW: Pass System to MMIO handlers.Admiral H. Curtiss
2022-11-06CoreTiming: Pass Core::System to Events.Admiral H. Curtiss
2022-10-06Common/PointerWrap: Remove DoPODPokechu22
This was added in 385d8e2b15c8accce3b4e4b4f3dc90f63e3fbee4, but became somewhat redundant with Do in 4c7bbd96e435a7516b05d3e8c791ab41505e2e0f, and completely redundant now that std::is_trivially_copyable_v is well-supported.
2022-03-29PixelEngine: Convert to BitField and enum classPokechu22
2022-03-29PixelEngine: Remove old commentPokechu22
This comment was added in 76d24f2c0d8 (the link was updated in 5799824b226, but both are dead now). An archived version is at https://web.archive.org/web/20090830050441/http://developer.nvidia.com/object/General_FAQ.html#t6 but it's about the number of available texture units, which doesn't seem relevant to PixelEngine.
2022-01-09Config: Port dual core setting to new config system.Admiral H. Curtiss
2021-11-25Delay singlecore gpu interruptsScott Mansell
Fixes Bomberman Jetters in single core mode. When single core mode pauses the CPU to execute the GPU FIFO it greedily executes the whole thing. Before this commit, Finish and Token interrupts would happen instantly, not even taking into account how long the current FIFO window has taken to execute. The interrupts would be effectively backdated to the start of this execution window. This commit does two things: It pipes the current FIFO window execution time though to the interrupt scheduling and it enforces a minimum delay of 500 cycles before an interrupt will be fired.
2021-10-04VideoCommon: Abstract bounding boxTechjar
This moves much of the duplicated bounding box code into VideoCommon, leaving only the specific buffer implementations in each backend.
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-07Lint: End of namespaceSepalani
2020-11-17VideoCommon: Migrate over to fmtLioncash
Migrates off the printf-based formatting where applicable.
2019-12-05VideoCommon/BoundingBox: Move PixelShaderManager::SetBoundingBoxActive() ↵Lioncash
calls into Enable()/Disable() Now that we have an actual interface to manage things, we can stop duplicating the calls to to the pixel shader manager and remove the need to remember to actually do so when disabling or enabling the bounding box.
2019-12-05VideoCommon/BoundingBox: Make interface for querying bounding box dataLioncash
Rather than expose the bounding box members directly, we can instead provide an interface for code to use. This makes it nicer to transition from global data, as the interface function names are already in place.
2017-09-02CommandProcessor: Remove unnecessary includeLioncash
Gets rid of some indirect inclusion.
2017-07-30ShaderGen: Implement pixel ubershadersStenzek
2017-01-27PixelEngine: Use a DirectRead for the token.degasus
No need to call a std::function, and a few games poll this value very often.
2017-01-05specify custom brace style to fix unionsBhaaL
BreakBeforeBraces: Allman apparently includes all styles, except for AfterUnion (which is false) when using clang-format -dump-config
2016-10-01Reorganise a ton of logs levelaldelaro5
Most of this commits changes performance decreasing logs from info to debug and also cleans up innacurate levels.
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-09-01PixelEngine: Add missing static specifier for `s_token_finish_mutex`.Jules Blok
2016-08-11Run clang-format on missed filesLéo Lam
`clang-format`s files that lint missed because of the bug. Fortunately, not much.
2016-08-11CoreTiming: Merge ScheduleEvent variants into one functionJosJuice
Now Core::IsCPUThread() only gets called once when using the AnyThread variant. Also, I think the enum approach makes calling code clearer.
2016-08-10PixelEngine: Delay token updates by events.degasus
To still get a speedup, mark if already an event is queued. If so, don't raise a new event.
2016-08-10PixelEngine: Cleanup PE Token.degasus
This also affects the behavior a bit, it should now fit better to the one of the commonly more used PE Finish flag.
2016-08-10PixelEngine: Drop write-only variables.degasus
2016-06-24Reformat all the things. Have fun with merge conflicts.Pierre Bourdon
2016-04-10Alternative fix: promote cycleslate to an s64 everywhere.Scott Mansell
Also changed a few functions to be static.
2016-01-25Fifo: Make g_use_deterministic_gpu_thread a TU-local variableLioncash
2016-01-17VideoCommon: Header cleanupLioncash
Also remedies places where the video backends and core rely on things being indirectly included.
2016-01-12Fifo: Create a "Fifo" namespace.degasus
2015-06-12Options: merge SCoreStartupParameter into SConfigdegasus
2015-06-06Fix indeterminism in GPU thread mode.comex
2015-05-27CommandProcessor: Replace volatile usages with atomicsLioncash
Also remove said variables from being globals.
2015-05-27PixelEngine: Replace volatile usages with atomicsLioncash
Also removes two unused volatile variables.
2015-05-25Set copyright year to when a file was createdTillmann Karras
2015-05-25Update license headers to GPLv2+Tillmann Karras
2015-05-01Fix dead linkIngve Skåra
2015-04-06Fifo: rewrite sync on idle skipping hackdegasus
Now it's done without a busy loop
2015-01-30Clean up usage of ScheduleEvent_Threadsafe.magumagu
2014-11-17OGL: implement bounding box support with ssbodegasus
This implemention tries to be as accurate as the old SW implemention, but it will remove the dependcy of our vertexloader on videosw.
2014-10-10Get buildbot to compile.crudelios
2014-10-10Reimplement Bounding Box calculation using the software renderer.crudelios
2014-09-08Include CommonTypes.h instead of Common.h.Rohit Nirmal
2014-07-13Fix warnings unearthed by #579Tillmann Karras