SarahW
c5889e311f
Implemented Voodoo 2 triangle setup cull ping-ponging. Fixes missing triangles in Starsiege Tribes.
2016-11-22 19:42:08 +00:00
SarahW
e162b6166e
Voodoo now implements texture RGB as a multiplier input in the colour combiner.
2016-11-20 17:16:00 +00:00
SarahW
7084337906
Voodoo non-recompiler now implements texture alpha reverse blending correctly.
2016-11-20 17:15:18 +00:00
SarahW
de1d72b92b
Voodoo non-recompiler now uses correct W coordinate for TMU #1
2016-11-20 17:14:48 +00:00
SarahW
52fd357f3d
Voodoo CLUT data can be written via CMDFIFO.
2016-10-22 16:13:42 +01:00
SarahW
396992f102
More accurate PCI timing, mainly for Voodoo.
2016-10-22 16:01:49 +01:00
SarahW
31c311924c
Added Voodoo 2 emulation.
2016-10-22 14:18:06 +01:00
SarahW
0b5c3d24ea
Added support for Voodoo with 2 TMUs (Obsidian SB50 with Amethyst daughterboard).
...
As part of this change, Voodoo now converts textures to ARGB8888 and caches ahead of rendering. Minor speedup.
Also fixed Z clamping when depth bias in use.
2016-10-01 16:42:04 +01:00
SarahW
b92634dea6
Added missing Alpha+YIQ texture format to Voodoo.
...
Added depth source select to Voodoo.
Fixes graphics issues with Requiem : Avenging Angel
2016-08-29 17:29:55 +01:00
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