Henrik Rydgård
eb0813c0e3
Add a utility function for all the ABIs to call functions with a pointer arg. Use to call Advance from the JIT with the MIPSContext. Indent some code better.
2026-08-13 08:09:30 +02:00
Henrik Rydgård
e6185ba6bb
Clean out NaNs and INFs from vertex coordinates
...
This enables a behavior seen on the real PSP where 0 * NaN == 0 in the
GPU (NOTE: This means the vertex transform pipeline).
However, this
doesn't touch INFs unfortunately, and we need to modify those too...
This, together with #21715 , finally fixes #20204 .
2026-06-02 10:52:39 +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
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
85b80bc9e5
arm64jit: Implement load/store in IR.
2023-09-04 00:04:36 -07:00
Henrik Rydgård
963ca50ba7
Merge pull request #17567 from hrydgard/uvscale-as-argument
...
Pass uvScale in as a fourth argument to the vertex decoder
2023-06-13 09:49:31 +02:00
Henrik Rydgård
cdcf3b272e
ARM64: Optimize saved registers in vertex decoder.
...
Simplify away some arrays with unused elements
2023-06-13 00:26:38 +02: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
9cfcbc46e6
Global: Cleanup initialization/pointer checks.
...
Cleaning up a lot of cases of uninitialized data, unchecked return values
for failures, and similar.
2022-12-10 21:13:36 -08:00
Unknown W. Brackets
2479d52202
Global: Reduce includes of common headers.
...
In many places, string, map, or Common.h were included but not needed.
2022-01-30 16:35:33 -08: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
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
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
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
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 Rydgard
ffe4c266ef
Add CodeBlockCommon base class to remove further arch-specificity in JitBlockCache
...
Remove unused ArmThunk.
2016-05-01 11:40:00 +02:00
Unknown W. Brackets
1fba38fd41
arm64: Add TST alias to the emitter.
2015-09-08 20:06:53 -07:00
Henrik Rydgard
28456bef90
ARM64: Add NEON EOR encoding
2015-07-11 12:36:44 +02:00
Henrik Rydgard
72651835c3
A bunch more ARM64 encodings (*MIN,*MAX,XTN,SHRN, etc)
2015-07-11 12:16:56 +02:00
Unknown W. Brackets
75c8ccd2c1
arm64: Update emitter from Dolphin.
...
From dolphin-emu/dolphin@d09d59007a .
2015-07-04 00:00:28 -07:00
Unknown W. Brackets
31a5227076
arm64: Add umull alias.
2015-07-02 20:31:35 -07:00
Unknown W. Brackets
0a5b1c030b
arm64: Implement ext and ins.
2015-06-28 08:45:17 -07:00
Unknown W. Brackets
b3aa6d89e9
Fix UBFX encoding (thanks SonicAdvance1.)
2015-06-26 21:27:03 -07:00
Henrik Rydgard
2c05334d47
ARM64: Fix bug where we didn't save the FP registers correctly in the vertex decoder.
...
Also port a few ops from dolphin's ARM64 emitter.
2015-06-14 12:56:44 +02:00
Henrik Rydgård
39be916d8a
ARM64: More emitter/disasm
2015-04-06 18:13:44 +02:00
Henrik Rydgård
459ba28655
ARM64: SW skinning runs without crashing but is broken.
2015-04-06 18:13:44 +02:00
Henrik Rydgård
f82b613371
ARM64 emitter/disasm: Implement ASIMD LDP/STP instructions
2015-04-06 18:13:42 +02:00
Henrik Rydgård
013bbc71af
ARM64: Fix DUP disasm, INS disasm
2015-04-06 18:13:40 +02:00
Henrik Rydgård
a3db3ed5c1
ARM64 emitter: Fix UXTL/SXTL and friends. Add disasm.
2015-04-06 18:13:40 +02:00
Henrik Rydgård
853d6ea34b
ARM64 emitter: Add FMLA/FMLS vector versions
2015-04-06 18:13:39 +02:00
Henrik Rydgard
0a70618f87
ARM64: Accurate floating point rounding. For some reason, FTZ doesn't seem to work though.
2015-04-06 18:13:36 +02:00
Henrik Rydgard
4618275f99
ARM64: Add a few aliases to emitter. Disasm fixes.
2015-04-06 18:13:33 +02:00
Henrik Rydgard
acf08eefa8
ARM64: Fix FCVTL, use it in v2hf
2015-04-06 18:13:33 +02:00
Henrik Rydgard
0849e270ee
ARM64: fmla encoding, more disasm
2015-04-06 18:13:31 +02:00
Henrik Rydgard
ca58f322e5
ARM64: Port over some missing VFPU instructions from ARM. Not much left now.
2015-04-06 18:13:30 +02:00
Henrik Rydgard
9c79831237
ARM64 emitter: Fix FP immediates
2015-04-06 18:13:29 +02:00
Henrik Rydgard
9a5a093105
ARM64 emitter/disasm: More scalar FPU instructions
2015-04-06 18:13:27 +02:00
Henrik Rydgard
ff758f58ad
ARM64: The Return of the Pointer Truncator - The Movie
2015-04-06 18:13:26 +02:00
Henrik Rydgard
5a5f3c94fd
ARM64: Guess what? more emitter & disasm
2015-04-06 18:13:24 +02:00