SarahW
e27e37179f
Guard fatal()s in Banshee/V3 code in !RELEASE_BUILD
2020-12-01 16:04:19 +00:00
SarahW
cd7b41f73a
Correct Banshee subsystem ID.
2020-11-30 22:29:51 +00:00
SarahW
15fd983fa9
Don't fatal() on unknown Banshee/V3 3D reg read. Fixes Spearhead.
2020-11-26 08:29:14 +00:00
SarahW
81a8873d59
Fix Banshee/V3 cursor vertical clipping.
2020-11-22 17:11:13 +00:00
SarahW
e518b4312b
Handle unaligned LFB reads/writes on Banshee/V3. Fixes UI glitches in
...
Red Alert 2.
2020-11-22 14:28:57 +00:00
SarahW
87524de18b
Implement Voodoo CMDFIFO JSR/RET. Fixed "Bad CMDFIFO0" seen sometimes,
...
particularly when running OpenGL games windowed.
2020-11-21 09:44:46 +00:00
SarahW
6b96f56632
Fix off-by-one issue on Banshee/V3 RGB565 overlay render.
2020-11-19 19:46:49 +00:00
SarahW
49ba35733e
Implement Banshee/V3 CLUT lookup on 16-bit RGB overlay.
2020-11-19 19:38:34 +00:00
SarahW
088354f607
Mask off source address correctly for Banshee/V3 RGB565 tiled overlay
2020-11-18 20:00:55 +00:00
SarahW
035f6b348c
Fix horizontal scaling of unfiltered Banshee/V3 overlay.
2020-11-18 19:49:58 +00:00
SarahW
aef6ea93e6
More changes to Banshee/V3 half mode.
2020-11-18 19:48:37 +00:00
SarahW
8cfb60608e
Increase size of Voodoo dirty_line array to 2048 lines, and add some
...
bounds checking before accessing. Fixes crash running 3DMark 2001 on
Voodoo 3.
2020-11-17 08:32:12 +00:00
SarahW
5c20fe7c57
Implement Banshee half mode on non-tiled surfaces. Fixes low res VESA
...
modes.
2020-11-16 20:05:44 +00:00
SarahW
5ae201b7e7
Disable Banshee lazy overlay update when vertical scaling enabled. Fixes
...
artifacts in low resolution modes (where the lazy update has little
benefit anyway).
2020-11-14 19:34:00 +00:00
SarahW
49bdd9534f
Add X11 cursor mode to Banshee/V3.
2020-11-14 19:34:00 +00:00
SarahW
ed37bc4e24
Fix Banshee/V3 mappings following write of PCI command register. Fixes hang
...
following monitor suspend/wakeup.
2020-11-14 19:33:59 +00:00
SarahW
86a5b13f46
Add dirty updating for Voodoo Banshee/3 overlay.
2020-11-14 19:33:59 +00:00
SarahW
a366d977aa
Added Voodoo Banshee/3 screen filter. Patch from leilei.
2020-11-14 19:33:59 +00:00
SarahW
91e165a6d6
Reduce level of Voodoo Banshee/3 logging.
2020-11-14 19:33:59 +00:00
SarahW
c598f88f67
Implement Banshee/V3 vidProcCfg half mode. Fixes low res 16 bpp modes.
2020-11-14 19:33:58 +00:00
SarahW
193645a426
Add mutex to protect Voodoo swap count and pending. Should fix hangs
...
sometimes changing video mode on Voodoo 3.
2020-11-14 19:33:57 +00:00
SarahW
f705fd8261
Change Voodoo 3 PCI revision from 3 to 1.
2020-11-14 19:33:55 +00:00
SarahW
5eb6f4d168
Implement plug and play monitor support on Voodoo Banshee & 3.
2020-11-14 19:33:54 +00:00
SarahW
c9891895da
Implement Voodoo CMDFIFO enable bit.
2020-11-14 19:33:54 +00:00
SarahW
d254f41817
Banshee/Voodoo 3 status returns busy when FIFO thread is busy, regardless
...
of command/cmdfifo/render thread status. Fixes some 2D races where drivers
start to write to framebuffer while (final) 2D blit command is still
running.
2020-11-14 19:33:53 +00:00
SarahW
086287809b
Mark Banshee/Voodoo 3 cards as PCI.
2020-11-14 19:33:53 +00:00
SarahW
6df66c59fb
Add Voodoo 3 emulation.
2020-11-14 19:33:53 +00:00
SarahW
2415d8ad50
Mask Banshee desktop start address correctly.
2020-11-14 19:33:52 +00:00
SarahW
52a79fbb57
Add option for Voodoo to use 4 render threads.
2020-11-14 19:33:52 +00:00
SarahW
f6406c77e5
Add fast path in Banshee overlay render; if overlay is unfiltered and
...
unscaled then just write straight to destination buffer.
2020-11-14 19:33:51 +00:00
SarahW
2cf57ab8b2
If Banshee video overlay is full screen (as would be the case for
...
full screen 3D), don't bother rendering the desktop behind it.
2020-11-14 19:33:51 +00:00
SarahW
3e5e519d10
Implement dirty updating on Banshee 16bpp tiled modes
2020-11-14 19:33:51 +00:00
SarahW
e761045e40
Remove unused variables in Banshee.
2020-11-14 19:33:51 +00:00
SarahW
1900499ace
Fix "effective clockspeed" display when using Banshee.
2020-11-14 19:33:51 +00:00
SarahW
1915149391
Increase Banshee revision to 3, matching my real CL Banshee card. Removes
...
the need for any fogTable hack, which is in any case inconsistently applied
by drivers and I think may only be needed on pre-production devices.
2020-11-14 19:33:49 +00:00
SarahW
95ccdcae5c
Implement bilinear filtering on Banshee video overlay.
2020-11-14 19:33:49 +00:00
SarahW
9adb36ece3
Banshee status now returns busy when either of the render threads is
...
busy. Fixed HUD in Jedi Knight.
2020-11-14 19:33:49 +00:00
SarahW
c9bf81f599
Fix Banshee CMDFIFO base address mask.
2020-11-14 19:33:49 +00:00
SarahW
fccd59ba92
Add Banshee RGB565 undithered overlay format. Currently dithered and
...
undithered are handled the same.
2020-11-14 19:33:49 +00:00
SarahW
870a19f537
Don't fatal() on unknown Banshee port read/write. Fixes Windows 95
...
hardware detection.
2020-11-14 19:33:48 +00:00
SarahW
93c0bc85c7
Mark Banshee mappings as external. Banshee cards now work on GA-686BX.
2020-11-14 19:33:48 +00:00
SarahW
a85f315daf
The existing A-Trend Banshee card is AGP, which is not currently emulated.
...
Replaced with a reference SGRAM PCI card, and added a Creative SDRAM card.
2020-11-14 19:33:48 +00:00
SarahW
2212b9a470
Implement out-of-order CMDFIFO handling on Banshee.
2020-11-14 19:33:31 +00:00
SarahW
06a07cfcbc
Fix off-by-one size error with Banshee overlay.
2020-11-14 19:33:30 +00:00
SarahW
d1f17cd8ae
Don't flush Banshee pipeline when reading clipping registers. Fixes
...
severe slowdown in 3dMark2000 fill rate test.
2020-11-14 19:33:29 +00:00
SarahW
133f19fe39
Implement Banshee tiled surfaces
2020-11-14 19:33:29 +00:00
SarahW
19a5dfa579
Added Voodoo Banshee emulation.
...
Known issues :
- Tiled framebuffer layout is not yet implemented. This causes horizontal
offsets in some 2D 16bpp stuff (eg FMV in Tomb Raider 2, UI in Expendable)
- Fog is broken and currently disabled for Banshee
- Possibly at least 1 race in 2D blitter emulation
- A few things not yet emulated - overlay filters, some (rarely used) 2D
blitter functions
2020-11-14 19:33:28 +00:00