Commit graph

1435 commits

Author SHA1 Message Date
Unknown W. Brackets
e2a4a50511 d3d: Centralize framebuf creation/switch logic. 2014-09-09 22:58:43 -07:00
Unknown W. Brackets
ae2e8c5c7c d3d: Migrate a few more things into common code. 2014-09-09 22:58:11 -07:00
Unknown W. Brackets
8c229e00b4 d3d: Begin centralizing framebuffer management. 2014-09-09 08:12:42 -07:00
Unknown W. Brackets
4a615dc46c Support BGRA formats in the debugger previews. 2014-08-24 22:08:28 -07:00
Unknown W. Brackets
385df1c54e Force positions to scale by 128/32768 as psp does.
This makes everything use floats for positions.  On some hardware/drivers,
this may be faster.  On some it may be slower.  We'll need testing to see
the performance impact.

Fixes Final Fantasy 4's pos misalignments, and probably others (like
Tekken 5 I suspect.)
2014-08-17 14:31:49 -07:00
Unknown W. Brackets
e0b4aa68d0 Typos. 2014-06-21 12:04:27 -07:00
Unknown W. Brackets
eaf3288304 Add debug interface for non-L0 texture preview. 2014-06-15 09:30:37 -07:00
Unknown W. Brackets
03f86f364f Skip debug stepping time in list/func time.
Just makes the debug stats actually useful while stepping.  A bit of
overengineering, but it makes it easy to go frame-by-frame looking for
perf issues.
2014-06-14 08:42:18 -07:00
Sacha
4ed944a576 Remove redundant armv7 defines. 2014-06-11 15:15:39 +10:00
raven02
9db47b9908 Add missing lcutoff and lconv 2014-05-14 23:00:28 +08:00
Unknown W. Brackets
e8d5866e5a Use SSE some in framebuffers to memory.
Since people are using it (even though it seems dangerous), might as well
make it faster.  6% better in Tales of Phantasia X.
2014-05-04 01:03:48 -07:00
Henrik Rydgard
9b1302cf77 Don't initialize lighting and lights unless they are enabled 2014-04-21 12:51:20 +02:00
Henrik Rydgard
16f4622ac7 Remove cached light variables to reduce work when parsing DLs.
Also removes some duplication between GL and the inactive D3D code.
2014-04-21 12:51:19 +02:00
Unknown W. Brackets
006ed53e73 Use defines on x86/SSE to avoid func pointers.
Unfortunately no such luck for Android.
2014-03-25 01:28:09 -07:00
Unknown W. Brackets
b800762ceb Add a NEON-optimized version of XXH32.
This takes at least 40% less time to hash on NEON/ARM devices.
2014-03-25 00:34:55 -07:00
Unknown W. Brackets
a26e6ce4b6 Minor improvements to QuickTexHashNEON().
Cuts a VFP switch, oops.
2014-03-23 11:56:25 -07:00
Unknown W. Brackets
970dd4f2f8 Use vldmia not vld1 for QuickTexHashNEON().
It turns out this is ~20% slower usually, so aligned is not worth the
pipeline hit.
2014-03-23 11:56:24 -07:00
Unknown W. Brackets
2482b2a1e0 Use aligned NEON loads in texhash. 2014-03-22 21:58:50 -07:00
Unknown W. Brackets
b44d10a91e Move texture unswizzling to decoder, use NEON. 2014-03-22 21:35:16 -07:00
Unknown W. Brackets
678237aa6c Improve SSE usage in software transform.
It's actually already pretty decent (unlike the softgpu), but there were a
few places it could use a bit of help.  Speeds up things with hardware
transform off, or areas that need to use software transform.
2014-03-17 23:05:48 -07:00
Unknown W. Brackets
6630e45eff Just add a packed version of Vec3f.
This way we can have it aligned to memory where needed.  I think it'd be
better to avoid this if possible so that we can actually vectorize
spline/etc. code.

Fixes #5673.
2014-03-17 06:59:40 -07:00
Henrik Rydgard
2eb6a4e2f2 Fix a warning, rename some parameters, etc. 2014-03-08 10:40:43 +01:00
Unknown W. Brackets
15a608a6b9 Check for kernel textures in kernel ram properly.
Textures can perfectly legitimately be in volatile ram.
2014-03-01 16:11:56 -08:00
chinhodado
cb39a5d978 fix buffer overflow 2014-02-19 12:07:45 -05:00
Unknown W. Brackets
97192388b6 Clamp float z in throughmode, rather than wrapping.
Matches tests, fixes sky in Tales of Eternia (#4572.)
2014-02-13 08:03:56 -08:00
Unknown W. Brackets
ad8488ecc4 Reset reporting on a new game.
This way "once" and "spam" no longer persist between runs.  Makes it
easier to test a bunch of games in a row without restarting in between.
2014-02-09 17:39:16 -08:00
Unknown W. Brackets
e7eca477b0 Add a tab to show vertex values to the GE debugger.
Should be pretty useful, especially for depth issues.
2014-02-08 22:03:29 -08:00
Henrik Rydgård
ca8311b4b8 Fix post processing shader list on Android. Fixes #5330.
This simply removes an old workaround that's no longer needed due to a
bug fix.
2014-02-04 13:20:36 +01:00
Unknown W. Brackets
d8e9ed73ab Fix a code alignment warning.
I'm not really clear on why this code would not be 4 byte aligned,
but cmake says it ain't on iOS, so okay.
2014-01-10 22:21:31 -08:00
Henrik Rydgård
e5e17fbc6e More include cleanup. Hoping for very slightly faster compile times.. 2013-12-30 10:49:05 +01:00
Henrik Rydgard
791f434f88 Custom postshaders now load successfully 2013-12-10 15:33:58 +01:00
Unknown W. Brackets
eb3011fd18 Don't even define the sse tex hash on non-sse.
Avoids unused func warnings.
2013-12-01 11:21:16 -08:00
Berkan Diler
68d518727f Remove unnecessary comment 2013-11-27 19:51:35 +01:00
Unknown W. Brackets
2623f6bfe2 Disable the optimized hash on iOS, seems to crash.
Except not for me, not sure why.
2013-11-23 10:41:58 -08:00
Unknown W. Brackets
fcc77f525f Implement some basic vertex previews on prim.
3D doesn't work correctly (sometimes it does...)  2D should be working.
2013-11-17 13:27:50 -08:00
Unknown W. Brackets
ac8edb4282 Support reversed buffer formats in the ge debugger.
So that it doesn't show garbage under the softgpu.
2013-11-17 02:14:34 -08:00
Henrik Rydgård
662ad32d4f Fix and re-enable @unknownbracket's handcoded NEON tex hash 2013-11-11 17:12:38 +01:00
Henrik Rydgård
53800bd413 Disable the hand-coded NEON texture hash again. It's slow, for unknown reasons. 2013-11-11 14:39:29 +01:00
Henrik Rydgård
1713465e9f Revert "Temporarily disable the handcoded NEON texture hash"
and
Revert "Temporarily disable the handcoded non-NEON tex hash"

This reverts commit 068af6fda8df8069bc0491fe98e75ae007f5b650.
This reverts commit 91543e7a8d27b4a8c906c1e1c349f489a449c432.
2013-11-11 14:13:47 +01:00
Henrik Rydgård
0c18c4be4e Temporarily disable the handcoded non-NEON tex hash 2013-11-11 14:13:47 +01:00
Henrik Rydgård
c80403c377 Temporarily disable the handcoded NEON texture hash 2013-11-11 14:13:47 +01:00
Henrik Rydgård
345a4ccf0e Merge pull request #4487 from unknownbrackets/perf
Texture cache hashing tweaks, disable second cache on mobile
2013-11-09 17:30:40 -08:00
sum2012
e4b68099e0 Attempt to fix Colin Mcrae Dirt 2 Crash correctly
#4482
2013-11-10 08:23:31 +08:00
Unknown W. Brackets
fa79d7f13c Handcode the non-NEON texcache hash as well on ARM.
Well, it could be a better algorithm, but at least this uses LDMIA.
2013-11-09 14:51:23 -08:00
Unknown W. Brackets
2dfa2379f4 Rewrite QuickTexHashNEON directly in asm.
Seems like gcc couldn't optimize it to this.
2013-11-09 12:54:55 -08:00
Henrik Rydgard
497915141b Revert to normal for loop in the index generator, the < 3 case gets taken care of properly. Just existing caused some issues. 2013-11-09 19:33:40 +01:00
sum2012
886fcdd0b1 Fix Colin Mcrae Dirt 2 Crash
#4482
2013-11-10 02:23:22 +08:00
Henrik Rydgard
9a51d25279 Minor optimization in IndexGenerator::AddStrip. 2013-11-08 12:43:47 +01:00
Unknown W. Brackets
e435b81281 Optimize IndexGenerator::AddPrim() funcs for MSVC.
Reduces profile from ~5.4% to ~1.6% (with vertex cache off) in
Senjou no Valkyria 3.  Similar to the TranslatePrim() funcs.
2013-11-04 22:49:28 -08:00
Unknown W. Brackets
64e977db08 Improve the non-NEON tex hash path on ARM.
This generates better looking disassembly, though a small change.
2013-11-03 07:43:10 -08:00