Commit graph

1873 commits

Author SHA1 Message Date
refractionpcsx2
a908465c80 Fix silly error in bitfield Enum 2020-01-24 00:32:44 +00:00
PSISP
2350fd7294
Merge pull request #270 from refractionpcsx2/vu_clamp_fix
VU JIT: Properly clamp temporary registers and fix bugs where temporary registers would be overwritten
2020-01-23 19:28:52 -05:00
refractionpcsx2
b9d6ec31ff Fix clamping on VU JIT 2020-01-24 00:21:58 +00:00
PSI-Rockin
7fc73d4460 Scheduler: Tighten synchronization 2020-01-23 13:59:54 -05:00
refractionpcsx2
54c53ddf26 Clean up some logging 2020-01-23 16:05:03 +00:00
refractionpcsx2
0e36c9bb5d Fix up reverse FIFO transfers
Revert VIF Stall change, the behaviour was incorrect
2020-01-23 02:13:39 +00:00
PSISP
9779b6993e
Merge pull request #262 from arcum42/mutex
Threading: Resolve locking issues using atomic variables. Not perfect but it's better than before.
2020-01-21 20:22:54 -05:00
PSISP
def58522be
Merge pull request #266 from refractionpcsx2/vif_gif_fixes
GIF: Fix currently selected GIFTag format in activepath
VIF: Fix filling write unpacks which could happen at the end of a VIF transfer and need no data
VIF: Make sure VIF Stalls/interrupts only occur on the instruction after the MARK command if the stall was on the MARK
VU JIT: Correct a couple of incorrect clamps
2020-01-21 20:15:52 -05:00
PSISP
7e8dd015eb
Merge pull request #268 from refractionpcsx2/vu_speed_changes
Bring VU speed up to 300 MHz and correct COP2/VU0 sync
Keep XGKICK at 150 MHz
2020-01-21 20:08:54 -05:00
refractionpcsx2
585db2d4be Simplify mbit handling on VU0 2020-01-22 00:51:14 +00:00
refractionpcsx2
ee635fc4e9 Simplify cycles_since_xgkick_update updating. 2020-01-22 00:35:16 +00:00
PSISP
e086bae646
Merge pull request #267 from refractionpcsx2/fpu_changes
Implement PCSX2's "accurate ADD_S/SUB_S"
Allows Mike Tyson's Boxing to boot, possibly others as well
2020-01-21 19:22:34 -05:00
refractionpcsx2
8045ceb837 Split Accurate Add/Sub out in to its own function 2020-01-21 23:36:01 +00:00
PSISP
b955ecfacf
Merge pull request #265 from tadanokojin/wrc-fix
GS: Allow sprite rendering with reversed x/y and remove outdated swap code
2020-01-21 18:20:18 -05:00
refractionpcsx2
dc4029ef09 Correct fifo sizes for VIF0 and VIF1 2020-01-21 19:24:29 +00:00
refractionpcsx2
a95a8a90ea Account for cycle it takes to run VCALLMS/R when starting VU0 via those commands
Needed for cycle accuracy on Sega Superstars Tennis
2020-01-21 17:11:40 +00:00
refractionpcsx2
483ae64eea Missed setting the cycle count at the start of a vu program 2020-01-21 16:21:18 +00:00
refractionpcsx2
371ffa59f3 VU JIT: Correct a couple of incorrect clamps 2020-01-21 14:19:17 +00:00
refractionpcsx2
adafbe19c7 Bring VU speed up to 300Mhz and correct COP2 timing
Make XGKick run at Bus speed
2020-01-21 14:17:54 +00:00
refractionpcsx2
a0db24ddb2 Implement PCSX2's "accurate ADD_S/SUB_S" games such as Mike Tysons Boxing rely on this
Tweak some other FPU instructions to get correct results and flags
2020-01-21 14:11:37 +00:00
refractionpcsx2
e19e83983a Fix currently selected GIFTag format in activepath
Fix filling write unpacks which could happen at the end of a VIF transfer and need no data
Make sure VIF Stalls/interrupts only occur on the instruction after the MARK command if the stall was on the MARK
2020-01-21 14:01:26 +00:00
Kojin
50d020838b gs: allow sprite rendering with reversed x/y
Previous code swapped vertices to avoid x1 > x2
However, I don't see any actual issue with doing this as we'll just use a negative step

WRC will render with vertices like this:
v0: 0.0000, 0, 0
v1: 16.0000, 223.5000, 0
v2: 16.0000, 223.5000, 0
v3: 32.0000, 0, 0
v4: 32.0000, 0, 0
v5: 48.0000, 223.5000, 0
v6: 48.0000, 223.5000, 0
v7: 64.0000, 0, 0

which means swapping based on y will just result in that situation anyway.
instead correct the scissor
2020-01-21 08:03:02 -05:00
PSISP
a692654429
Merge pull request #260 from refractionpcsx2/master
GS: Add interlace handling and some deinterlacing methods (stubbed out for now)
2020-01-21 03:56:58 -05:00
refractionpcsx2
991536a924 Move things around to add auto detection of deinterlacing method 2020-01-21 00:15:40 +00:00
PSISP
f767e6a99a
Merge pull request #264 from refractionpcsx2/vu_status_fix
VU: Fixes to status register updates
2020-01-20 17:29:40 -05:00
refractionpcsx2
3b8006a35a Fixes to VU status reg updates 2020-01-19 08:21:31 +00:00
PSI-Rockin
099b2fb8b0 DMAC: Mask off scratchpad bit for SPR_TO/SPR_FROM
Makes Iridium Runners go slightly further
2020-01-19 03:04:10 -05:00
PSI-Rockin
dc0341bca0 VU: Fix incorrect decoding of MULbc register in data dependency analysis
Fixes SPS in Knockout Kings 2001, possibly other games
2020-01-18 17:15:43 -05:00
PSI-Rockin
f097936c88 GS: Implement PSMCT16 and PSMCT16S formats for local->local transfers 2020-01-18 15:34:16 -05:00
arcum42
3512c1647a Ah, right. Fixed. 2020-01-18 04:43:26 -08:00
arcum42
8128ca8a3f Add a wrapper function. No longer lock for pausing and aborting. 2020-01-18 04:26:54 -08:00
arcum42
a54cd1b10c Make a few variables atomic and move the lock. 2020-01-18 03:57:02 -08:00
arcum42
9faa97120c Created a new flag to signal when run should let other functions have priority. 2020-01-18 03:03:19 -08:00
PSI-Rockin
348ef93c3f IPU: Expose first word of IPU_TO DMA transfer in command output 2020-01-17 18:54:29 -05:00
NWPlayer123
6812fd2b59 Update CMakeLists.txt
left out `ee/ee_jit64_vu.cpp` cuz it doesn't compile, unfinished or w/e
2020-01-16 22:56:56 -07:00
PSI-Rockin
a875b9c526 CMake: Remove outdated file declarations 2020-01-16 23:19:29 -05:00
PSI-Rockin
a72cb990c7 GS: Remove unused texture dumping function 2020-01-15 23:56:34 -05:00
refractionpcsx2
b0bfd9622b Clean up code a bit, treat "bob" differently since it ignores interlacing.
Fix potential problems of it picking the wrong position in the frame buffer
2020-01-14 19:29:33 +00:00
PSI-Rockin
741a55c889 GS JIT: Replace struct offsets with offsetof for clarity 2020-01-13 23:44:18 -05:00
PSI-Rockin
9224e623cd GS JIT: Clean up outdated hack
Now that SotC works, there's no reason to keep this here
2020-01-12 23:52:56 -05:00
refractionpcsx2
dd8424d480 Added interlace handling and some deinterlacing methods (disabled for now) 2020-01-12 20:30:06 +00:00
PSISP
392f351734
Merge pull request #258 from refractionpcsx2/master
Add missing VU ops
Fix PCRTC bugs
2020-01-11 22:59:17 -05:00
refractionpcsx2
653c24dc33 Fix behaviour when merge circuit 1 is disabled
Fix GIF Tags reading the PRIM register on NOP tags, everything but EOP should be disregarded
2020-01-12 03:41:29 +00:00
PSI-Rockin
250c5923da IPU: Process FDEC and VDEC immediately when they are sent
Games make assumptions about FDEC/VDEC timings, and they tend to expect the commands to be finished pretty quickly.
2020-01-10 22:32:31 -05:00
refractionpcsx2
5d58657dfb Ignore bogus GS transfers with no width or height for transmission area 2020-01-10 21:58:37 +00:00
refractionpcsx2
0f0466cbbc COP2 added VADDAi instruction 2020-01-10 21:48:36 +00:00
refractionpcsx2
d262809b84 tweak the double height check slightly, not all games are as big as width * 1.5 2020-01-10 20:03:25 +00:00
refractionpcsx2
2da17e1940 height >= (width * 1.5), not >, pool paradise is exactly height == width * 1.5 2020-01-10 19:23:41 +00:00
refractionpcsx2
ad4ac61be2 Stupid error, LOD is still calculated for filtering regardless of MIPMap setting 2020-01-10 19:16:29 +00:00
refractionpcsx2
c58faaceda Merged render_CRT in to one function for different circuits being enabled to properly handle blending
Fixed a couple of PCRCT bugs and removed some old code
Adjusted the height in which the picture gets halved, some games have a height slightly above than width to get a widescreen effect
Fixed bug in RGBAQ where Q should be rounded off onthe lower 8 bits of the mantissa
Reorganized calculate_LOD to be a bit quicker for games that don't use MIPMapping
Fixed UV scaling for MIPMapped textures in the GS JIT
2020-01-10 19:06:50 +00:00