Commit Graph
9208 Commits
Author SHA1 Message Date
Unknown W. Brackets 01aebe54b9 interp: Correct vdet prefix handling. 2019-03-31 15:01:11 -07:00
Unknown W. Brackets cc58d0d3a3 interp: Correct prefixes in vsrt ops. 2019-03-31 15:00:12 -07:00
Unknown W. Brackets 5736b1be2a interp: Correct some negative invalid zero cases.
In these cases, the input value wires to +0.  Also, transposed the values
in a comment (oops.)
2019-03-31 13:45:37 -07:00
Unknown W. Brackets aa998b815c interp: Force vscmp result of invalid to zero.
Some other ops do this, but mostly only that do plus or minus.
2019-03-31 13:41:48 -07:00
Unknown W. Brackets c7e83cd4fa interp: Correct vfim for -inf and similar.
Was dropping the sign bit before for inf and nan.
2019-03-31 13:41:48 -07:00
Unknown W. Brackets 5749ae09d0 interp: Correct vmfvc register behavior.
The target and source registers were completely wrong.
2019-03-31 13:41:48 -07:00
Unknown W. Brackets b2e024025f interp: Handle wrong sizes of vf2h/vh2f.
Probably not ever used, but they have consistent behavior.
2019-03-31 13:41:48 -07:00
Unknown W. Brackets aceb0a8244 interp: Correct vrnd prefix handling.
We don't match random values perfectly anyway, but at least we should vary
at the right times.
2019-03-31 13:41:48 -07:00
Unknown W. Brackets dfc2449f35 interp: Match actual vdiv prefix handling. 2019-03-31 13:41:48 -07:00
Unknown W. Brackets af3ed69144 interp: Mask moves to vfpu ctrl.
These bits of the registers can't be written.
2019-03-31 10:37:07 -07:00
Unknown W. Brackets 2a5d4e577d interp: Handle NAN more correctly in vscmp. 2019-03-31 10:37:07 -07:00
Unknown W. Brackets db28c61272 interp: Handle flush prefixes slightly better. 2019-03-31 10:37:07 -07:00
Unknown W. Brackets d40ac043d4 interp: Handle prefixes for Vmmov/Vmmul/Vmscl.
I doubt any actual code uses this, but we have some tricky VFPU bugs left,
so just trying for maximum accuracy in the interpreter.
2019-03-31 10:37:07 -07:00
Unknown W. Brackets 26b1368f7b interp: Handle vrot prefixes mostly correctly.
Still some issues with 1/2 results and negate on swizzle.
2019-03-31 10:37:07 -07:00
Unknown W. Brackets 8fd8dce185 interp: Use a helper to generate prefix consts.
This makes more logical sense that using the VFPU_SWIZZLE and VFPU_ABS
macros to select the constant, although that's how the bits work.
2019-03-31 10:33:26 -07:00
Unknown W. Brackets b86a6af364 interp: Properly apply mask on single lane ops.
When using something like vadd.s, we should still be applying the mask.
Mainly should only matter if masks are set in a conditional, or if games
nop out instructions.
2019-03-31 10:13:28 -07:00
Unknown W. Brackets 1936e8c4d1 interp: Generate constants using prefixes.
This way they properly respect negate in the S prefix.
2019-03-31 10:13:28 -07:00
Unknown W. Brackets 0be3213151 interp: Correct vscl prefix handling. 2019-03-31 10:13:28 -07:00
Unknown W. Brackets ec1dae57eb interp: Fix vbfy prefix handling. 2019-03-31 10:09:18 -07:00
Unknown W. Brackets d5273f589a interp: Mask value in vpfxd.
The actual register ends up with only the lower 12 bits, which makes sense
since those are the only ones that do anything.
2019-03-31 08:23:36 -07:00
Unknown W. Brackets 9d1d4473e8 interp: Confirm vi2f/vf2i prefix handling. 2019-03-31 08:22:52 -07:00
Unknown W. Brackets 30223cb17f interp: Apply T prefix to D in vcmov. 2019-03-31 08:22:15 -07:00
Unknown W. Brackets fef8e71b8f interp: Correct behavior for matrixes with size=1.
Games don't (shouldn't?) actually use 1x1 matrices, but they seem to have
predictable behavior in matrix ops.
2019-03-31 08:21:29 -07:00
Unknown W. Brackets cfab70f149 interp: Handle abs/neg on nan values better.
`fabsf` was altering other bits.
2019-03-31 08:18:49 -07:00
Unknown W. Brackets 7dc775e54f IR: Use interp for unhandled prefix cases.
The interpreter is not changed yet, so in theory this shouldn't change
behavior.
2019-03-31 08:17:11 -07:00
Henrik Rydgård d3c0a010a0 Fix invalid argument string for kuKernelLoadModule. Fixes #11895. 2019-03-24 11:56:35 +01:00
Henrik RydgårdandGitHub 6cd7615cb0 Merge pull request #11924 from unknownbrackets/kernel-minor
Allow kernel threads to beget kernel threads
2019-03-24 11:19:01 +01:00
Unknown W. Brackets 4c3aa841d3 IR: Correct vmmul optimizations.
It's a bit confusing since it's not D = S*T, but rather D = S'*T.
2019-03-23 15:31:10 -07:00
Unknown W. Brackets f244b390ae Kernel: Kernel threads can beget kernel threads.
Fixes #7687.
2019-03-23 12:05:06 -07:00
Henrik Rydgård 4d5af330a7 Windows: Change FP model to Precise. See #11384 2019-03-14 10:59:35 +01:00
Henrik Rydgård 60e32e914e Fix apparent bug in #11094, fixes #11878 and likely #11798 2019-03-12 09:33:39 +01:00
Henrik Rydgård 7865589f48 sceFontLib: Don't call the callback if double-free. Should fix one part of #6627 2019-03-11 12:55:09 +01:00
Henrik Rydgård c84137dd2d Add the other gameIDs for euro tony hawk 2019-03-01 14:31:28 +01:00
Henrik Rydgård 17b4f28d6b Hardcode the cheats that work around the Tony Hawk jit issues. Temporary, horrible hack working around #3854. 2019-03-01 10:56:17 +01:00
Henrik Rydgård bd71af24db Fix some minor things found looking at Valgrind output 2019-02-27 13:42:00 +01:00
Henrik Rydgård e49c488c6f Silence a compiler warning, fix an uninitialized variable 2019-02-27 10:33:27 +01:00
Henrik Rydgård 0cd3ac06d0 Avoid trying to create a FileLoader for empty filenames
Assorted cleanup
2019-02-25 21:35:51 +01:00
Henrik Rydgård e3d7ca67a0 Rename the lag sync config ini setting to reset it for all users. See #10195. 2019-02-25 15:50:28 +01:00
Unknown W. Brackets aff1d8e8b2 interp: Implement vsbz and vlgb.
Not sure any games actually use them, but good to have the remaining vfpu
ops all implemented.
2019-02-23 15:08:49 -08:00
Unknown W. Brackets 520f850e09 Jit: Correct VFPU prefix eating flags.
Verified by tests.  Also, confirmed that the old vxbz encoding had no
output, but the new position (as used by gas) does.
2019-02-23 15:08:49 -08:00
Unknown W. Brackets 179ec61815 interp: Correctly handle vsocp prefixes.
Very similar to vsop, just with a bit more fixed values.
2019-02-23 10:05:13 -08:00
Unknown W. Brackets 6178a1fb33 Jit: Correct vocp prefix handling.
See #5549.  Matches tests for various prefix settings.
2019-02-23 09:15:26 -08:00
Henrik Rydgård 172bcbbf47 Android: Default screen rotation to auto landscape for new users. Fixes #11832 2019-02-23 17:17:40 +01:00
Unknown W. BracketsandGitHub 73d44c49bb Merge pull request #11827 from hrydgard/vulkan-linux-cherry-picks
Vulkan linux cherry picks
2019-02-23 12:09:26 +00:00
Henrik Rydgård d91f706206 Log why the config is being saved (we seem to do it a bit much at times) 2019-02-23 11:55:44 +01:00
Henrik Rydgård c80dd44da8 ARM/ARM64: Ignore invalid immediate addresses in delay slots, which may be conditional.
Should do something in x86's safe mem too, but leaving for later.

Replaces #11824
2019-02-23 10:15:09 +01:00
Unknown W. Brackets d7f40afd9d interp: Correct vocp prefix handling.
Also, guess that vsocp also applies prefixes.  See #5549.
2019-02-21 19:02:16 -08:00
Unknown W. Brackets b1146d8d9d PPGe: Correct text wrap without height. 2019-02-20 17:04:30 -08:00
Henrik RydgårdandGitHub 5865c574ac Merge pull request #11812 from unknownbrackets/android-memstick
Android: Allow using a custom Memory Stick storage path
2019-02-20 00:02:19 +01:00
Unknown W. Brackets 11be1e7a67 Core: Fix lag sync on game start / after pause.
Fixes #11189.  It was often stuck thinking it was constantly running over,
needed a reset on large delay.
2019-02-19 03:09:42 -08:00