Commit graph

106 commits

Author SHA1 Message Date
Jean-Philip Desjardins
8ef21cca25 Add GetDisplayBounds function. 2021-09-03 13:28:55 -04:00
Jean-Philip Desjardins
0921b535bd Move some frame dump logic in GSHandler.
Use the proper functions to sync memory.
2021-08-18 17:16:25 -04:00
Jean-Philip Desjardins
2f45f328b6 Allow PSMZ32 reads. 2021-04-13 14:03:44 -04:00
Jean-Philip Desjardins
f095d2503e Call proper sync. 2021-03-30 16:01:37 -04:00
Jean-Philip Desjardins
0461e8d70b Make GS memory local to the GPU.
Greatly reduces GPU usage (almost half).
2021-03-30 16:01:37 -04:00
Jean-Philip Desjardins
f875a1eccb Display SCANMSK. 2021-03-24 16:56:13 -04:00
Jean-Philip Desjardins
ef3e3fb101 Limit to 50FPS on PAL. 2021-02-24 16:04:10 -05:00
Björn Gerdau
73cea1a7e0
Set correct defaults for SMODE, DISPLAY 1 and 2. 2021-02-04 01:07:50 +01:00
Jean-Philip Desjardins
d53521bfcf Add widescreen mode. 2020-12-31 16:55:25 -05:00
Jean-Philip Desjardins
efa4547153 Use proper frequency for HSYNC based timers. 2020-12-14 17:56:13 -05:00
Jean-Philip Desjardins
77a8ca6390 Use nice enums instead of meaningless constants. 2020-12-14 17:56:13 -05:00
Jean-Philip Desjardins
c9c215328f Clear BUSDIR upon GS reset. 2020-11-23 16:02:25 -05:00
Björn Gerdau
5ff07ab1b4
Implement GS BUSDIR register 2020-11-06 19:06:59 +01:00
Jean-Philip Desjardins
cda72fa7ff Wait for flip to be complete when finishing.
Causes some strange visual side effects on some platforms.
2020-10-29 13:41:02 -04:00
Jean-Philip Desjardins
33c4339d00 Fix frame debugger. 2020-10-29 13:41:02 -04:00
Jean-Philip Desjardins
aeac61d99a Simplify GS handler's interface.
Remove some useless functions, move frame dump stuff.
2020-10-29 13:41:02 -04:00
Jean-Philip Desjardins
de377ac7f8 Fix problems with non threaded GS (libretro) 2020-10-29 13:41:02 -04:00
Jean-Philip Desjardins
afbf593b87 Don't wait for flip to complete. 2020-10-29 13:41:01 -04:00
Jean-Philip Desjardins
09d377b440 Submit register write buffer before reading image data. 2020-10-29 13:41:01 -04:00
Jean-Philip Desjardins
2288d01ee0 Write batching v3.
Removed memory allocations.
2020-10-29 13:41:01 -04:00
Jean-Philip Desjardins
21cbd1e093 Write batching v2.
Should be more stable and should work with more games.
2020-10-29 13:41:01 -04:00
Jean-Philip Desjardins
69f847308e Add missing pixel format. 2020-09-10 17:21:02 -04:00
Jean-Philip Desjardins
b557fd7034 Take into account DSAY not being a multiple of page height. 2020-08-27 12:00:45 -04:00
jpd002
841bdec575 Implement HWREG. 2020-05-27 20:08:01 -04:00
Jean-Philip Desjardins
1cfd486fa4 Extract invalidation range computation logic.
Reuse in both OGL and D3D. Also makes it unit testable.
2020-04-30 18:55:09 -04:00
Björn Gerdau
6949246d41
Implement alternative GS CSR register
The funslower demo uses 0x12000400 for the GS CSR register.
2020-04-26 20:53:43 +02:00
Mahmood - Zer0xFF
571869e325 Mask GS Regs 2020-03-30 13:37:03 +01:00
Jean-Philip Desjardins
9ce5398d49 Code style fixes. 2020-03-11 20:46:11 -04:00
Jean-Philip Desjardins
b87522d0b6 Implement transfer read handlers. 2020-03-11 19:27:49 -04:00
Jean-Philip Desjardins
f9dba5c87f Load and save CBP0/1 state. 2020-03-11 19:27:48 -04:00
Jean-Philip Desjardins
54932e35b2 Add const parameter to Copy. 2020-03-11 19:27:48 -04:00
Mahmood - Zer0xFF
d7f5a96ad5 directly copy GS states 2020-02-10 22:12:54 +00:00
Jean-Philip Desjardins
01a0bf5634 Code style fixes. 2020-01-31 09:34:48 -05:00
Jean-Philip Desjardins
93a05d1e76 Implement presentation params. 2020-01-25 20:59:52 -05:00
Jean-Philip Desjardins
9dcfc42a22 Factor out the CLD processing logic and use it in Vulkan. 2020-01-25 18:31:19 -05:00
Jean-Philip Desjardins
e04d11ad4e Make the GPU side RAM read/writeable by other GS operations.
Not synchronized at all though, might cause wonky behavior.
2020-01-25 18:31:17 -05:00
Jean-Philip Desjardins
e87dc7eb73 Fix host to local transfer code to allow OpenGL to work again. 2020-01-25 18:31:11 -05:00
Jean-Philip Desjardins
ccb0a110ff More work towards memory transfers. 2020-01-25 18:31:03 -05:00
Mahmood - Zer0xFF
9ee8c00959 cleanup 2020-01-25 22:37:13 +00:00
Jean-Philip Desjardins
2b4dc85f44 Add move overload to SendGSCall. 2020-01-07 12:48:46 -05:00
Mahmood - Zer0xFF
b4c7777b84 Initial Libretro implementation 2019-12-31 21:02:35 +01:00
Mahmood - Zer0xFF
409ec5a8d0 allow GS to run in non-/threaded mode 2019-12-29 17:35:52 +01:00
Jean-Philip Desjardins
0a9f326dd4 Fix code style. 2019-06-06 13:31:26 -04:00
Jean-Philip Desjardins
74f69c9363 Remove boost::scoped_array. 2019-06-06 13:08:41 -04:00
Jean-Philip Desjardins
42458f6e68 Add missing case. 2019-02-12 18:19:09 -05:00
Jean-Philip Desjardins
e5ae547e66 Move saved state helper classes to a subfolder. 2019-02-06 19:04:51 -05:00
Jean-Philip Desjardins
285854eb01 Set GS revision to something. 2019-01-24 12:52:34 -05:00
Jean-Philip Desjardins
ce09f825a2 Allow signaled events to trigger interrupts after unmasking. 2018-10-29 13:16:11 -04:00
Jean-Philip Desjardins
d849cfcb09 Log writes to IMR. 2018-10-29 13:16:11 -04:00
Jean-Philip Desjardins
f70a5b12ac Make sure GS interrupts only occur when events occur. 2018-10-29 13:16:10 -04:00