PSISP
6cc3eab3f5
Merge pull request #285 from refractionpcsx2/gs_trans_fix
...
GS: Fix source_y
2020-02-05 21:23:30 -05:00
refractionpcsx2
0f4ec8c230
Fix source_y for GS Transfers
2020-02-05 22:19:50 +00:00
refractionpcsx2
973c40b9f2
Fix Q Pipe delay on VU JIT
...
Add some masking to VU JIT
Fix Flag opts on VU JIT for MAC flags when the last position is a NOP
Fix interpreter fallbacks when testing VU JIT lower instructions
2020-02-05 21:21:48 +00:00
dakotachasesmith
793e69a08b
Return true if we don't return false in dual issue analysis, properly clear latencies of 1 after dual issue when checking dependencies
2020-02-04 17:43:43 -10:00
dakotachasesmith
1b52066bb1
Don't add a cycle bias to LQC2, SQC2 operations
2020-02-04 16:35:05 -10:00
dakotachasesmith
91c3a52495
Merge branch 'master' into dependency
2020-02-04 14:15:50 -10:00
PSISP
1ff3712b68
Merge pull request #283 from refractionpcsx2/gs_finish
...
GS: Fix FINISH requests
2020-02-04 19:12:55 -05:00
refractionpcsx2
eb132cfa45
Fix FINISH requests
2020-02-04 23:01:56 +00:00
dakotachasesmith
fb8ae9494b
First dual issued instruction has correct cycle count after execution in EE, changes to load_store cycle analysis for precision
2020-02-04 01:51:23 -10:00
dakotachasesmith
998b40783c
[EE_JIT64] Fallback on lqc2, sqc2
2020-02-04 00:56:19 -10:00
dakotachasesmith
fcd44f2194
Avoid counting EE cycles twice when encounting COP2 ops on JIT
2020-02-03 15:23:37 -10:00
dakotachasesmith
d737f4423b
Change ull literal to (uint64_t) cast for gcc compatibility
2020-02-03 14:46:29 -10:00
dakotachasesmith
db764a2193
Remove cycle_count_now, have cycle_count represent the running cycle total for EE
2020-02-03 14:41:29 -10:00
dakotachasesmith
88202fb2c2
Change EE_InstrInfo::Pipeline to inherit from uint16_t and not uint8_t
2020-02-03 13:35:49 -10:00
dakotachasesmith
1852d4dccc
Subtract cycles_to_run as 32-bit variable
2020-02-03 01:32:52 -10:00
dakotachasesmith
5e4184e205
Increment EE cycle count when spinning while waiting for VU0
2020-02-03 01:14:19 -10:00
dakotachasesmith
c46e1a338a
use cycle_count_now in VectorUnit::start_program
2020-02-03 00:08:09 -10:00
dakotachasesmith
50444ea398
Properly update cycle counts on EE interpreter
2020-02-03 00:02:58 -10:00
dakotachasesmith
4bdc1969c2
EE cycle count tweaks, changes to JIT to prevent JIT from hanging if waiting for VU when interrupt happens
2020-02-03 00:02:58 -10:00
dakotachasesmith
2e196c205f
Fix new dispatcher not comparing flags correctly, not jumping to looked up block
2020-02-03 00:02:58 -10:00
dakotachasesmith
9f02b668ca
Update cycle_count_now when EE JIT block exits
2020-02-03 00:02:58 -10:00
dakotachasesmith
299725541d
Decrease code size of JIT dispatcher
2020-02-03 00:02:58 -10:00
dakotachasesmith
7d2c7d5bda
[EE_JIT64] Optimize GPR flushing, branch operations
2020-02-03 00:02:58 -10:00
dakotachasesmith
63e5d0fc92
Slight optimizations to eejit branch likely, waitvu0, checkinterlock
2020-02-03 00:02:57 -10:00
dakotachasesmith
6199843afa
VU0 reads correct cycle_count from EE, update cycle counts properly on early exit from JIT
2020-02-03 00:02:57 -10:00
dakotachasesmith
53cb30a556
Add throughput cycle analysis
2020-02-02 23:09:27 -10:00
dakotachasesmith
1c36f46382
Change handling of cycles again to correctly account for differences in cycles at beginning of block for dependencies
2020-02-02 23:09:27 -10:00
dakotachasesmith
a44be7311a
Better handling of cycle counts in IR analysis (will mostly benefit blocks that end on COP2)
2020-02-02 23:09:27 -10:00
dakotachasesmith
6630b1c9ad
Fixed point support for load/store bias
2020-02-02 23:09:27 -10:00
dakotachasesmith
03a4ece528
Separated dual issue analysis into its own function, check for dual issue in latency calculations
2020-02-02 23:09:27 -10:00
dakotachasesmith
c3ca02463b
Remove erroneous intwide check in dual issue cycle analysis
2020-02-02 23:09:27 -10:00
dakotachasesmith
ef972d60db
Fix bug with
...
check_pipeline_combination where it would never return true
2020-02-02 23:09:27 -10:00
dakotachasesmith
db8e8d4e0d
Better dual issue cycle analysis
2020-02-02 23:09:27 -10:00
dakotachasesmith
7af4997ac9
Make pipeline list in dual issue cycle analysis const static
2020-02-02 23:09:27 -10:00
dakotachasesmith
92b0361eee
Ignore GPR zero when checking dependencies in dual issue analysis
2020-02-02 23:09:27 -10:00
dakotachasesmith
07400b2da0
Add pipeline info to COP2 instructions
2020-02-02 23:09:27 -10:00
dakotachasesmith
d6caeae022
Improve dual issue analysis, loadstore analysis
2020-02-02 23:09:27 -10:00
dakotachasesmith
de4f342ceb
Write dual issue analysis for IR
2020-02-02 23:09:27 -10:00
dakotachasesmith
55f7319859
Disable all MMI operations on JIT
2020-02-02 23:09:27 -10:00
dakotachasesmith
e18f54f7df
Handle bnel, r1, r1, label instructions on JIT, fixes Eragon boot
2020-02-02 23:09:27 -10:00
dakotachasesmith
351c8534ee
JIT - Treat BNE r1, r1, label as jump to PC + 8
2020-02-02 23:09:27 -10:00
dakotachasesmith
f0c90febf7
JIT checks for interlock for QMTC2/CTC2
2020-02-02 23:09:27 -10:00
dakotachasesmith
59093e9e05
JIT now updates VU0 on LQC2, SQC2
2020-02-02 23:09:27 -10:00
dakotachasesmith
5045fe62f4
Improve COP2 sync for JIT, add PC_now variable as JIT-friendly readable PC
2020-02-02 23:09:27 -10:00
dakotachasesmith
c05e3a2033
Add cycle_count_now variable to EE to be used by JIT for COP2 preperation
2020-02-02 23:09:27 -10:00
dakotachasesmith
9433c33d8b
Check interlock bit for QMF/TC2, CF/TC2 and wait if set
2020-02-02 23:09:27 -10:00
dakotachasesmith
4d59f39674
Move VU0Wait from COP2Special to COP2 in IR
2020-02-02 23:09:27 -10:00
dakotachasesmith
7f11ec4083
Remove CTC1 destination register check, can be ignored
2020-02-02 23:09:27 -10:00
dakotachasesmith
918b251358
Add program counter to read/write error outputs
2020-02-02 23:09:27 -10:00
dakotachasesmith
eeb19c1da3
Add VUOWait back to IR
2020-02-02 23:09:27 -10:00