74e1577a2c
HW/ProcessorInterface: Refactor to class, move to Core::System.
2023-01-04 03:00:10 +01:00
725bd64ec2
VideoCommon: De-globalize PixelShaderManager class.
2022-12-27 20:13:24 +01:00
c486baffe6
VideoCommon/PixelEngine: Pass Core::System to methods.
2022-12-11 21:57:30 +01:00
ec8aaf1f30
VideoCommon/PixelEngine: Refactor to class, move to Core::System.
2022-12-11 21:57:19 +01:00
5624dd6d39
VideoCommon/Fifo: Refactor to class, move to Core::System.
2022-12-10 17:16:19 +01:00
c9558ecb4c
CoreTiming: Refactor to class.
2022-11-27 03:47:12 +01:00
0a6fdb9c13
HW: Pass System to MMIO handlers.
2022-11-23 05:52:21 +01:00
a36a5c1308
CoreTiming: Pass Core::System to Events.
2022-11-06 17:54:58 +01:00
e8221d7948
Common/PointerWrap: Remove DoPOD
...
This was added in 385d8e2b15
, but became somewhat redundant with Do in 4c7bbd96e4
, and completely redundant now that std::is_trivially_copyable_v is well-supported.
2022-10-06 11:25:36 -07:00
8882eb040a
PixelEngine: Convert to BitField and enum class
2022-03-29 15:34:43 -07:00
45b8ebeb25
PixelEngine: Remove old comment
...
This comment was added in 76d24f2c0d
(the link was updated in 5799824b22
, 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-03-29 15:34:43 -07:00
d8825f5635
Config: Port dual core setting to new config system.
2022-01-09 21:29:11 +01:00
f5c550e9cb
Delay singlecore gpu interrupts
...
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-11-25 11:11:01 +13:00
1161af8059
VideoCommon: Abstract bounding box
...
This moves much of the duplicated bounding box code into VideoCommon,
leaving only the specific buffer implementations in each backend.
2021-10-04 15:51:24 -04:00
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
ce8004c9c1
Lint: End of namespace
2021-06-07 12:55:52 +04:00
3d9b2aa005
VideoCommon: Migrate over to fmt
...
Migrates off the printf-based formatting where applicable.
2020-11-17 21:23:58 -05:00
2c9ec6cb8a
VideoCommon/BoundingBox: Move PixelShaderManager::SetBoundingBoxActive() 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-05 11:57:58 -05:00
9bd533ebe4
VideoCommon/BoundingBox: Make interface for querying bounding box data
...
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.
2019-12-05 11:48:42 -05:00
f6e3a39c0e
CommandProcessor: Remove unnecessary include
...
Gets rid of some indirect inclusion.
2017-09-02 13:34:21 -04:00
7d78cf0f6f
ShaderGen: Implement pixel ubershaders
2017-07-30 17:43:59 +10:00
ba1decf7bc
PixelEngine: Use a DirectRead for the token.
...
No need to call a std::function, and a few games poll this value very often.
2017-01-27 07:49:47 +01:00
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
f0aa9b3751
Reorganise a ton of logs level
...
Most of this commits changes performance decreasing logs from info to debug and also cleans up innacurate levels.
2016-10-01 15:50:28 -04:00
aa16282516
Core: Change CoreTiming event key from int to EventType*
...
Replace 'int' keys with something that carries type information.
Performance is neutral.
2016-09-03 14:55:44 +10:00
9fb6f93ca1
PixelEngine: Add missing static specifier for s_token_finish_mutex
.
2016-09-01 17:28:48 +02:00
c1184957a5
Run clang-format on missed files
...
`clang-format`s files that lint missed because of the bug. Fortunately,
not much.
2016-08-11 21:14:39 +02:00
3443a10030
CoreTiming: Merge ScheduleEvent variants into one function
...
Now Core::IsCPUThread() only gets called once when using the AnyThread
variant. Also, I think the enum approach makes calling code clearer.
2016-08-11 12:45:57 +02:00
82bdc4ef86
PixelEngine: Delay token updates by events.
...
To still get a speedup, mark if already an event is queued.
If so, don't raise a new event.
2016-08-10 13:24:57 +02:00
a051db9792
PixelEngine: Cleanup PE Token.
...
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-10 10:07:53 +02:00
367e1b4d4c
PixelEngine: Drop write-only variables.
2016-08-10 10:07:53 +02:00
3570c7f03a
Reformat all the things. Have fun with merge conflicts.
2016-06-24 10:43:46 +02:00
5e50c37c13
Alternative fix: promote cycleslate to an s64 everywhere.
...
Also changed a few functions to be static.
2016-04-10 02:13:06 +12:00
32ce2be2bf
Fifo: Make g_use_deterministic_gpu_thread a TU-local variable
2016-01-25 05:24:03 -05:00
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
5f244abf28
Fifo: Create a "Fifo" namespace.
2016-01-12 23:28:26 +01:00
c375111076
Options: merge SCoreStartupParameter into SConfig
2015-06-12 19:07:45 +02:00
9c63b78397
Fix indeterminism in GPU thread mode.
2015-06-06 02:14:06 -04:00
1ba3b4e7ac
CommandProcessor: Replace volatile usages with atomics
...
Also remove said variables from being globals.
2015-05-27 03:53:29 -04:00
ec03196267
PixelEngine: Replace volatile usages with atomics
...
Also removes two unused volatile variables.
2015-05-27 02:39:55 -04:00
30ebb2459e
Set copyright year to when a file was created
2015-05-25 13:22:31 +02:00
cefcb0ace9
Update license headers to GPLv2+
2015-05-25 13:22:31 +02:00
5799824b22
Fix dead link
2015-05-01 21:42:50 +02:00
b020ae1c5d
Fifo: rewrite sync on idle skipping hack
...
Now it's done without a busy loop
2015-04-06 12:35:35 +02:00
47be9d8e6b
Clean up usage of ScheduleEvent_Threadsafe.
2015-01-30 14:48:23 -08:00
c211450b99
OGL: implement bounding box support with ssbo
...
This implemention tries to be as accurate as the old SW implemention, but it will remove the dependcy of our vertexloader on videosw.
2014-11-17 21:20:32 +01:00
176ea06e82
Get buildbot to compile.
2014-10-10 12:28:15 +01:00
2d4b7e3f3f
Reimplement Bounding Box calculation using the software renderer.
2014-10-10 12:27:06 +01:00
fbc64984ca
Include CommonTypes.h instead of Common.h.
2014-09-08 15:39:58 -04:00
0ccee6c87b
Fix warnings unearthed by #579
2014-07-13 02:16:51 +02:00