Commit graph pcem/src/vid_voodoo.c
Author SHA1 Message Date
SarahW
9f4b159121 Move video blit to seperate thread. 2016-07-18 21:15:32 +01:00
SarahW
17865d84bc If Voodoo FIFO is full and FIFO thread is waiting for swap to complete, process swap immediately. Fixes hangs in Carmageddon and TOCA 2. 2016-05-26 21:38:21 +01:00
SarahW
9970f030c5 Fixed off-by-one error in Voodoo when Y coordinates are reversed. 2016-04-09 20:53:21 +01:00
SarahW
74786231c5 Added Voodoo depth biasing. 2016-04-08 21:40:15 +01:00
TomW
92e45c33e7 Added x86-64 Voodoo recompiler. 2016-03-23 21:16:41 +00:00
TomW
88256eff59 Removed global temporary variables from Voodoo recompiler - fixed noise when using 2 render threads, also speedup. 2016-02-12 21:40:34 +00:00
TomW
231be4ce0e Fixed Voodoo rendering when integer and floating point coordinates are mixed - fixes HUD in Starsiege Tribes, map in NFS II SE and NFS III. 2016-01-14 21:49:36 +00:00
TomW
f6d6f0de9b Added 3DFX recompiler for x86-32. 2-4x speedup over previous code. 2016-01-12 19:37:01 +00:00
TomW
79bf197d34 Don't create Voodoo memory dump in release build. 2015-11-02 18:06:34 +00:00
TomW
ea2898d045 Voodoo now always allocates 4MB for framebuffer memory, though only 2MB may be accessible. Fixes crash in Need For Speed III when using 800x600 (no Z-buffer) with 2MB of framebuffer memory configured. 2015-10-06 21:19:04 +01:00
TomW
9ed4cf8582 Voodoo floating point parameters are converted to fixed point on register write instead of on triangle command. Fixes health bar in Tomb Raider. 2015-10-06 21:07:24 +01:00
TomW
5e08d53c73 Voodoo texture processing now dependent on texturing being enabled in fbzColorPath. Fixes transparency issues in Tomb Raider, might cause speedup in games that use non-textured triangles. 2015-10-04 11:33:13 +01:00
TomW
46ca59f2a6 Fixed race condition in Voodoo FIFO thread. 2015-09-15 20:15:24 +01:00
TomW
77cc248147 Implemented Voodoo performance counters. 2015-09-13 12:10:44 +01:00
TomW
1e4c58fee8 Implemented Voodoo vertical retrace status bit. 2015-09-13 11:42:12 +01:00
TomW
5b1e7aece0 Added simulation of PCI access timing to Voodoo. 2015-08-22 17:03:37 +01:00
TomW
726e3bfcd9 Split Voodoo render thread into FIFO thread and one or two render threads. 2015-08-19 19:21:51 +01:00
TomW
44f80b879e Implemented correct Voodoo pixel clock calculation. 2015-08-08 20:57:17 +01:00
TomW
81d13e37f6 Implemented dirty blitting for Voodoo. 2015-08-06 20:14:08 +01:00
TomW
5be9127d64 Added 3DFX screen filter and gamma correction. Patch from leilei. 2015-07-14 20:42:14 +01:00
TomW
f5a920e2e5 Voodoo buffer swaps now processed when VGA passthrough enabled - fixes Re-Volt. 2015-06-06 14:26:38 +01:00
TomW
a44be6194c Further fixes to framebuffer read hangs in Voodoo - fixes International Rally Championship. 2015-06-05 20:48:29 +01:00
TomW
685e2460d4 Added RGB555 and ARGB1555 LFB formats for Voodoo. 2015-06-04 21:49:09 +01:00
TomW
75fa159caf Reworked Voodoo thread synchronisation, helps performance. 2015-06-01 19:17:26 +01:00
TomW
ca7bd3740b Fixed hang in Voodoo emulation when a framebuffer read occurs while a swap request is pending - fixes Tomb Raider. 2015-05-31 16:43:55 +01:00
TomW
90aa13aa29 Voodoo PCI mapping disabled if base address is zero - fixes Voodoo + Sis496/497. 2015-05-31 12:30:52 +01:00
TomW
62b2bf03aa Implemented Voodoo pixel pipeline-processed framebuffer writes - fixes at least Jedi Knight and Populous The Beginning 2015-05-20 20:30:02 +01:00
TomW
226b63d682 Fixed typo in Voodoo alpha combine. 2015-05-14 20:30:15 +01:00
TomW
2c818c4b1b Increased resolution of Voodoo S/T iterators. 2015-05-12 21:28:32 +01:00
TomW
9e9cf8060a Added configurable Voodoo framebuffer and texture memory. 2015-05-11 21:31:04 +01:00
TomW
9954a29348 Improved Voodoo subpixel correction. 2015-05-11 19:48:34 +01:00
TomW
2624745c67 Implemented Voodoo mipmapping. Probably buggy. 2015-05-09 20:03:41 +01:00
TomW
1e5b46c077 Added Voodoo 2x2 dither pattern. 2015-04-29 21:09:17 +01:00
TomW
fe38137074 Fixed Voodoo unfiltered 16-bit alpha-palette textures. 2015-04-28 20:05:19 +01:00
TomW
66d4ac6d9a Voodoo now allows invalid LFB write buffer select - BreakNeck now works. 2015-04-27 20:36:49 +01:00
TomW
b279cb75e8 Voodoo optimisations. 2015-04-27 17:58:44 +01:00
TomW
42155b4c6a Added correct Voodoo dithering. 2015-03-23 21:03:42 +00:00
TomW
d6908a5450 Slight bugfix to Voodoo subpixel correction. 2015-03-22 13:56:03 +00:00
TomW
95dd53e4d7 Implement more faithful Voodoo PCI FIFO emulation - slight slowdown, but fixes issues with Unreal and probably other games. 2015-03-21 20:41:12 +00:00
TomW
883ad5da23 Fixed Voodoo swap count when vsync disabled. Quake III now works. 2015-03-21 11:31:53 +00:00
TomW
708cf896d1 Added usable 3DFX emulation. 2015-03-08 15:55:03 +00:00
TomW
2ca4ead570 Implemented preliminary S3 ViRGE 2D blitter emulation.
Misc ViRGE fixes.
Changes to memory mapping.
Changes to PCI handling.
Disabled 'AMI WinBIOS 486 PCI' due to incomplete chipset emulation.
Invalid GUS register reads no longer kill the emulator.
2014-03-20 14:03:55 +00:00
TomW
7735e82085 Altered device memory mapping. 2013-10-19 17:06:55 +01:00
TomW
f822488656 Add missing files from last commit. 2013-05-27 19:56:33 +01:00