Commit Graph
3430 Commits
Author SHA1 Message Date
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
raven02 2bca62b26e Don't reset texture width/height unless the size is different 2013-11-11 21:12:43 +08:00
raven02 d2546bed5b Regression fix c69ac64 2013-11-11 08:53:47 +08:00
Unknown W. Brackets 1311d71455 softgpu: Fix reversed stencil test funcs.
LESS applies to the ref compared to the stencil, not the stencil compared
to the ref.

With this, stencil testing is finally being done properly in Star Ocean.
2013-11-10 03:21:01 -08:00
Unknown W. Brackets 2db98b8669 softgpu: Don't apply logic op to stencil value.
Also, they were not at all applying correctly.
2013-11-10 03:21:00 -08:00
Unknown W. Brackets 438928de40 softgpu: Apply stencil op even when depth disabled. 2013-11-10 03:21:00 -08:00
Unknown W. Brackets 5327ce80d5 softgpu: throughmode doesn't disable any tests. 2013-11-10 03:20:59 -08:00
Unknown W. Brackets 5751e0a0a4 softgpu: Simplify color clamping. 2013-11-10 03:20:58 -08:00
Unknown W. Brackets 21deaef35a Invert gstate.getClearModeColorMask().
It makes more sense matching gstate.getColorMask().
2013-11-10 03:20:58 -08:00
Unknown W. Brackets 5817684e28 softgpu: Never write alpha, only stencil. 2013-11-10 03:20:57 -08:00
Unknown W. Brackets be9fe9ad9a softgpu: Fix stencil read/write in some formats. 2013-11-10 03:20:56 -08:00
Henrik Rydgard c69ac64d83 Don't reconvert light colors if they don't change.
Also prepare for a possible further optimization in GLES_GPU::FastRunLoop
2013-11-10 11:18:58 +01:00
Henrik Rydgard f4ad7c64e5 Fix issue with texcoord speed hack (bPrescaleUV) in software transform
(and also thus rectangles of course even when hw transform is enabled)
2013-11-10 11:18:26 +01:00
Henrik Rydgård 179068823c Merge pull request #4491 from raven02/patch-15
Attempt for another matching framebuffer logic
2013-11-10 01:58:29 -08:00
Unknown W. Brackets 1633aa689c Remove the extra process queues hack.
It seems like it's not helping anymore so it could be hurting.
2013-11-09 23:08:44 -08:00
Unknown W. Brackets afafa5fcd6 Make sure the gpu thread has a chance to run.
If the scheduler puts it on the same core, it may not even do anything
before we check if the framebuffer is dirty, so SyncThread will quit since
it's not even running.

Instead, let's wait until it's at least done something.
2013-11-09 23:08:28 -08:00
raven02 7c6a4cf87e Attempt for another matching framebuffer logic 2013-11-10 10:38:33 +08: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
Unknown W. Brackets 3f57f1f447 Disable the secondary texcache on mobile.
It helps in games like Final Fantasy 2 and Popolocrois, but it seems to
cause out of memory errors despite the checks.
2013-11-09 12:52:58 -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 63334698e1 Add temporary setting to disable the vertex decoder jit while we debug it 2013-11-09 18:16:26 +01:00
Henrik Rydgård d04415ac5d Merge pull request #4479 from unknownbrackets/perf
Small optimizations (armjit) for imms
2013-11-08 11:45:16 -08:00
Unknown W. Brackets 385f9a457e Use GetPointerUnchecked in how, pre-checked areas. 2013-11-08 11:39:24 -08:00
Henrik Rydgard 0e542b6ecc vtxdec: small omission 2013-11-08 20:38:49 +01:00
Henrik Rydgard 4daebe9b0f When logging PRIM commands, print the prim number 2013-11-08 20:36:42 +01:00
Henrik Rydgard 22d6b36005 Vertexdecoder "double": fix for x86 and very minor optimization for arm. 2013-11-08 20:03:28 +01:00
Henrik Rydgard 6b45c321b6 vtxdecjit: turn off excessive logging 2013-11-08 18:49:17 +01:00
Henrik Rydgard 9a51d25279 Minor optimization in IndexGenerator::AddStrip. 2013-11-08 12:43:47 +01:00
Henrik Rydgard 381b6d0f05 VertexDecoder JIT: Add the last missing ones except morph, I think. 2013-11-08 12:43:46 +01:00
Henrik Rydgard 502cbc170a Revert "Another attempt to sizing framebuffer based on fmt"
This reverts commit c0e8893560.
2013-11-07 15:29:11 +01:00
Henrik Rydgård c213c44050 Merge pull request #4468 from hrydgard/vtxdec-prescale
Add support for prescaled UV in vertex decoder JIT
2013-11-07 02:51:14 -08:00
Henrik Rydgard c4e3dd14fd Add commented-out code to save XMM4/XMM5.
According to all calling convention manuals I can find, we don't really
need to preserve them. If they become problematic as mentioned, we can
activate this.
2013-11-07 09:54:58 +01:00
raven02 c0e8893560 Another attempt to sizing framebuffer based on fmt 2013-11-07 10:56:41 +08:00
Henrik Rydgard 64bdb5e21d Tiny optimization (32-bit) in GLES_GPU::FastRunLoop 2013-11-07 01:34:43 +01:00
Henrik Rydgard b203da05e9 Prescale UV in vtx-dec-jit: Fix bugs, add ARM support 2013-11-07 01:24:53 +01:00
Henrik Rydgård 367bcf6d4f Prescale in the vertex dec jit. Needs debugging. 2013-11-07 01:24:53 +01:00
Unknown W. Brackets 34398b7d0c Avoid literal loads in the arm vertexjit. 2013-11-06 08:45:00 -08:00
Unknown W. Brackets 78400fd460 Avoid some dereferencing in gpu FastRunLoop. 2013-11-06 07:50:16 -08:00
Henrik Rydgård 51995a3d43 Vtx dec: After generating ARM, remember to flush the icache.
Will hopefully fix the random crashes in #4461.
2013-11-06 16:14:40 +01:00
Henrik Rydgård e3f6f25390 Buildfix for non-Windows non-ARM 2013-11-06 13:54:26 +01:00
Henrik Rydgård ea9da85bdb Missed one possible unaligned access 2013-11-06 13:14:49 +01:00
Henrik Rydgård b3fdfc01c8 ARM vtx dec: Avoid all unaligned accesses entirely.
Seeing so much contradictory information on the support and performance
of these.
2013-11-06 12:17:41 +01:00
Henrik Rydgård 1e158fa652 ARM vtx dec: Preserving our FP scratch register appears to improve
stability.

Also added some logging.
2013-11-06 11:47:26 +01:00
Henrik Rydgård b19d41f9a8 Now that LDRH works, use it where appropriate 2013-11-06 10:51:21 +01:00
Henrik Rydgard 0eb3d79de9 x86 VertexDecoder jit: Fix typo in 16-bit weight decoder. May fix crashes. 2013-11-05 21:06:43 +01:00