Commit Graph
25580 Commits
Author SHA1 Message Date
Unknown W. Brackets e97beac90a interp: Force vscmp result of invalid to zero.
Some other ops do this, but mostly only that do plus or minus.
2019-03-30 12:27:56 -07:00
Unknown W. Brackets 581dd59a4d interp: Handle NAN more correctly in vscmp. 2019-03-30 12:27:56 -07:00
Unknown W. Brackets e971c4ded5 interp: Correct vfim for -inf and similar.
Was dropping the sign bit before for inf and nan.
2019-03-30 12:27:56 -07:00
Unknown W. Brackets 26d78c7cd1 interp: Cleanup prefix/size in vcrsp/vqmul. 2019-03-30 12:27:56 -07:00
Unknown W. Brackets cfcb682dba interp: Correct Vwbn and Vlgb size behavior. 2019-03-30 12:27:56 -07:00
Unknown W. Brackets 2ab31d635d interp: Correct prefixes for vsbn/vsbz. 2019-03-30 12:27:56 -07:00
Unknown W. Brackets 150866e123 interp: Handle flush prefixes slightly better. 2019-03-30 12:27:56 -07:00
Unknown W. Brackets 6d20c4517b interp: Handle wrong sizes of vf2h/vh2f.
Probably not ever used, but they have consistent behavior.
2019-03-30 12:27:56 -07:00
Unknown W. Brackets f9d1432a36 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-30 12:27:56 -07:00
Unknown W. Brackets 26307b5c67 interp: Correct vmfvc register behavior.
The target and source registers were completely wrong.
2019-03-30 12:27:56 -07:00
Unknown W. Brackets 3bbdc3c7b6 interp: Handle vtfm/vhtfm prefixes properly. 2019-03-30 12:27:56 -07:00
Unknown W. Brackets 05aaa02171 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-30 12:27:54 -07:00
Unknown W. Brackets ad7e322c7e interp: Correct Vsgn out of swizzle bounds. 2019-03-30 12:26:09 -07:00
Unknown W. Brackets d708e2ebd9 interp: Handle prefixes on matrix init ops. 2019-03-30 12:26:09 -07:00
Unknown W. Brackets 5523dcba77 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-30 12:26:09 -07:00
Unknown W. Brackets 91891a2069 interp: Handle Vrot prefixes mostly correctly.
Still some issues with 1/2 results and negate on swizzle.
2019-03-30 12:26:09 -07:00
Unknown W. Brackets a1fe60e28e IR: Use interp for unhandled prefixes. 2019-03-30 12:26:09 -07:00
Unknown W. Brackets 94465a29e9 interp: Correct prefixes on vdot/vhdp. 2019-03-30 12:26:09 -07:00
Unknown W. Brackets 78e50cb7a4 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-30 12:26:09 -07:00
Unknown W. Brackets 591064342e 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-30 12:26:09 -07:00
Unknown W. Brackets 3828a46d53 interp: Correct prefixes on vfad and vavg.
Including write mask, which didn't work before.
2019-03-30 12:26:09 -07:00
Unknown W. Brackets e0dc8eb126 interp: Confirm vi2f/vf2i prefix handling. 2019-03-30 12:26:09 -07:00
Unknown W. Brackets ba55b6fe3c interp: Correct prefixes in vsrt ops. 2019-03-30 12:26:09 -07:00
Unknown W. Brackets 5ab00685dd interp: Handle vsgn prefixing.
One could compare against 3 using this, it just generates zeros to compare
with.
2019-03-30 12:26:09 -07:00
Unknown W. Brackets 08830fd0a2 interp: Better prefixes for vdiv/similar ops.
Turns out it does work, just uses the wrong slot like S/T after all.
These other ops must go through the a similar process.
2019-03-30 12:26:09 -07:00
Unknown W. Brackets a38e914960 interp: Correct simple vmov variant prefixing. 2019-03-30 12:26:09 -07:00
Unknown W. Brackets 335dd394b0 interp: Generate constants using prefixes.
This way they properly respect negate in the S prefix.
2019-03-30 12:26:09 -07:00
Unknown W. Brackets 16bc3c0086 interp: Implement vcrs prefixes and sizes.
It only makes sense as triple, but it can be used as quad/single/etc. and
has consistent and sane results.
2019-03-30 12:26:09 -07:00
Unknown W. Brackets ceeaf3b7ef interp: Correct vdet prefix handling. 2019-03-30 12:26:09 -07:00
Unknown W. Brackets eaa112789e interp: Apply T prefix to D in vcmov. 2019-03-30 12:26:09 -07:00
Unknown W. Brackets c270bd2d85 interp: Match actual vdiv prefix handling. 2019-03-30 12:26:09 -07:00
Unknown W. Brackets 921ecb4dec interp: Correct Vscl prefix handling. 2019-03-30 12:26:09 -07:00
Unknown W. Brackets 5ae9931d88 interp: Fix vbfy prefix handling. 2019-03-30 12:26:09 -07:00
Unknown W. Brackets 62928e13d8 Merge pull request #11942 from jeeeyul/master
Fixes iOS exit freezing, Selective PTRACE syscall
2019-03-27 19:14:34 -07:00
Jeeeyul Lee 53e254d352 Disables iOS exit animation to prevent freezing.
Selective PTRACE sys call.
2019-03-27 11:01:20 +09:00
Henrik Rydgård ed1aa74827 Address feedback from #11936 (support memory types without CACHED as a backup) 2019-03-26 10:39:51 +01:00
Henrik Rydgård 87c7f2f534 Merge pull request #11938 from LunaMoo/texture_hotkeys
Add texture dump/replace hotkeys.
2019-03-26 10:37:21 +01:00
LunaMoo 1fa7bbc816 Add texture dump/replace hotkeys. 2019-03-26 06:13:05 +01:00
Henrik Rydgård 0b5909c09a Merge pull request #11936 from hrydgard/vulkan-readback-cached-mem
Vulkan: Request cached memory for readbacks.
2019-03-25 22:43:26 +01:00
Henrik Rydgård 60889767bf Vulkan: Request cached memory for readbacks. First try coherent too but also support non-coherent cached memory.
Should speed up readbacks slightly.

This is just a common sense optimization, I haven't measured it. Writes to
coherent non-cached memory is OK due to hardware write combining, but for
reads you really want cached to avoid a memory transaction for every
single read (instead reading full cache lines).
2019-03-25 21:40:25 +01:00
Henrik Rydgård 47ce2fcbb8 Merge pull request #11933 from unknownbrackets/texcache
TexCache: Align bufw properly even for VRAM
2019-03-25 08:10:32 +01:00
Unknown W. Brackets 1199008641 TexCache: Align bufw properly even for VRAM.
Fixes minimap arrows in Manhunt 2 (see #9615.)
2019-03-24 19:21:08 -07:00
Henrik Rydgård 8f4bafea9c Merge pull request #11932 from unknownbrackets/funchash
Debugger: Prevent saving a -1 sized func
2019-03-24 21:19:43 +01:00
Unknown W. Brackets f53ea7e44f Debugger: Prevent saving a -1 sized func. 2019-03-24 13:00:05 -07:00
Henrik Rydgård 8adb0dfd61 Vulkan validation: INFO level has gotten too spammy, turn it off. 2019-03-24 11:56:51 +01:00
Henrik Rydgård d3c0a010a0 Fix invalid argument string for kuKernelLoadModule. Fixes #11895. 2019-03-24 11:56:35 +01:00
Henrik Rydgård 6cd7615cb0 Merge pull request #11924 from unknownbrackets/kernel-minor
Allow kernel threads to beget kernel threads
2019-03-24 11:19:01 +01:00
Henrik Rydgård 703fdc5561 MSVC project files: Fix silly search/replace error from #11883 2019-03-24 11:17:47 +01:00
Henrik Rydgård 85fcac20d9 Merge pull request #11926 from unknownbrackets/vfpu-ir
IR: Correct vmmul optimizations
2019-03-24 11:17:22 +01:00
Henrik Rydgård 4fce6784b3 Merge pull request #11925 from unknownbrackets/android-audio
Android: Allow less common sample rates
2019-03-24 10:56:02 +01:00