SarahW
acb4307954
Voodoo texture cache now handles updates to non-square textures correctly
2017-01-14 20:57:46 +00:00
TomW
939ca35d4b
Voodoo filter improvements. Patch from leilei
2016-12-21 12:15:35 +00:00
SarahW
9c1ac5cc37
Implemented Voodoo triple buffering properly
2016-12-17 21:54:44 +00:00
SarahW
bffc0745c9
Fixed off-by-one window size when using Voodoo
2016-12-17 15:40:50 +00:00
SarahW
86ad7c7e0a
Marked Voodoo CMDFIFO read/write pointers as volatile - fixes random CMDFIFO and vertex ordering crashes.
2016-12-13 15:37:09 +00:00
SarahW
70d758f0a2
Voodoo LFB word write now supports depth-only data, fixes Episode 1 Racer.
2016-12-13 14:03:54 +00:00
SarahW
6ddc017987
Don't wake up Voodoo FIFO thread on every write, instead add a delay. This prevents the situation where it is woken up for every single access. Major speedup on many 3DFX games.
2016-12-12 21:12:35 +00:00
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