degasus
a4d72ac6e3
MMU: Add small BAT comment.
2016-09-06 08:43:31 +02:00
degasus
ce5dac11a2
Boot: Update BAT lookup table on booting ELF.
2016-09-06 08:43:31 +02:00
degasus
6493ea1eb9
MMU: Coding style fixes.
2016-09-06 08:43:31 +02:00
degasus
ae1421b606
JitArm64: Rebase failure.
2016-09-06 08:43:31 +02:00
degasus
2925a5b219
Jit64: Simplify dcbz.
2016-09-06 08:43:31 +02:00
degasus
ef0dcfe558
MMU: Small fixes.
2016-09-06 08:43:31 +02:00
magumagu
d557310371
Support for dynamic BAT modification (dynamic-bat).
...
Fundamentally, all this does is enforce the invariant that we always
translate effective addresses based on the current BAT registers and
page table before we do anything else with them.
This change can be logically divided into three parts. The first part is
creating a table to represent the current BAT state, and keeping it up to
date (PowerPC::IBATUpdated, PowerPC::DBATUpdated, etc.). This does
nothing by itself, but it's necessary for the other parts.
The second part (mostly in MMU.cpp) is simply removing all the hardcoded
checks for specific untranslated addresses, and consistently translating
addresses using the current BAT configuration. Very straightforward, but a
lot of code changes because we hardcoded assumptions all over the place.
The third part (mostly in Memmap.cpp) is making the fastmem arena reflect
the current BAT configuration. We do this by redoing the mapping (calling
memmap()) based on the BAT table whenever it changes.
One additional minor change is that translation can fail in two ways:
either the segment is a direct store segment, or page table lookup failed.
The difference doesn't usually matter, but the difference affects cache
instructions, like dcbz.
2016-09-06 08:43:22 +02:00
Scott Mansell
3e0355e7f6
Merge pull request #4184 from EmptyChaos/wii_ipc-init
...
WII_IPC_HLE: Fix Reinit
2016-09-06 15:51:30 +12:00
Anthony
54c3e58727
Merge pull request #4185 from JMC47/TheCloneWarsini
...
Star Wars: The Clone Wars INI
2016-09-05 20:47:17 -07:00
JMC47
4b62d19818
Star Wars: The Clone Wars INI
2016-09-05 23:42:10 -04:00
EmptyChaos
014714d515
WII_IPC_HLE: Fix Reinit
...
Init cannot be called more than once because it registers the
CoreTiming callbacks, that trips the assertions and will cause
anyone with PanicAlerts disabled to crash.
2016-09-06 12:59:22 +10:00
Scott Mansell
5932ded806
Merge pull request #4183 from aldelaro5/if-simplification-slowmem
...
Simplify an if condition after PR #4078
2016-09-06 13:20:58 +12:00
aldelaro5
173bdc766d
Simplify an if condition after PR #4078
2016-09-05 13:01:02 -04:00
Scott Mansell
d29dae207a
Merge pull request #4078 from comex/alwaysUseMemFuncs-for-write
...
Don't use the fast path when there are watchpoints enabled, for writes too
2016-09-06 04:55:17 +12:00
Scott Mansell
0119f1302f
Merge pull request #4177 from phire/useless_cases
...
BPStructs: remove case statements which never match.
2016-09-06 00:56:09 +12:00
Scott Mansell
a665743b70
BPStructs: remove case statments which never match.
...
Visual Studio's code analyzer complains about these.
2016-09-06 00:40:49 +12:00
Jasper St. Pierre
928d05ec47
InputCommon: Remove the Xlib backend
...
The XInput2 backend is more performant, so let's default to it and
remove the old, core-only backend.
2016-09-04 10:44:22 -07:00
Jasper St. Pierre
2b640a4f7d
XInput2: Only do a round trip when the mouse has moved
...
This should cut down on round trips and blocking calls dramatically
during gameplay.
2016-09-04 10:44:22 -07:00
Jasper St. Pierre
980ecfba7f
IPC_HLE_net_ssl: Include mbedtls/platform.h
...
My version of mbedtls seems to require this -- otherwise, it doesn't compile.
2016-09-04 10:44:22 -07:00
Scott Mansell
f5fa5a7d32
Merge pull request #4168 from EmptyChaos/coretiming-cleanup
...
Core: CoreTiming Cleanup (Add UnitTests)
2016-09-04 11:48:54 +12:00
Mat M
0f359000c5
Merge pull request #4166 from lioncash/emitter-func
...
x64Emitter: Generify ABI_CallFunction variants
2016-09-03 07:26:34 -04:00
EmptyChaos
9d8f373016
VideoSoftware: Don't Init the PixelEngine twice
...
PixelEngine is initialized by InitializeShared()
2016-09-03 15:12:41 +10:00
EmptyChaos
3a85aa9817
EXI_DeviceMemoryCard: Use CoreTiming/DoState correctly
...
CoreTiming gets restored before ExpansionInterface so CoreTiming
events need to already be registered before the save state loading
begins. This means that the callbacks must be registered
unconditionally instead of on-demand.
2016-09-03 14:55:45 +10:00
EmptyChaos
fb5537213a
CoreTiming: Document initial startup behavior
...
Events don't update the downcount until after the first Advance(),
thus Advance() must be called once before scheduling works normally.
2016-09-03 14:55:45 +10:00
EmptyChaos
59465911d7
CoreTiming: Fix scheduling into the past
...
ForceExceptionCheck messes up the downcount and slice length if the
callback is scheduled into the past (g_slice_length becomes negative)
2016-09-03 14:55:44 +10:00
EmptyChaos
ac63e54473
[UnitTests] Add CoreTimingTest
2016-09-03 14:55:44 +10:00
EmptyChaos
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
EmptyChaos
f15e4fb35e
WII_IPC: Fix reregistering CoreTiming callback multiple times.
...
Separate state reset from Init().
2016-09-03 14:55:43 +10:00
EmptyChaos
17c34ae0b1
CoreTiming: Data structure cleanup
...
Replace adhoc linked list with a priority heap. Performance
characteristics are mostly the same, but is more cache friendly.
[Priority Queues have O(log n) push/pop compared to the linked
list's O(n) push/O(1) pop but the queue is not big enough for
that to matter, so linear is faster over linked. Very slight gains
when framelimit is unlimited (Wind Waker), 1900% -> 1950%]
2016-09-03 12:46:14 +10:00
EmptyChaos
b88b188819
CoreTiming: Cleanup naming conventions
2016-09-03 12:46:14 +10:00
Markus Wick
da82389347
Merge pull request #4172 from phire/software_fog_error
...
VideoSoftware: Fix unsigned overflow bug in fog
2016-09-02 09:53:44 +02:00
Scott Mansell
0e7424b359
VideoSoftware: Fix unsigned overflow bug in fog
...
Was causing fog errors on the left half of the screen.
Only appeared to affect visual studio builds, GCC did the correct
thing.
2016-09-02 10:12:44 +12:00
Jules Blok
d072d6d336
Merge pull request #4170 from Armada651/float-abs
...
VertexShaderManager: Explicitly use floating-point variant of abs.
2016-09-01 19:03:03 +02:00
Markus Wick
f33a6d42c9
Merge pull request #4171 from Armada651/static-mutex
...
PixelEngine: Add missing static specifier for `s_token_finish_mutex`.
2016-09-01 18:34:30 +02:00
Jules Blok
9fb6f93ca1
PixelEngine: Add missing static specifier for `s_token_finish_mutex`.
2016-09-01 17:28:48 +02:00
Jules Blok
376cadb862
VertexShaderManager: Explicitly use floating-point variant of abs.
...
Some compilers don't have an automatic abs() overload for floats.
Doesn't really matter if they use the integer variant here, but
it's better to be explicit about the fact that we're using floats.
2016-09-01 17:23:07 +02:00
JosJuice
ec428756a6
Merge pull request #4169 from Armada651/dvd-triforce
...
DVDInterface: Remove unused Triforce buffer.
2016-09-01 17:20:20 +02:00
Jules Blok
73b05b339b
DVDInterface: Remove unused Triforce buffer.
2016-09-01 17:15:43 +02:00
Jules Blok
50984d85b0
Merge pull request #4164 from Armada651/sonic-clipping
...
VertexShaderGen: Move the sonic epsilon hack to the vertex shader.
2016-09-01 15:28:09 +02:00
Mat M
b7933c49b6
Merge pull request #4167 from EmptyChaos/fix-d3d-x3014
...
VertexShaderGen: Fix D3D11 X3014 compile error
2016-09-01 02:34:37 -04:00
EmptyChaos
e0d4dc6fed
VertexShaderGen: Fix D3D X3014 compile error
...
float2 requires 2 parameters in HLSL apparently.
2016-09-01 14:43:19 +10:00
Lioncash
13506d3c12
x64Emitter: Generify ABI_CallFunction variants
...
Gets rid of the need to cast to void* just to use the functions.
2016-08-31 22:54:47 -04:00
Jules Blok
15a009706d
Merge pull request #4143 from Pringo/capitalize
...
Fix Graphics Settings Capitalization
2016-09-01 03:21:24 +02:00
Jules Blok
2ab9e5e610
Merge pull request #4165 from lioncash/global
...
Backends: Remove unnecessary references to the renderer global
2016-09-01 03:20:31 +02:00
Jules Blok
9a660fdf18
Merge pull request #3707 from OrN/proj_stq-zz
...
Fix bug with texture coordinate q value being 0
2016-09-01 01:41:03 +02:00
Jules Blok
debaf63fe8
VertexShaderGen: Move the sonic epsilon hack to the vertex shader.
...
In the vertex shader we have control over the depth clipping planes,
so we don't have to offset every floating point value and lose accuracy.
2016-09-01 01:14:14 +02:00
Lioncash
ec7114a658
OGL: Remove unnecessary renderer global references
2016-08-31 14:19:56 -04:00
Lioncash
168e145fae
D3D: Remove unnecessary renderer global references
2016-08-31 14:17:22 -04:00
Lioncash
9e26ef4aa8
D3D12: Remove unnecessary renderer global references
2016-08-31 14:14:51 -04:00
Preston Smith
94cbe0c12a
Comments
2016-08-31 06:40:50 -05:00