Commit Graph

165 Commits

Author SHA1 Message Date
TC1995
b7100a6169 Video changes of the night (January 29th, 2025)
Matrox MGA:
A break from work can save the day all so to say. Fixes bitblt'ing on WinNT4.0/Win2000 using 32bpp modes and possibly other stuff using said Matrox chip.
2025-01-29 00:33:24 +01:00
Jasmine Iwanek
fabe71150c Various improvements & Cleanups
Some ported from ANightly's work
2025-01-11 21:25:29 -05:00
RichardG867
b19bf7782b MGA: Fix warning with devbranched G100 2024-07-26 16:44:31 -03:00
OBattler
e377e58881 Assorted fixes and Dev branched the Matrox G100 and the PCL printer. 2024-07-26 00:39:11 +02:00
OBattler
1df242d9bb MGA: Fix texture filtering completely on G100. 2024-06-26 23:07:59 +02:00
OBattler
049579919e MGA: Fix textures in certain cases. 2024-06-24 15:13:12 +02:00
OBattler
499a4e1d77 MGA: Implement linestyles. 2024-06-22 23:54:14 +02:00
OBattler
8a90de40bc Matrox: Fix MSITUTOR, fixes #4554. 2024-06-22 17:44:45 +02:00
OBattler
0aa695c070 Matrox FIFO status fix. 2024-04-25 10:55:07 +02:00
OBattler
0f71a56edb Some checks around a recalctimings check to fix some crashes. 2024-04-24 06:47:03 +02:00
OBattler
fcbbae181f MGA: fixes pitch mask to be correct according to the docs (it incorrectly stripped bit 11 of the pitch before).
Reference: Page 3-74 (PDF page number 87), https://www.vgamuseum.info/images/doc/matrox/mga-2164w_dev_spec.pdf.
2024-04-03 14:09:27 +02:00
OBattler
48718eb169 MGA: Fixes hard freezes when using DynaView 3D on non-16-bpp modes on Windows 3.x. 2024-04-03 14:08:05 +02:00
OBattler
46840b239d MGA: Implement hardware dithering modes by Cacodemon345, fixes Windows 3.1 dynamic resolution switching. 2024-04-01 12:57:48 +02:00
OBattler
7a4a44d1d1 Matrox: Apply DirectDraw transparency fixes by Cacodemon345. 2024-03-27 17:24:06 +01:00
Cacodemon345
fd31aba2a1 MGA: Implement X11 hardware cursor 2024-02-29 13:58:05 +06:00
Cacodemon345
9d4f4f0a70 MGA: Move BPLAN handling to the right place 2024-02-28 14:08:55 +06:00
Cacodemon345
0275ff3523 MGA: Implement BPLAN for BITBLT operations 2024-02-27 16:16:06 +06:00
OBattler
4c3cceec69 Fixed off by one errors in (S)VGA horizontal blanking start calculation. 2024-02-18 17:54:14 +01:00
Alexander Babikov
0fa364dec3 MGA cleanup 2024-02-18 19:12:57 +05:00
TC1995
e9f0af21a0 MGA updates for the vram detection and stuff.
1. The Debian issue mystery lies around chain2_read/write being required when the LFB mapping is enabled too when MGA modes are set without blitting, however, when it is blitting, immediately tell chain2 to not interfere with the mapping. Fixes Debian once and for all as well as VRAM detection correctly while keeping existing compatibility fine.
2. Undev branch the G100 per above. (Revert if more bugs are revealed).
3. An AND with 0 is not tolerable as it nulls the LFB, fixes hang ups with Win2000 using the Millennium II and possibly the G100.
4. the Extended CRTCs now have a call for timing recalculation, fixes mode changes when blitting is going on.
2024-02-15 23:10:05 +01:00
Cacodemon345
f5995a4719 vid_svga.c: Hardware cursors with negative Y values work properly now
* Fixes cursor disappearing completely in Matrox cards in some cases.
* Allows emulated video adapters allowing negative Y values for hardware cursor to render those properly
2024-02-15 00:34:24 +06:00
TC1995
0240f11bbe Matrox MGA fixes:
1. When the 128K banking is activated, use a mask of 0xffff instead of 0x1ffff.
2. Debian uses standard VGA mapping when in chain4 mode and its lfb is adapted accordingly.
3. Fixed the decode VRAM mask on the Millennium II so that the vram is detected correctly and no more glitches.
4. Undev the Millennium II as well.
2024-02-14 17:05:28 +01:00
Alexander Babikov
0e53b86d25 Move the Matrox Millennium II and G100 to the Dev branch 2024-02-13 22:28:27 +05:00
OBattler
f3d585a1e1 Fix horizontal blanking calculation, fixes some S3 blanking excesses. 2024-02-07 00:11:02 +01:00
OBattler
a21b8d865d MGA: Line draw rework/fixes by TC1995, fixes the Setup bug reported by Luennix. 2024-01-23 19:15:50 +01:00
Cacodemon345
2390d2d2ae MGA: Do not reset DWORD expected counter while SOFTRAP read is still pending
Fixes Matrox Simple Interface games without breaking Windows 2000 drivers
2024-01-13 13:38:19 +06:00
OBattler
996530a94e Horizontal blanking calculation now takes into account horizontal timings multiplications and divisions, fixes a lot of S3 (and ViRGE) modes. 2024-01-13 03:54:56 +01:00
OBattler
ca4f5bad13 More horizontal blanking calculation fixes (and actually use blank start, not retrace start), fixes graphics cut-off on Voodoo on Windows 98 SE. 2024-01-13 00:41:45 +01:00
OBattler
cd0636ee04 Fixed horizontal retrace start and end extensions on almost every applicable card, fixes #4025. 2024-01-11 14:42:54 +01:00
Cacodemon345
8e9a2e0b79 Apply blanking extensions to more SVGA cards.
* Fix duplicated logic in vid_svga.c
* Voodoo 3/Banshee emulation now has blanking extensions applied
* S3 ViRGE and Matrox video cards as well
* Tseng ET4000-series cards as well
* Fix off-by-one error in vid_cl54xx.c

Trident cards are yet to be investigated. XGA and 8514/A are yet to be made blanking extensions compliant. Mach64, Paradise/WDC and OAK OTI cards remain as-is for now.
2024-01-11 01:48:49 +06:00
Miran Grča
72ff425fe0 Merge pull request #3981 from Cacodemon345/mga-g100
Make Matrox Productiva G100 usable as secondary display
2024-01-02 11:37:38 +01:00
Cacodemon345
64c930f95f G100 is now correctly added as AGP device 2024-01-02 14:34:12 +06:00
Cacodemon345
318403b133 Fix G100 VBIOS mapping 2024-01-02 14:12:02 +06:00
Cacodemon345
af5aafbc0e Make Matrox Productiva G100 usable as secondary display
Confirmed working in Windows 98 SE at least
2024-01-02 13:49:22 +06:00
Miran Grča
4324650a4e Merge pull request #3979 from Cacodemon345/mga-g100
MGA: Fix busmastering under Windows 2000
2023-12-31 17:54:00 +01:00
Cacodemon345
941d5bfdf8 Fix busmastering under Windows 2000 2023-12-31 22:46:21 +06:00
Miran Grča
05b974cd35 Merge pull request #3978 from Cacodemon345/mga-g100
MGA G100: Fix fog acceleration
2023-12-31 14:54:18 +01:00
Cacodemon345
f8e55d0edc MGA G100: Fix fog acceleration
Minor variable cleanups
2023-12-31 19:47:25 +06:00
Miran Grča
a59431a940 Merge pull request #3977 from Cacodemon345/mga-g100
Fix detection of MGA G100 video RAM when 16MB
2023-12-31 14:27:40 +01:00
Cacodemon345
7b75d6f11d Fix detection of MGA G100 video RAM when 16MB 2023-12-31 19:18:20 +06:00
OBattler
89f395ded1 MGA: Fixed two warnings. 2023-12-31 12:10:34 +01:00
Cacodemon345
0ee66c4be8 Whitespace removal 2023-12-31 16:45:52 +06:00
Cacodemon345
b1cf6c8657 Remove logging 2023-12-31 16:44:54 +06:00
Cacodemon345
6366e1c58c Implement proper alpha stipple 2023-12-31 16:43:01 +06:00
Cacodemon345
ca21ea528a Matrox Productiva G100 working (expect maybe alpha stipple) 2023-12-31 14:54:00 +06:00
Cacodemon345
bd1a5e03b0 Somewhat-working Matrox Productiva G100 2023-12-31 02:19:11 +06:00
Cacodemon345
26c1c77758 Fix yet another dumb copy-paste mistake 2023-12-30 20:50:17 +06:00
Cacodemon345
bdae2ace60 Fix a dumb copy-paste mistake 2023-12-30 18:03:26 +06:00
Cacodemon345
08428d497b Disable 32-bit Z buffer on Mystique 220 and earlier 2023-12-30 16:10:28 +06:00
Cacodemon345
dddf46f28a TVP3026: Implement gamma correction for 15/16 bpp modes 2023-12-30 02:31:56 +06:00