Commit graph

122 commits

Author SHA1 Message Date
Jean-Philip Desjardins
3087e2f640 Adjust assert condition. 2023-05-19 14:31:10 -04:00
Jean-Philip Desjardins
fef3302729 Vulkan: Implement basic blending between two outputs in merge circuit.
Fixes Twisted Metal: Black's main menu.
2023-05-16 16:24:58 -04:00
Jean-Philip Desjardins
55d6c28b17 Clear register write buffer indices upon reset. 2023-05-16 16:23:53 -04:00
Jean-Philip Desjardins
d2eba758db Add missing parenthesis. 2023-05-09 11:47:12 -04:00
Jean-Philip Desjardins
aee69ac97c Fix a bunch of warnings. 2023-05-03 21:05:08 -04:00
Jean-Philip Desjardins
6d597ec98b Cleanup. 2023-03-20 17:47:19 -04:00
Jean-Philip Desjardins
5446cb0895 Add some exceptions to avoid presenting the same area twice. 2023-03-15 09:25:29 -04:00
Jean-Philip Desjardins
3fae7ce320 Add basic support for multi read circuit display. 2023-03-09 17:24:14 -05:00
Jean-Philip Desjardins
4de991b9ba Reset some register values when writing to CSR_RESET bit. 2023-03-09 17:24:14 -05:00
Jean-Philip Desjardins
4f618e551e Fix display of XYZ2/3 values.
Now shows a raw uint32 value instead of a float.
2023-03-09 17:23:27 -05:00
Jean-Philip Desjardins
f189519266 Set some thread names. 2022-11-02 11:32:24 -04:00
Jean-Philip Desjardins
322f0c7a1d Make sure we're ready to receive at least one QW if image size is not 0. 2022-10-13 17:42:46 -04:00
Jean-Philip Desjardins
a76c66aece Make PRMODECONT initial value 0. 2022-07-25 11:21:04 -04:00
Jean-Philip Desjardins
b29915bcb5 Add PSMT8H readback format. 2022-02-24 11:41:32 -05:00
Jean-Philip Desjardins
c2083e8015 Fix some variable init. 2022-02-05 18:25:15 -05:00
Jean-Philip Desjardins
f9065b3a7f Add setting to toggle GS RAM reads.
Only used in Vulkan.
2022-02-04 10:48:38 -05:00
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