diff options
Diffstat (limited to 'TODO_NOTES')
-rw-r--r-- | TODO_NOTES | 326 |
1 files changed, 326 insertions, 0 deletions
diff --git a/TODO_NOTES b/TODO_NOTES new file mode 100644 index 0000000..7d6a878 --- /dev/null +++ b/TODO_NOTES @@ -0,0 +1,326 @@ +S3 ViRGE 4.0 devel notes + + + +Status +------ +1/26/2003 +Ver 1.8.6 +Pre-4.3.0 release. 320x240 doublescan support w/mouse adjust, +power management printouts, DAC error printout fix, log XVideo status based +on chipset, preliminary support for disabling XV when a mode doesn't +support it. + +5/18/2002 +Ver 1.8.5 +320x240 mode support (doublescan). + +2/2/02 +Ver 1.8.4 +Make 320x240 mode work in depth 15 & 16. +Testing, need to switch streams on/off based on dblscan_v flag and mode. +Virge MX panel_on test (doesn't work.) + +1/10/02 +Ver 1.8.3 +DGA fix, buffer pointer used wrong value. Submitted for 4.2.0 (late). + +Ver 1.8.2 +DPMS testing (display DPMS status, disable MX LCD panel), DGA testing. + +11/11/01 KJB +Ver 1.8.1 +ViRGE MX (& GX2) fix to CR63 for problems with modes < 1024x768 from +max <sunmax@libero.it>. Submitted for 4.2.0. + +11/5/01 KJB +Ver 1.8.0 +ViRGE MX & GX2 XVideo changes. Fix overlap/color keying on MX, fix +and enable GX2 XVideo. +Submitted for 4.2.0. + +11/4/01 KJB +Ver 1.7.0 +Bump version for 4.2.0. Update man and README. + +11/3/01 KJB +Ver 1.6.16 +Pre-4.2.0 patch. cr3a fix, virge mx xvideo support, xvideo disable option +(helps with high res modes on dx and screen noise), remove accel solid +fill rect for trio3d, bring over some trio3d and mx fixes from 4.0.3 test +drivers. Includes VERBLEV bump to 5 to remove register dumps in log file. + +Ver 1.6.15 +Experimental - Scanline color expand - GX2 + +9/21/01 KJB +Ver 1.6.14 +ModeInit - cr3a for MX/GX2, don't clear reserved bit 0x40 (revert change). +Back out previous cr3a patch for testing. + +9/18/01 KJB +Ver 1.6.13 +Option "xvideo" added. Add patch provided by Sven Menke +<Menke@SLAC.Stanford.EDU> for XV support on MX (slight changes to logic). + +Ver 1.6.12 +Adam J. Richter's cr3a fix (possibly temporary). + +5/30/01 KJB +Ver 1.6.10 +Disable MaxHValue & MaxVValue setting. + +1/03/01 KJB +Ver 1.6.0 +Revert ViRGE to pre-Xv changes. ViRGE DX still supports Xv, but changes +added for Xv and ViRGE caused problems with normal display. + +11/27/00 KJB +Ver 1.5.0 +Clean up, bump version for 4.0.2 submission. +CR3A, bit 0x40 (reserved) cleared for MX/GX2. Update man page. + +11/24/00 KJB +Disable CPU to screen color expansion on GX2, causes lockups on GX2 with +'locate html' in an xterm. Add WaitCmd code to prevent accelerator and +reg command path activity at the same time on GX2. +XVideo fixes, left side clipping fixed for video windows extending off left +side of screen. Add horizontal filtering modes for 1-2x and >3x scaling. + +11/7/00 KJB +Ver 1.4.0 +Enable MX fixes, testing with accel BLT_BUG set is worse on GX2, so left +it out. BLT_BUG wasn't being enabled on ViRGE & VX because of case usage, +enabled now. Re-enable silken mouse for GX2. Add Render/fbPicture support. +Fix a few compiler warnings. + +11/5/00 KJB +Continued work on GX2, much stabler now, but I think there is a lockup case +left if you enable pci_burst and pci_retry with accel. I still see screen +flashes with vertical bars once in a while, and the log reports a GEReset. +Added fbPicture (render) support, untested. XV code for GX2 is added, +but not working yet. + +10/29/00 KJB +Much work on GX2, now SWCursor locks up but HWCursor is stable, go figure. +Loading Netscape a couple times with the mail window was enough to lock it +up twice in a row. Server was locked but not a box (PCI) lock. Also, +vertical barring still occurred a couple times, so HW cursor wasn't causing +that. Try blt_bug flag again for lock up case. And attach to debug server +and bt... Sleep now... + +10/21/00 KJB +Ver 1.3.0 +Depth 16 Xv support added. Testing on ViRGE DX. 1280x1024x24 is noisy, so +needs FIFO tuning. + +9/27/00 KJB +Initial Xv support in depth 24. + +9/10/00 KJB +Convert to FB. Add option "UseFB", default true. Added +VerticalRetraceWait timeout back as default. #if0 out the line accel +code in s3v_accel.c. The Subsequent...Bresenham line code causes a lockup +when used with fb. We didn't have any hardware accel in there anyway... + +7/25/00 KJB +Started Xv additions. + +6/26/00 KJB +GX2 seems to have an accel bug. I see the entire screen go solid color or +a wide stripe pattern for about 1 second. The S3VGEReset gets called twice, +and then everything is okay. Unless SilkenMouse is enabled... That seems to +get you a server lock instead. Short term is to disable SilkenMouse for GX2 +only. SilkenMouse isn't really the problem of course, it just happens that if +we move the mouse during the 1 second engine lockup we appear more likely to +never recover. + +6/23/00 KJB +Ver 1.2.0 - Fix console corruption on GX2 caused by reserved bit use in CR3A. +Fix GX2 noise on screen in hi-res depth 24 by increasing FIFO fill threshold. + +6/12/00 KJB +Ver 1.1.0 - Add Init for SilkenMouse, add xf86SetBackingStore call, move +int10Symbols[] to remove warnings. + +3/3/00 KJB +Ver 1.0.0 - S3VProbeDDC code for X -configure option added, add timeout to +WAITIDLE macro in s3v_macros.h, change ImageWriteFlags adding NO_GXCOPY. +Start of GX2 fixes, use CR regs for FIFO settings. Update copyrights. + +2/11/00 KJB +Ver 0.11.0 - Add cfb16/24BresS to module symbols to remove warnings. +Fix viewport restore problem after EnterVT in 24 bpp. +Clean up log output, removing register dumps from normal console log. + +6/26/99 KJB +Make the memory settings for fifo_conservative the default, 'fifo_conservative' +does nothing additional now. Patch includes DGA2 additions below, non-working. +Expected to be included in 3.9Pu. + +Changes in 3.9Pt by others include additions for newer RAC support. Some reports +say multi-head works now with ViRGE. + +6/17/99 KJB +Ver 0.9.0 - Prelim DGA2 support modeled after MGA. + +5/28/99 KJB +Ver 0.8.0 - Changes to 3.9Po - Cleaned up debug register printing function, minor +changes to man page, remove S3V.sgml and add new s3virge.sgml in doc/sgml, also +remove README.S3V from doc directory. + + +4/5/99 KJB +3.9Ph - Ver 0.7.0 - Virge man page added, HW Cursor fixed, rename chipsets removing +slashes in the names. + +03/27/99 KJB +Ver 0.6.0 - hwcursor additions, added s3v_hwcurs.c and Option "swcursor". +Default is hwcursor, Option "swcursor" will disable it. + +Ver 0.5.0 - patch against 3.9Pf (seq 2615), fix depth 24 and Accel flags, sync pci_burst option to previous changes, remove s3v_comp.h and s3v_pio.c and merge as needed. + +03/21/99 KJB +3.9Pf has Matt Grossman's Alpha changes. +For next patch - remove s3v_pio.c and s3v_comp.h. Include the EnableMMIO and +DisableMMIO functions from s3v_pio.c in s3v_driver.c. + +03/02/99 KJB +3.9Pc - depth 24 doesn't work on my ViRGE DX. NoAccel doesn't start, accel does +but has blocky noise. + +03/01/99 KJB +Macro change done, VGAIN/VGAOUT for register access, INREG/OUTREG for s3v_accel.c. +Added Mark Vojkovich's re-write of the accel code. It may only be clean for ViRGE DX +at the moment. x11perf showed a couple artifacts in 'move window via parent'. +In progress, attempt to call cfbScreenInit() functions after MapMem/EnterVT. Not +working yet. Version stamped 0.4.0. + +02/22/99 KJB +Macro change coming to add Mark's accel update. VGAOUT for old stuff and MEMOUT +for new stuff? That way there's no confusion with the old INREG/OUTREG macros. +Or maybe just stick with INREG/OUTREG for new stuff. + +01/30/99 KJB +Version stamp 0.3.0. Changed Chipset flags to use PCI IDs exclusively, also use +common/xf86PciInfo.h for PCI IDs rather than coding them in regs3v.h. + +11/28/98 KJB +Bumped version stamp to 0.2, expect code in 3.9No. Cleaned up s3v.h and +s3v_driver.c by removing unused definition & code sections. Added +options set_mclk (from 3.3.2) and set_lcdclk (3.3.3 MX). Code support +from 3.3.3 for ViRGE GX2 and MX+ is included. +Disabled call to 32 bpp AccelInit to get -depth 24 -bpp 32 working again. + +11/27/98 KJB +More 3.3.3 import. +New registers saved, CR40,CR45,SR8,(for MX) SR29,SR45,SR55,SR56,SR57. +Reviewed s3vdriver.h, rehs3v.h, newmmio.h, s3v_accel.c, s3v_driver.c. +Added ViRGE MX, MX+ & GX2 support. Re-synced parts of mode save and init +with 3.3.3 versions. Added timeout ability for WaitIdle() and friends. +Added chipnames and numbers to Chipsets struct. + +11/26/98 KJB +Import additions from 3.3.3, newmmio.h, regs3v.h, + +Trap fills disabled because they don't match cfb, pixmap cache & ImageWrite +working, fixed depth 8 color loss on VT switches, INREG & OUTREG modified to +use a single offset value instead of adding the base and offset together. + +11/18/98 KJB +3.9Nn +Acceleration working for Bitblt, ScreenToScreenCopy, Color 8x8 Rect fills, +and Rect/Trap fills. +Trap fills do not support transparency, so that needs to be exported to XAA. + + +10/31/98 KJB +Working depth 8, discolored dep 16 but runs, dep 24 screen goes black, +C-A-Bkspc restores text console. At 3.9Nk tree level, module would not +load in Loader server. why? Static server tested. + +10/29/98 KJB +ModeInit() needs work, options are heavily #if'd to try and get 8bpp +working. + +10/16/98 KJB +General 4.0 architecture is setup. Presently at 3.9Nc level, if moved +to a newer tree you will need to add the resource handling functions from +Egbert (I haven't tackled that yet). + +At the moment the ScreenInit() function is coded to return FALSE. On my +ViRGE DX card this version does not lock up, but it does destroy the +video mode. Make sure you have an external terminal or network connection +if you run it (or blindly do a restart from your main terminal). I make +no guarantees that it won't hard lock other versions of ViRGE. + +I've left out the Alpha memory mapping, along with all option processing. +Those will need to be done once the driver is minimally working. + +Note that everything in s3v_driver.c is MMIO only. There are a pair of +PIO functions in s3v_pio.c, but that is the only place. See notes below +about my ViRGE DX BIOS and why I needed to do this on my hardware. + +Other stuff... +Some test stuff is assuming 8bpp, so 16 & 24 are broken. +On my hardware, I am presently trying to get the Save/Restore sequence to +recover the video mode. At the moment, when I run this driver, I get: +ScreenInit() runs to completion. +It returns FALSE, so the Server aborts. +LeaveVT() is called, and runs to completion. +The Server exits gracefully, but my monitor goes powersaver and the video +mode is not recovered. + + + +TODO items +---------- +1/30/03 General option "videoram" is ignored by the virge driver. + (Meelis Roos) +3/24/02 Xv reported to not work as secondary in Xinerama multihead. + (xav on irc) +3/24/02 DPMS doesn't fully disable the screen. Blue line across the + center in all modes. (xav on irc) +3/25/02 Secondary reports primary BIOS during int10 detection. ie: + +(II) S3VIRGE(1): VESA BIOS detected +(II) S3VIRGE(1): VESA VBE Version 2.0 +(II) S3VIRGE(1): VESA VBE Total Mem: 4194240 kB +(II) S3VIRGE(1): VESA VBE OEM: ATI RAGE128 +(II) S3VIRGE(1): VESA VBE OEM Software Rev: 1.0 +(II) S3VIRGE(1): VESA VBE OEM Vendor: ATI Technologies Inc. +(II) S3VIRGE(1): VESA VBE OEM Product: R128 +(II) S3VIRGE(1): VESA VBE OEM Product Rev: 01.00 + +(xav on irc) + + +Check CR65 usage, bit 2 set based on S3_EARLY_SC? In my manual bit 2 is +enable MMIO to RAMDAC registers. + +Notes: +---------- + +/config/cf/xfree86.cf + +have to add s3v to XF86CardDrivers for imake to make the +drivers/s3v Makefile. + +To remake makefiles, after editing Imakefile, go to dir above drivers/s3v +and do a 'make Makefiles'. + +For debug, make CDEBUGFLAGS='-g -DDEBUG', adding -DMetroLink enables +timeout for VerticalRetraceWait(). + + + +S3 ViRGE DX stuff: + +Card seems to power up (or BIOS forces) with MMIO disabled. All flavors are +disabled, because CR53 comes up as 0. This may preclude using this card +as the second device in a multi-head situation although David D. says that +the new config. management stuff may help here. + + + +$XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3virge/TODO_NOTES,v 1.22 2003/02/04 02:20:49 dawes Exp $ |