Henrik Rydgård
9afe69fa62
Merge pull request #4506 from unknownbrackets/jit-continuing
...
Further attempts at continuing jit blocks (disabled)
2013-11-11 00:33:05 -08:00
Unknown W. Brackets
7e19933f64
x86jit: Try predicting branch continues.
...
Still doesn't seem to work. Something like a 4% gain in Star Ocean was
the best I saw...
2013-11-10 22:50:23 -08:00
Unknown W. Brackets
bb960480c8
x86/armjit: Stop compiling on a jump to invalid.
2013-11-10 21:59:50 -08:00
Unknown W. Brackets
fd38b10ab6
x86jit: Rename imm funcs to match armjit.
2013-11-10 21:59:49 -08:00
Unknown W. Brackets
359110f010
x86/armjit: Add jump following (off by default.)
...
Inlines function calls up to a certain extent. Allows us to get
immediates all the way to a syscall, for example, usually.
Not sure if faster.
2013-11-10 21:59:49 -08:00
Unknown W. Brackets
aacb31bc18
armjit: Copy over (disabled) immbranch optim.
...
This does a little loop unrolling. Costs a bit more cache space, but
avoids flushing regs for longer.
Not enabled.
2013-11-10 21:59:48 -08:00
Unknown W. Brackets
92ecff4396
armjit: keep track of instructions in jitstate.
...
To match x86.
2013-11-10 21:59:48 -08:00
Unknown W. Brackets
8ceaafc159
armjit: Verify free space while compiling.
2013-11-10 21:59:48 -08:00
Unknown W. Brackets
ca7b2b554b
armjit: fix major typo breaking mult/multu.
2013-11-10 21:54:44 -08:00
Henrik Rydgård
a1196399ef
Merge pull request #4503 from unknownbrackets/armjit-imms
...
Retain immediates in the armjit, optimize similar imms
2013-11-10 17:22:20 -08:00
Henrik Rydgård
032ad52c21
Merge pull request #4502 from raven02/patch-16
...
Regression fix c69ac64
2013-11-10 17:19:00 -08:00
raven02
d2546bed5b
Regression fix c69ac64
2013-11-11 08:53:47 +08:00
Unknown W. Brackets
e1fffdb37a
armjit: Don't reload an armreg ptr marked noinit.
2013-11-10 16:43:38 -08:00
Unknown W. Brackets
67eaa2fd1c
armjit: Optimize immediate load/stores in a row.
2013-11-10 16:32:48 -08:00
Unknown W. Brackets
bc0a846475
armjit: Optimize imm addresses (could do better...)
2013-11-10 16:30:20 -08:00
Unknown W. Brackets
c63560c0dd
armjit: Try to find imms to optimize a reg load.
...
This way we skip the MOVW/MOVT and go for one op only.
2013-11-10 16:20:34 -08:00
Unknown W. Brackets
7e46ee0b0f
armjit: Replace MOVI2R with using the regcache.
...
So that it can optimize the value with existing imms.
Not actually optimizing yet.
2013-11-10 15:50:45 -08:00
Unknown W. Brackets
d092f7dd2d
armjit: Remember reg imm values even after flush.
...
This way, we can base other imm values off them, or even do imm math using
them. We can also avoid re-flushing an imm.
2013-11-10 15:50:14 -08:00
Unknown W. Brackets
7f9cbc0f10
armjit: Minor cleanup and logging tweaks.
2013-11-10 15:12:40 -08:00
Unknown W. Brackets
455a7e090d
Compile the cache instruction to nothing.
...
Was showing up in a few profiles, does nothing currently.
2013-11-10 14:38:10 -08:00
Unknown W. Brackets
1cc68f50ca
armjit: Small optimization to syscall instr.
2013-11-10 14:38:10 -08:00
Unknown W. Brackets
b30928036e
armjit: Avoid flushing an imm in beq/bne/etc.
...
We might be able to STMIA it instead.
2013-11-10 14:38:10 -08:00
Unknown W. Brackets
285ec1fad5
armjit: Implement mult/multu for immediates.
...
Uncommon, but may reduce instructions a bit.
2013-11-10 14:38:09 -08:00
Unknown W. Brackets
3a8f0598c4
x86jit: Implement wsbh/wsbw.
2013-11-10 14:38:09 -08:00
Unknown W. Brackets
9bec82873c
armjit: inline byteswaps of imm values.
2013-11-10 14:38:08 -08:00
Unknown W. Brackets
ee492099b5
Avoid a literal in ORI2R where possible.
2013-11-10 14:38:08 -08:00
Unknown W. Brackets
06c8cb9174
armjit: Do shifts with imms as much as possible.
...
This may even make an imm operand2 safe that wasn't before.
2013-11-10 14:38:08 -08:00
Sacha
f29d9c0bf9
Blackberry: fix freezing due to overflow of nanoseconds in timer.
2013-11-11 04:53:08 +10:00
Unknown W. Brackets
b2c2a87511
Fix omitted CC_AL reset, fixes #4498 .
...
Was breaking non-fastmem lwl/lwr/etc.
2013-11-10 09:24:40 -08:00
Sacha
2c795907b2
Symbian: Handle multiple executable memory allocations.
...
Windows: Remove MemUsage (from Dolphin) as it was unused.
Fix some tabbing.
2013-11-11 02:55:45 +10:00
Henrik Rydgård
0845d06467
Merge pull request #4496 from unknownbrackets/softgpu
...
Fix stencil testing in the softgpu, and also some small things along the way
2013-11-10 03:49:44 -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
Henrik Rydgård
cc23635843
Merge pull request #4495 from unknownbrackets/multithread
...
Fix some issues in multithreading on Android
2013-11-10 01:56:50 -08:00
Henrik Rydgård
0c124715c3
Merge pull request #4493 from shenweip/patch-2
...
Turn up logging.
2013-11-10 01:54:46 -08:00
Unknown W. Brackets
d6048dc646
Don't burn the cpu while idle in multithread.
2013-11-09 23:08:45 -08:00
Unknown W. Brackets
92d5643423
Implement SetCurrentThreadAffinity on Android.
...
But, it doesn't really seem to improve performance.
2013-11-09 23:08:45 -08:00
Unknown W. Brackets
113146302b
Don't schedule a finish event when not running.
...
Otherwise it'll get it when it does run, and stop early.
2013-11-09 23:08:44 -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
Unknown W. Brackets
879060f008
Use a CORE_POWERUP state when starting.
...
Otherwise, we could startup in CORE_POWERDOWN in a second game, which is
confusing.
2013-11-09 23:07:52 -08:00