Henrik Rydgård
4d6905672e
Bunch more linting
2024-10-10 11:57:10 +02:00
Henrik Rydgård
2ba4eaf3dd
First part of the const changes etc
2024-09-17 15:13:13 +02:00
Henrik Rydgård
e01ca5b057
Logging API change (refactor) ( #19324 )
...
* Rename LogType to Log
* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.
* Mac/ARM64 buildfix
* Do the same with the hle result log macros
* Rename the log names to mixed case while at it.
* iOS buildfix
* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
Henrik Rydgård
81ef166772
Combine two minor fixes by GermanAizek
...
This takes the good parts from #18995 and #18999
2024-04-04 20:57:51 +02:00
Herman Semenov
5a0d54be83
[Common/Data/GPU/Input/System/UI] Added const reference for function params
2023-12-14 14:21:11 +03:00
Unknown W. Brackets
00e691d633
arm64jit: Try shifted MOVI in MOVI2FDUP().
...
Any penalty from int/float or size change should be less than GPR load.
2023-09-10 23:04:15 -07:00
Unknown W. Brackets
7a5cdafdf3
arm64jit: Implement convert/int conversions.
2023-09-08 00:03:12 -07:00
Unknown W. Brackets
c523273d51
arm64jit: Implement vector unpacks.
2023-09-08 00:03:12 -07:00
Unknown W. Brackets
5617d08620
arm64jit: Remove unused variable.
2023-09-07 17:26:30 -07:00
Unknown W. Brackets
a1304f6ac8
arm64jit: Implement VFPU compare in IR.
2023-09-06 19:02:24 -07:00
Unknown W. Brackets
c8f888fab0
arm64jit: Implement FMin/FMax.
2023-09-06 00:09:26 -07:00
Unknown W. Brackets
953d97b54a
arm64jit: Implement Vec4Init.
2023-09-05 00:10:26 -07:00
Unknown W. Brackets
11f92b4684
arm64jit: Implement Vec4Dot.
2023-09-05 00:10:26 -07:00
Unknown W. Brackets
885ae5c805
arm64jit: Implement shuffle optimizer.
2023-09-04 12:27:39 -07:00
Unknown W. Brackets
1b756ff8c1
arm64jit: Add initial base for IR jit.
...
This works, but very slowly at this point.
2023-09-03 12:14:28 -07:00
Henrik Rydgård
4af6fac726
Nop-align the ARM and ARM64 loops too. Many CPUs benefit somewhat from hot loops being 16-byte aligned.
2023-06-13 00:05:48 +02:00
Unknown W. Brackets
3df6cb704f
Global: Fix some type conversion warnings.
...
Hidden by some warning disables.
2022-01-30 16:09:33 -08:00
Unknown W. Brackets
f32f89dd90
Global: Remove some unused variables.
2021-02-15 11:59:45 -08:00
Henrik Rydgård
20d579c3b8
Cleaner way to flush the instruction cache on Mac ARM64
2020-12-02 19:15:08 +01:00
Henrik Rydgård
886a8b1ac6
Remove Timer.cpp/h. Move various collections into Common/Data/Collections.
2020-10-05 21:05:23 +02:00
Henrik Rydgård
989e353482
Common.h shouldn't include Log.h.
...
Buildfixes
More buildfixes. Move JSON code to common.
2020-10-04 11:42:14 +02:00
Henrik Rydgård
3162f30158
Merge base/basictypes.h into Common/Common.h (mostly).
2020-09-29 15:51:51 +02:00
Henrik Rydgård
c5e0b799d9
Remove category from _assert_msg_ functions. We don't filter these by category anyway.
...
Fixes the inconsistency where we _assert_ didn't take a category but
_assert_msg_ did.
2020-07-19 20:33:25 +02:00
Unknown W. Brackets
7910b4029a
arm64jit: Track writable and non-writable pointers.
...
Switch uses different memory regions. We can handle this, might as well
cleanup some const abuse.
2020-05-17 00:15:12 -07:00
Unknown W. Brackets
bab907f792
arm64jit: Minor cleanup.
2020-05-16 21:12:31 -07:00
Henrik Rydgård
f76e5e70a7
Enable FlushInstructionCache on UWP, it's been allowed finally.
...
Minor warning fixes, UWP buildfix
Retarget UWP project to latest SDK.
2018-03-20 20:30:33 +01:00
Unknown W. Brackets
9ff812b313
arm64jit: Negate in ADDI2R/SUBI2R as well.
...
Should've done this at the same time as CMN. It's not as common, mostly
catches addu calls, but it's good to have these generic for other uses.
2017-12-30 11:11:04 -08:00
Unknown W. Brackets
c00044c5d8
arm64jit: Avoid arithmetic movs.
...
ORR is the preferred encoding and may be faster on some chips.
2017-12-29 17:30:18 -08:00
Unknown W. Brackets
b59c0d0b45
arm64jit: Use CMN for CMPI2R if possible.
...
It's not hit all that often, but it is hit.
2017-12-29 17:30:13 -08:00
Unknown W. Brackets
1ecce2a2e1
arm64jit: Reuse code in I2R funcs.
2017-12-29 17:30:07 -08:00
Unknown W. Brackets
b21af3321a
arm64jit: Allow ANDI2R/etc. with zero.
...
Since they're all possible anyway, and it's easy to forget to special case
0.
2017-12-28 14:36:37 -08:00
Unknown W. Brackets
6fd17fb026
arm64jit: Use reg sum for LDR/STR.
...
Skips an add, and should be less ops anyway.
2017-12-28 10:19:55 -08:00
Unknown W. Brackets
4a27e99ee9
arm64jit: Remove buggy icache invalidate.
...
This is always of size 0, and crashes on iOS anyway...
2017-12-27 19:30:10 -08:00
Henrik Rydgård
e07861991b
Apply a fix to the ARM64 emitter ported over from Dolphin
2017-12-10 02:05:25 +01:00
Henrik Rydgård
4129459495
Avoid an assert in ARM64 emitter, seen in Google Play crash logs
2017-11-29 21:31:42 +01:00
Henrik Rydgård
0ec1e5e3b2
Don't erase and rewrite the dispatcher when the cache is cleared. Fixes #9708
2017-05-26 15:48:03 +02:00
Henrik Rydgård
29ad3180a0
Add hack to make the JIT stable(r) on UWP ARM. Can't make it right without FlushInstructionCache which is not available. Sigh...
2017-03-23 10:02:29 +01:00
Henrik Rydgård
c4bac2d379
ABI: Switch to paired load/stores of floats too
2017-01-27 14:56:38 +01:00
Henrik Rydgård
e1bae9aa67
Follow the ARM64 ABI better (update the frame pointer).
2017-01-27 14:19:03 +01:00
Henrik Rydgard
a1ec735f6c
ARM64Emitter: Implement instructions to move data to/from SP
2017-01-26 14:23:42 +01:00
Henrik Rydgård
56acafdb52
Fix page size for page-aligning generated code
2017-01-25 20:39:16 +01:00
Henrik Rydgard
6e7e62f3d5
Fix compiler check in Arm64Emitter.cpp. Should help #9104
2016-10-31 22:34:15 +01:00
Florent Castelli
83aaf30207
cmake: Use preprocessor for conditional compilation in Common
...
CommonExtra is gone!
Still need to fix CommonFake later though.
2016-10-11 16:55:29 +02:00
Henrik Rydgard
2adec71f87
Be completely safe on Exynos even if future OS:es start running the big and LITTLE cores simultaneously (don't know if they already do)
2016-09-12 22:19:52 +02:00
Henrik Rydgard
edae55d827
Revert "ARM64 icache flush: Don't bother with the minimum cache line size, just use the current."
...
(In case big and LITTLE cores are used at the same time on some chips,
this might still help, at least in theory)
This reverts commit 0b8a3e8c26
.
2016-09-12 22:09:05 +02:00
Henrik Rydgard
0b8a3e8c26
ARM64 icache flush: Don't bother with the minimum cache line size, just use the current.
2016-09-10 17:21:11 +02:00
Henrik Rydgard
03279e1212
Port over the Exynos cacheline size fix from Dolphin. Thanks to lewurm of the mono project for the discovery and original fix.
...
See https://github.com/dolphin-emu/dolphin/pull/4204 and https://github.com/mono/mono/pull/3549
2016-09-10 09:25:06 +02:00
Unknown W. Brackets
4113fd940c
Add ugly invalidation workaround for SGS7s.
...
Otherwise they just crash, and crash often. Special thanks to Jaaan for
numerous trials to try to find the best way to solve the crashes.
2016-05-23 21:35:28 -07:00
Henrik Rydgard
ffe4c266ef
Add CodeBlockCommon base class to remove further arch-specificity in JitBlockCache
...
Remove unused ArmThunk.
2016-05-01 11:40:00 +02:00
Henrik Rydgård
0c1e7dcc18
Use the OS to clear the CPU cache instead of the gcc builtin. Experiment for the S7 issues.
2016-04-09 16:16:45 +02:00