Commit Graph

11182 Commits

Author SHA1 Message Date
Henrik Rydgard
1cb7965cb1 Jit feature preparation: Introduce "proxy blocks".
When these are invalidated, the block they point to gets invalidated too.

Will be useful to implement various types of block merging and function inlining
without affecting correctness of cache clears etc.

Also, with this commit we can now fully inline replaced functions. fabsf() boils
down to 1-2 instructions and the block continues, for example.
2013-12-19 00:39:49 +01:00
Henrik Rydgard
1e300447e1 Fix some replace-related bugs. Add "jal" replace inlining, not activated. 2013-12-18 16:27:23 +01:00
Henrik Rydgård
b2d0f37d96 Fix crashing on some OpenGL versions 2013-12-18 12:00:23 +01:00
Henrik Rydgard
2d4c28826a Show replaced instructions correctly in disassembly 2013-12-18 11:42:19 +01:00
Henrik Rydgard
041ed9a4b8 More replace function work 2013-12-18 11:22:53 +01:00
Henrik Rydgard
0a1514161d GLSL 3.0 fix 2013-12-18 11:22:31 +01:00
Henrik Rydgard
6937719c3b Minor fixes around function replacement, a couple of math funcs 2013-12-18 10:35:50 +01:00
Unknown W. Brackets
497537a4c4 Fix another dumb typo.
Arg, need to stop rushing things.  May have caused #4869.
2013-12-17 23:36:51 -08:00
Henrik Rydgard
7c31ad7ed6 More function hashes 2013-12-18 00:29:42 +01:00
Henrik Rydgard
1d2f1efd06 Fix function replacement on ARM 2013-12-18 00:09:08 +01:00
Henrik Rydgard
2eab4aa1bf Play around with function replacement. Turned off by default of course. 2013-12-17 23:40:27 +01:00
Henrik Rydgard
832c933cb8 Some shader fixes 2013-12-17 23:38:58 +01:00
Henrik Rydgard
2c57a0a897 Add some math functions to known function hashes
This includes some double-precision soft-float. These are dicey though because
several of them differ only by immediate values and thus collide with others.
2013-12-17 20:19:06 +01:00
Henrik Rydgård
5c5c961d94 Merge pull request #4872 from unknownbrackets/savedata
Only draw visible savedata icons, fix leak
2013-12-17 09:38:53 -08:00
Unknown W. Brackets
b2795b31c0 Only draw visible savedata icons, fix leak.
Fixes #4870.
2013-12-17 08:07:30 -08:00
Henrik Rydgard
ca9efb1619 Linux build fix 2013-12-17 12:41:45 +01:00
Henrik Rydgard
291d25f43d Only autosave the hashmap if enabled and not on mobile. 2013-12-17 12:30:56 +01:00
Henrik Rydgard
2aebbc6f07 Update native (blacklist dual source alpha on Intel) 2013-12-17 12:27:20 +01:00
Henrik Rydgard
2140892074 Initial preparations for ability to replace game functions with custom implementations.
Also auto-saves hashmap additions and reapplies the hashmap on function
rename so that if you rename a function that exists in several copies
they will all be labelled.

Note that actual function replacement is not activated yet.
2013-12-17 12:27:20 +01:00
Henrik Rydgård
52cec1ca38 Merge pull request #4866 from unknownbrackets/io-minor
Reporting and tweak to mpeg change for Valkyrie Profile
2013-12-17 02:04:50 -08:00
Unknown W. Brackets
8e797796e5 Wait for only 5 frames before seeking mpegs.
Workaround for Mana Khemia, ugh... must be more complex logic.  Valkyrie
Profile still works.
2013-12-17 02:00:57 -08:00
Unknown W. Brackets
d704f39981 Report unknown devctl commands. 2013-12-17 01:55:38 -08:00
Henrik Rydgård
6c8ba5eda6 Merge pull request #4865 from unknownbrackets/knownfuncs
Add a base knownfuncs.ini from some guesses.
2013-12-17 00:40:29 -08:00
Henrik Rydgård
6432451334 Merge pull request #4864 from unknownbrackets/io-minor
Implement some ioctl commands for disc0:/ files
2013-12-17 00:38:04 -08:00
Unknown W. Brackets
8c5fb2b3f3 Add a base knownfuncs.ini from some guesses.
Not versioning the actual path since I add funcs sometimes and would
prefer a clean tree.
2013-12-17 00:33:32 -08:00
Unknown W. Brackets
fd9d4916d5 Implement ioctl 0x01030008, seems important.
There are a number of games using this, which might be happier now.
2013-12-17 00:17:34 -08:00
Henrik Rydgard
b41956552b Update native (forces GL_ARB_blend_func_extended off on GL < 3.0) 2013-12-17 09:10:28 +01:00
Henrik Rydgard
3ed7c6d48f SoftGPU: Display at correct aspect ratio independent of window size. 2013-12-17 09:02:54 +01:00
Unknown W. Brackets
c301eb9b53 Implement ioctl 0x01010005 based on PSP tests.
Fixes #1210.  May fix issues, since it was being silently ignored before.
2013-12-16 23:51:04 -08:00
Unknown W. Brackets
183b4cb45c Add a static method for creating PSPPointers.
This is still kinda ugly, but the assignment thing was just too ugly, I
couldn't do it anymore.
2013-12-16 23:50:52 -08:00
Henrik Rydgard
38f94ea0bf Minor typo fix 2013-12-17 00:20:40 +01:00
Henrik Rydgård
b832cf1f84 Merge pull request #4858 from sum2012/patch-1
Add more information for "Not support this patcher"
2013-12-16 14:46:17 -08:00
Henrik Rydgard
f8312716f3 Only use dual source when actually needed.
Does generate a few more shaders but hopefully isn't a problem, should get rid of most of the slowdown in most games.
2013-12-16 23:44:28 +01:00
Henrik Rydgard
a9a15d5196 Don't use dual source when stencil disabled 2013-12-16 23:41:42 +01:00
Henrik Rydgard
068d4f0ee5 Another typo fix 2013-12-16 23:40:30 +01:00
Henrik Rydgard
0d2ec01e83 Switch CanReplaceAlphaWithStencil response to an enum 2013-12-16 23:24:32 +01:00
Henrik Rydgard
a8a48013f6 Don't use gl_FragColor when deprecated 2013-12-16 23:18:13 +01:00
Henrik Rydgard
40a0705b50 Typo fix checking the alpha func for src factors 2013-12-16 23:13:33 +01:00
sum2012
9b7e5566d1 Add more information for "Not support this patcher" 2013-12-17 05:36:55 +08:00
Unknown W. Brackets
90b649c9fc Clean up error handling for umd9660 ioctls. 2013-12-16 07:55:46 -08:00
Unknown W. Brackets
23ba2cec2f Implement ioctl command 0x01020001.
Not sure what might use this...
2013-12-16 07:55:45 -08:00
Henrik Rydgård
0cd1c3ad92 Update native 2013-12-16 16:21:10 +01:00
Henrik Rydgård
34f2f5db98 When drawing the displayed FBO to the screen, always use bilinear.
Might want to make this an option in the future.
2013-12-16 16:04:08 +01:00
Henrik Rydgård
7de41a3527 Merge pull request #4856 from raven02/patch-17
Replace -ve fogcoef[1] with -10000.0f
2013-12-16 06:55:57 -08:00
raven02
71d2ce3731 Replace -ve fogcoef[1] with -10000.0f 2013-12-16 22:45:21 +08:00
Henrik Rydgård
2871633e36 Merge pull request #4750 from unknownbrackets/ui-tweaks
Support pinning paths in the game browser
2013-12-16 06:08:05 -08:00
Henrik Rydgård
5f4f1a24b3 Merge pull request #4854 from raven02/patch-16
Ignore software skinning for anti-aliasing only
2013-12-16 04:53:25 -08:00
raven02
8306243b97 Check gstate.isSkinningEnabled() only 2013-12-16 20:44:13 +08:00
raven02
04f31c5e8e Add gstate.isSkinningEnabled() 2013-12-16 20:42:45 +08:00
Henrik Rydgård
b6f8038a51 Fragment shader: Remove superfluous precision specifiers.
Also make sure to strip lowp/mediump/highp on desktop even for GL3.0-3.3.
2013-12-16 11:46:59 +01:00