Force DPMS normal on screen enable
Add placeholder for bit used to redirect input Add macrovision register defines
This commit is contained in:
		
							parent
							
								
									409c0618bc
								
							
						
					
					
						commit
						b4b27e9eaa
					
				| 
						 | 
					@ -0,0 +1,551 @@
 | 
				
			||||||
 | 
					2005-02-28  Keith Packard  <keithp@keithp.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_reg.h:
 | 
				
			||||||
 | 
						Add macrovision register defines
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2005-01-24 19:37  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_dma.c, ati_draw.c, ati_reg.h: Finish converting RB2D_DSTCACHE
 | 
				
			||||||
 | 
						  to RB3D_DSTCACHE.  Remove an extra pixel cache flush in the idle
 | 
				
			||||||
 | 
						  function.  Init an extra reg for r200, and annotate the
 | 
				
			||||||
 | 
						  TCL_BYPASS better.  Also, clean up some style nits from the last
 | 
				
			||||||
 | 
						  commit.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2005-01-24 18:39  keithp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati.h, ati_draw.c, ati_reg.h, radeon_composite.c: Add tracing.
 | 
				
			||||||
 | 
						  Hack Radeon cache registers to use 3D addresses.  Works on M6
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2005-01-24 17:38  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_dri.c: Silence a warning about uninitialized variable (though
 | 
				
			||||||
 | 
						  it would be).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2005-01-20 08:22  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_dma.c, ati_dma.h, ati_dri.c: Add a set of macros for dealing
 | 
				
			||||||
 | 
						  with the repeated code to wait for a while reading a
 | 
				
			||||||
 | 
						  register/attempting DMA.  Now it'll wait for a certain number of
 | 
				
			||||||
 | 
						  seconds rather than a certain number of times through the loop
 | 
				
			||||||
 | 
						  before deciding that it's timed out and resetting the hardware.
 | 
				
			||||||
 | 
						  Also, add more timeout handling, and reset the draw state after
 | 
				
			||||||
 | 
						  resetting the engine.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2005-01-19 23:28  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* radeon_composite.c: Use RadeonSwitchTo3D() instead of doing the
 | 
				
			||||||
 | 
						  WAIT_UNTIL ourselves (RST3D() also does DC_FLUSH, which may be
 | 
				
			||||||
 | 
						  important).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2005-01-19 23:09  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_video.c: Add R200 XV support, and make R100 (hopefully) use
 | 
				
			||||||
 | 
						  linear filtering instead of nearest.	Also, use RadeonSwitchTo3D
 | 
				
			||||||
 | 
						  instead of doing the WAIT_UNTIL ourselves.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2005-01-19 17:09  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_dma.c, ati_reg.h: Make R200 PDMA work -- primary queue sizes
 | 
				
			||||||
 | 
						  are now 9 bits, not 8.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-12-22 10:39  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_draw.c, ati_reg.h, radeon_composite.c: Back out the previous
 | 
				
			||||||
 | 
						  day's broken R200 "fix" -- the same number of coords are always
 | 
				
			||||||
 | 
						  emitted.  Fix the real problem, which was not enough regs being
 | 
				
			||||||
 | 
						  initialized in ati_draw.c.  Fix a typo that was resulting in
 | 
				
			||||||
 | 
						  alpha coming out as 0 * src or 0 * broken instead of src * 1 or
 | 
				
			||||||
 | 
						  src * mask.  Assign the blending results to R0, as appears to be
 | 
				
			||||||
 | 
						  necessary.  Unbreak the dst-alpha-blend-with-no-dst-alpha code.
 | 
				
			||||||
 | 
						  Yow.	And set the right DMA count for the r200 traps code.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-12-21 01:51  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_draw.c, radeon_composite.c: Fix r200 render (for real this
 | 
				
			||||||
 | 
						  time?) by setting tex1_comp_cnt right for non-mask rendering.
 | 
				
			||||||
 | 
						  Reenable it.	Also, R200TexFormats was used instead of R100 in
 | 
				
			||||||
 | 
						  one place.  Harmless so far, because the formats were in the same
 | 
				
			||||||
 | 
						  order.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-12-21 01:49  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_dri.c: Whitespace nit.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-09-19 20:12  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_draw.c, ati_reg.h, radeon_composite.c: Fix the R200 Render
 | 
				
			||||||
 | 
						  code.  Composite and Trapezoids are now supported just as well as
 | 
				
			||||||
 | 
						  on R100.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-09-19 03:57  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_dri.c, ati_reg.h: Unbreak the AGP DRI case.  That was quite a
 | 
				
			||||||
 | 
						  pile of broken code.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-09-13 23:26  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati.c, ati_reg.h: Add proper PCI/AGP detection, based on Mike
 | 
				
			||||||
 | 
						  Harris's code for Radeon, but using the MMIO mirror of the bits
 | 
				
			||||||
 | 
						  instead of config space.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-09-12 16:22  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_draw.c: - Fix a segfault on VT switch with DRI.  Still dies
 | 
				
			||||||
 | 
						  due to cursor   allocation troubles.	- Move the
 | 
				
			||||||
 | 
						  RemoveBlockAndWakeupHandlers to match
 | 
				
			||||||
 | 
						  RegisterBlockAndWakeupHandlers.  - Enable R100 trapezoid
 | 
				
			||||||
 | 
						  "acceleration" when DRI is working, so that it   can be exposed
 | 
				
			||||||
 | 
						  and worked on.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-09-12 16:01  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_dri.c: Fix a bad argument missed in the previous commit for
 | 
				
			||||||
 | 
						  ATIDRIDMA* functions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-09-12 15:21  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_draw.c: Move the RegisterBlockAndWakeupHandlers to before DRI
 | 
				
			||||||
 | 
						  initialization.  The change to use that instead of manual
 | 
				
			||||||
 | 
						  wrapping made the DMA dispatch come after the lock had been
 | 
				
			||||||
 | 
						  dropped, causing lots of pain.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-09-12 13:31  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati.h, ati_dma.c, ati_dri.c: Reset the CCE/CP on engine reset,
 | 
				
			||||||
 | 
						  and make the ATIDRIDMA functions take a more useful argument.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-09-12 13:19  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_draw.c: Add missing kaa.h include for kaaInitTrapOffsets.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-09-12 13:02  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_dri.c: Fix handling of is_agp.  is_agp is whether the card is
 | 
				
			||||||
 | 
						  actually AGP, while using_agp should say whether AGP is being
 | 
				
			||||||
 | 
						  used as part of DMA/DRI.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-09-12 12:52  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_dma.c, ati_dma.h, ati_dri.c: Improve error handling,
 | 
				
			||||||
 | 
						  especially in the DRI case.  Do some FatalErrors instead of
 | 
				
			||||||
 | 
						  ErrorFs for things that are really bad, and put limits on some
 | 
				
			||||||
 | 
						  loops.  Now, sometimes instead of hanging the entire system, we
 | 
				
			||||||
 | 
						  (mostly-) cleanly drop to console when the card has hung.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-09-11 02:28  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati.h, ati_dma.h, ati_draw.c, ati_draw.h, ati_reg.h,
 | 
				
			||||||
 | 
						  r128_composite.c, radeon_composite.c: - Add disabled WIP
 | 
				
			||||||
 | 
						  trapezoid code for R128 and R100.  The R128 rendering   is not
 | 
				
			||||||
 | 
						  doing an add of 1 per triangle like I hoped, and instead seems
 | 
				
			||||||
 | 
						  to be saturating all the pixels or something.  The R100
 | 
				
			||||||
 | 
						  acceleration	 renders pretty well, with some gaps.  Note that
 | 
				
			||||||
 | 
						  both are slower than	 software due to lack of DMA to submit
 | 
				
			||||||
 | 
						  vertices.  - Mostly fix R128 and Radeon transform support,
 | 
				
			||||||
 | 
						  including supporting	 bilinear filtering on R128.  Subpixel
 | 
				
			||||||
 | 
						  offsets are still probably an   issue (reported by rendercheck),
 | 
				
			||||||
 | 
						  but I want to make 100% sure about my   understanding of the
 | 
				
			||||||
 | 
						  protocol before changing everybody, including fb.  - Add support
 | 
				
			||||||
 | 
						  for dst formats without alpha to R128 Composite.  - Remove the
 | 
				
			||||||
 | 
						  R128 Blend code, which has long outlived its usefulness.    (I
 | 
				
			||||||
 | 
						  kept it around for one reason: It could be useful for the    w/h
 | 
				
			||||||
 | 
						  > 1024 case with no mask and a non-src op.  That seems pretty
 | 
				
			||||||
 | 
						  infrequent and not worth the trouble).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-07-24 10:02  keithp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati.c: Check for mmio before restoring crtc/crtc2 pitch registers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-07-22 11:17  keithp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati.c, ati.h, ati_cursor.c, ati_reg.h: 2004-07-22  Keith Packard
 | 
				
			||||||
 | 
						  <keithp@keithp.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							  reviewed by: <delete if not using a buddy>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							  * hw/kdrive/ati/ati.c: (ATISetOffscreen), (ATISetPitch),
 | 
				
			||||||
 | 
							  (ATIRandRSetConfig), (ATIPreserve), (ATIRestore),
 | 
				
			||||||
 | 
						  (ATIEnable):
 | 
				
			||||||
 | 
							  * hw/kdrive/ati/ati.h:
 | 
				
			||||||
 | 
							  * hw/kdrive/ati/ati_cursor.c: (RadeonLoadCursor),
 | 
				
			||||||
 | 
							  (ATIUnloadCursor), (ATICursorEnable):
 | 
				
			||||||
 | 
							  * hw/kdrive/ati/ati_reg.h:
 | 
				
			||||||
 | 
							  Correct pitch so that accelerator can run on 1400x1050
 | 
				
			||||||
 | 
						  screens.
 | 
				
			||||||
 | 
							  Add a few more register sets for cursors.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-07-19 05:07  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* radeon_composite.c: Add support for a8b8g8r8 and x8b8g8r8
 | 
				
			||||||
 | 
						  pictures, which showed up frequently with metacity usage.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-07-19 04:42  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_cursor.c: Breakage in last commit to this file:
 | 
				
			||||||
 | 
						  pCurPriv->area isn't set up until Enable, these days.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-07-19 04:19  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_draw.c: Set the right number of texture coordinates for r200
 | 
				
			||||||
 | 
						  Render support (still disabled, needs to be tested).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-07-19 04:16  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* r128_composite.c, radeon_composite.c: - Add Radeon picture
 | 
				
			||||||
 | 
						  transform support.  - On R128, don't refer to an old Composite's
 | 
				
			||||||
 | 
						  mask transform when the   current Composite doesn't have a mask.
 | 
				
			||||||
 | 
						  - Staticize some global variables in r128_composite.c.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-07-19 00:53  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati.c, ati.h, ati_cursor.c, ati_draw.c, ati_draw.h: Use the
 | 
				
			||||||
 | 
						  offscreen memory manager as much as possible to do the
 | 
				
			||||||
 | 
						  reservation of memory at startup.  Do some drive-by cleanups
 | 
				
			||||||
 | 
						  while I'm here (sorry!).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-07-19 00:20  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* r128_composite.c: Add support for transforms of textures on R128.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-07-03 03:23  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* r128_composite.c: Clean up Rage 128 composite code.  Now it
 | 
				
			||||||
 | 
						  composites more operations correctly and is simpler.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-06-27 17:48  keithp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati.c, ati.h, ati_cursor.c, ati_draw.c: 2004-06-27  Keith Packard
 | 
				
			||||||
 | 
						   <keithp@keithp.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							  * hw/kdrive/ati/ati.c: (ATICardInit), (ATISetOffscreen),
 | 
				
			||||||
 | 
							  (ATIScreenInit), (ATIRandRSetConfig), (ATIRandRInit),
 | 
				
			||||||
 | 
							  (ATIFinishInitScreen), (ATIEnable):
 | 
				
			||||||
 | 
							  * hw/kdrive/ati/ati.h:
 | 
				
			||||||
 | 
							  * hw/kdrive/ati/ati_cursor.c: (ATICursorInit):
 | 
				
			||||||
 | 
							  * hw/kdrive/ati/ati_draw.c: (RadeonSwitchTo2D),
 | 
				
			||||||
 | 
						  (RadeonSwitchTo3D),
 | 
				
			||||||
 | 
							  (ATIBlockHandler), (ATIWakeupHandler), (ATIDrawEnable),
 | 
				
			||||||
 | 
							  (ATIDrawDisable), (ATIDrawFini):
 | 
				
			||||||
 | 
							  Separate out off-screen allocation from Init.
 | 
				
			||||||
 | 
							  Fix Enable to update off-screen addresses.
 | 
				
			||||||
 | 
							  Wrap RandR to update off-screen addresses.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							  * hw/kdrive/fbdev/fbdev.c: (fbdevMapFramebuffer):
 | 
				
			||||||
 | 
							  Set off_screen_base and memory_size fields correctly.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-06-25 21:13  keithp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati.c, ati_cursor.c, ati_draw.c, ati_reg.h: 2004-06-25  Keith
 | 
				
			||||||
 | 
						  Packard  <keithp@keithp.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							  * hw/kdrive/ati/ati.c: (ATIScreenInit):
 | 
				
			||||||
 | 
							  * hw/kdrive/ati/ati_cursor.c: (ATIMoveCursor),
 | 
				
			||||||
 | 
							  (ClassicAllocCursorColors), (ClassicSetCursorColors),
 | 
				
			||||||
 | 
							  (ClassicRecolorCursor), (ClassicLoadCursor),
 | 
				
			||||||
 | 
						  (RadeonLoadCursor),
 | 
				
			||||||
 | 
							  (ATIRealizeCursor), (ATISetCursor), (ATICursorEnable),
 | 
				
			||||||
 | 
							  (ATIRecolorCursor):
 | 
				
			||||||
 | 
							  * hw/kdrive/ati/ati_draw.c: (ATIDrawFini):
 | 
				
			||||||
 | 
							  * hw/kdrive/ati/ati_reg.h:
 | 
				
			||||||
 | 
							  Add ARGB cursor support for Radeon cards.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-06-10 12:22  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_draw.c: - Pass the right pixel mask (all ones) in to
 | 
				
			||||||
 | 
						  PrepareSolid in the	solid-fill-based composite acceleration.  -
 | 
				
			||||||
 | 
						  Use a real pixmap when doing an UploadToScratch (For
 | 
				
			||||||
 | 
						  pDrawable->type   == DRAWABLE_WINDOW, you need to get the backing
 | 
				
			||||||
 | 
						  pixmap).  - Pass back the x/y offsets from kaaGetOffscreenPixmap
 | 
				
			||||||
 | 
						  unconditionally, because they'll be used in the scratch case.  -
 | 
				
			||||||
 | 
						  Turn on the Render acceleration for Rage 128 and Radeon
 | 
				
			||||||
 | 
						  100-series at   last!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-06-10 02:50  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_draw.c: Align scratch area offsets to the offscreen byte
 | 
				
			||||||
 | 
						  alignment.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-06-10 01:37  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_dma.c: Oops, testers reported that the last patch actually
 | 
				
			||||||
 | 
						  didn't work (conflicts occurred), so the R300 PDMA doesn't work.
 | 
				
			||||||
 | 
						  Disable.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-06-09 22:57  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_dma.c, ati_microcode.c: Bug #242: Fix setup of R300 cards, by
 | 
				
			||||||
 | 
						  providing R300 CP code from volodya-project and initializing
 | 
				
			||||||
 | 
						  PDMA.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-05-17 13:18  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* Makefile.am, ati.c, ati.h, ati_cursor.c, ati_dma.c, ati_dma.h,
 | 
				
			||||||
 | 
						  ati_draw.c, ati_draw.h, ati_dri.c, ati_microcode.c, ati_reg.h,
 | 
				
			||||||
 | 
						  ati_video.c, r128_composite.c, radeon_composite.c: Overhaul of
 | 
				
			||||||
 | 
						  the ATI driver: - Add monochrome hardware cursor support.  - Try
 | 
				
			||||||
 | 
						  to auto-detect AGP support for DRI on Radeons.  And fail.
 | 
				
			||||||
 | 
						  Detect it properly on R128.  - Set up card for pseudo-DMA if
 | 
				
			||||||
 | 
						  possible.  Convert 2D rendering   code to prepare DMA packets
 | 
				
			||||||
 | 
						  only.  Use generic code to decode   DMA packets to MMIO if PDMA
 | 
				
			||||||
 | 
						  is unavailable.  Add WIP code to   support "real" DMA without DRM
 | 
				
			||||||
 | 
						  support.  - Dispatch pending DMA commands when the server sleeps.
 | 
				
			||||||
 | 
						  Otherwise   some things, such as typing in an xterm, wouldn't
 | 
				
			||||||
 | 
						  show up for a   time.  - Fix Radeon Composite acceleration in
 | 
				
			||||||
 | 
						  many ways, and add Rage 128	Composite acceleration.  Disable
 | 
				
			||||||
 | 
						  them both due to   still-not-understood issues they have.  They
 | 
				
			||||||
 | 
						  fail with In, Out,   AtopReverse, and Xor, and text rendering is
 | 
				
			||||||
 | 
						  strange.  - Add textured XV support for R100 and Rage 128.  No
 | 
				
			||||||
 | 
						  brightness/sat   controls, but it does support multiple ports,
 | 
				
			||||||
 | 
						  and cooperates with	Composite.  - Add WIP code for hostdata
 | 
				
			||||||
 | 
						  uploads.  - Many cleanups and fixes.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-01-24 21:31  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_dri.c: Disable GLX visuals code on !GLXEXT, and remove a
 | 
				
			||||||
 | 
						  useless prototype.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-01-24 17:30  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati.c, ati.h, ati_dri.c, radeon_composite.c: - Add glx visuals
 | 
				
			||||||
 | 
						  code based on XFree86's Radeon driver.  - Reserve areas for
 | 
				
			||||||
 | 
						  back/depth/span when USING_DRI && GLXEXT.  This   would be better
 | 
				
			||||||
 | 
						  in a TransitionTo3d, but we'd need to work with   the offscreen
 | 
				
			||||||
 | 
						  memory manager for that.  - Misc. fixes to ati_dri.c for DRI+GLX.
 | 
				
			||||||
 | 
						  Needs more work still.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-01-24 17:16  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_draw.h: Oops, turn fallback output back off.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-01-24 17:04  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_dri.c: Whitespace cleanup.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-01-10 16:10  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_draw.c, r128_blendtmp.h: Support 1x1 repeat sources in R128's
 | 
				
			||||||
 | 
						  Blend.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-01-09 00:43  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati.c, ati.h, ati_draw.c, ati_draw.h, ati_dri.c: Change PCI ID
 | 
				
			||||||
 | 
						  information field to be one of r128, r100, r200, r300.  This is
 | 
				
			||||||
 | 
						  all the information we need so far.  Put that information into
 | 
				
			||||||
 | 
						  atic, and use it correctly in the code (unlike before).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-01-08 12:18  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_draw.c, radeon_composite.c: Compile fixes for non-DRI case
 | 
				
			||||||
 | 
						  and for non-C99 compiler.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-01-08 00:25  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati.c: Forced commit: Previous commit included the removal of the
 | 
				
			||||||
 | 
						  8192 scanline limit on offscreen memory in the fbdev case.  I
 | 
				
			||||||
 | 
						  remember daenzer (who originally put that code in) saying he
 | 
				
			||||||
 | 
						  wasn't sure of it, and there doesn't seem to be any reason for
 | 
				
			||||||
 | 
						  that limit given how acceleration is done.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-01-08 00:16  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati.c, ati.h, ati_draw.c: - Add a new UploadToScratch kaa hook
 | 
				
			||||||
 | 
						  for putting the data for a single   pixmap into temporary
 | 
				
			||||||
 | 
						  offscreen storage.  Subsequent UploadToScratch   may clobber the
 | 
				
			||||||
 | 
						  data of previous ones.  This allows hardware	 acceleration of
 | 
				
			||||||
 | 
						  composite operations on glyphs.  - Add a new UploadToScreen kaa
 | 
				
			||||||
 | 
						  hook for doing the actual moving of	data to framebuffer.  This
 | 
				
			||||||
 | 
						  would allow us to do things like hostdata   blits or memcpy to
 | 
				
			||||||
 | 
						  agp and then blit.  - Add an UploadToScreen on ATI which is just
 | 
				
			||||||
 | 
						  memcpy, but which   will be replaced with a hostdata blit soon.
 | 
				
			||||||
 | 
						  - Add UploadToScratch on ATI and reserve 64k of scratch space.
 | 
				
			||||||
 | 
						  This	 provided a 3x speedup of rgb24text on my Radeon.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-01-06 18:30  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* radeon_composite.c: Speed things up slightly by removing Z values
 | 
				
			||||||
 | 
						  from emitted vertices and by emitting as a tri fan rather than a
 | 
				
			||||||
 | 
						  tri list.  A rect list would save an additional vertex (out of 4)
 | 
				
			||||||
 | 
						  per rectangle, but there's no measurable speed difference and the
 | 
				
			||||||
 | 
						  tri fan may be useful when transforms come into play.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-01-04 12:47  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_draw.c, radeon_composite.c: - Correctly set the texture
 | 
				
			||||||
 | 
						  coordinate set source for the   second texture unit.	- Re-enable
 | 
				
			||||||
 | 
						  Radeon's Composite accel now that fonts work	 again.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2004-01-03 03:46  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_draw.c, radeon_composite.c: - Add more Composite operations,
 | 
				
			||||||
 | 
						  including Saturate, to   Radeon Composite accel.  I don't 100%
 | 
				
			||||||
 | 
						  trust that the math	works for Saturate, but I can't tell from
 | 
				
			||||||
 | 
						  existing information.  - Fix texture pitch fallback checks.  -
 | 
				
			||||||
 | 
						  Fallback when src or mask have transforms.  - Disable Radeon
 | 
				
			||||||
 | 
						  Composite accel until the offset thing is fixed.  - Set
 | 
				
			||||||
 | 
						  offscreenPitch to 64 on Radeon thanks to new information   and a
 | 
				
			||||||
 | 
						  kaa fix.  Fixes acceleration at width!=1024.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2003-12-31 15:24  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* radeon_composite.c: Some strange \240 character snuck into the
 | 
				
			||||||
 | 
						  original commit of this file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2003-12-30 00:45  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_drawtmp.h: There's never a copy between different depths.
 | 
				
			||||||
 | 
						  Remove the check.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2003-12-30 00:23  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* Makefile.am, ati_draw.c, ati_draw.h, ati_drawtmp.h, ati_reg.h,
 | 
				
			||||||
 | 
						  radeon_composite.c: - Add new Composite hook for kdrive drivers,
 | 
				
			||||||
 | 
						  which only ensures that   the pixmaps are offscreen and don't
 | 
				
			||||||
 | 
						  have alpha maps.  It is the	last case checked before going to
 | 
				
			||||||
 | 
						  software fallback - Use the new Composite hook in the ati driver
 | 
				
			||||||
 | 
						  to implement	 acceleration of most Composites that get done in
 | 
				
			||||||
 | 
						  an xcompmgr	environment on r100 series cards.  It is only
 | 
				
			||||||
 | 
						  available when using	 the DRM.  There are still some corruption
 | 
				
			||||||
 | 
						  issues, but the DRI is   still non-default and I need to get this
 | 
				
			||||||
 | 
						  into version control.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2003-12-29 01:04  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* Makefile.am: Add dependency lines so that servers are rebuilt
 | 
				
			||||||
 | 
						  when server libraries are changed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2003-12-28 22:24  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* Makefile.am, ati.c, ati.h, ati_draw.c, ati_draw.h, ati_drawtmp.h,
 | 
				
			||||||
 | 
						  ati_dri.c, ati_dri.h, ati_dripriv.h, ati_reg.h, ati_sarea.h,
 | 
				
			||||||
 | 
						  ati_stub.c, r128_blendtmp.h, r128_common.h, r128_sarea.h,
 | 
				
			||||||
 | 
						  radeon_common.h, radeon_sarea.h: Merge dri-0-1-branch to trunk.
 | 
				
			||||||
 | 
						  Notable changes: - Add libdrm and libdri.  Portions of the DRI
 | 
				
			||||||
 | 
						  extension are stubbed   out.	- Use the DRM in the ATI driver
 | 
				
			||||||
 | 
						  when available.  This provides a   minor performance improvement
 | 
				
			||||||
 | 
						  in x11perf, and opens the possibility   of using the 3d hardware
 | 
				
			||||||
 | 
						  for acceleration in the future.  - Implement solid fill
 | 
				
			||||||
 | 
						  acceleration for Composite in KAA.  - Implement Blend hook for
 | 
				
			||||||
 | 
						  Composite and use it on r128.  - Fix a bug of mine that resulted
 | 
				
			||||||
 | 
						  in overuse of offscreen memory.  - Fix many miscellaneous bugs in
 | 
				
			||||||
 | 
						  ATI driver and add PCI IDs.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2003-12-28 21:10  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_drawtmp.h, r128_blendtmp.h: - Disable libdrm verbosity.  It
 | 
				
			||||||
 | 
						  isn't important enough yet to make   a run-time flag for it.	-
 | 
				
			||||||
 | 
						  Fix the (void)atic; tricks to quiet unused variable warnings in
 | 
				
			||||||
 | 
						  ATI template files.  Mixing statements and variable defines works
 | 
				
			||||||
 | 
						  in newer compilers, but not pdx's.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2003-12-28 01:16  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati.h, ati_draw.c, ati_draw.h, ati_drawtmp.h, ati_dri.c,
 | 
				
			||||||
 | 
						  r128_blendtmp.h: - Allow acceleration between same-depth pixmaps,
 | 
				
			||||||
 | 
						  rather than between	anything and a dst that matched the screen
 | 
				
			||||||
 | 
						  depth (fixes corruption   for non-screen-depth src and makes more
 | 
				
			||||||
 | 
						  acceleration possible).  - Add ATI_FALLBACK macro and use it to
 | 
				
			||||||
 | 
						  allow verbose descriptions of   why hardware acceleration fails.
 | 
				
			||||||
 | 
						  - Check that src and dst alignment meet requirements of the card
 | 
				
			||||||
 | 
						  before accelerating.  The BIOS may set up screens that don't
 | 
				
			||||||
 | 
						  meet	 the requirements.  - Fix the R128 offset alignment (32
 | 
				
			||||||
 | 
						  bytes, not 8).  - Enable Blend operation even if screen is 24bpp
 | 
				
			||||||
 | 
						  (it will fail if the	 dest is 24bpp anyway).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2003-12-27 02:46  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_reg.h, r128_blendtmp.h: Properly initialize texture registers
 | 
				
			||||||
 | 
						  in Blend.  Fixes problems with blending code such as whiteness in
 | 
				
			||||||
 | 
						  test-render, or no blending at all.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						  Tested by:	  andersca
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2003-12-23 14:29  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* Makefile.am, ati_draw.c, ati_drawtmp.h, ati_reg.h,
 | 
				
			||||||
 | 
						  r128_blendtmp.h: - Implement acceleration of Composite on R128
 | 
				
			||||||
 | 
						  when there is no mask,   no transformation, no repeat, and only
 | 
				
			||||||
 | 
						  certain ops are used.  - Add debugging output for software
 | 
				
			||||||
 | 
						  fallbacks for Composite.  - Allow pixmaps in offscreen that don't
 | 
				
			||||||
 | 
						  match root depth.  - Clean up some mess in ati_reg.h.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						  Many thanks to andersca for a lot of this code.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2003-12-09 21:01  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_draw.c: Add missing kaaDrawFini to ATI driver.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2003-12-01 14:56  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* Makefile.am, ati.c, ati.h, ati_draw.c, ati_draw.h, ati_drawtmp.h,
 | 
				
			||||||
 | 
						  ati_dri.c, ati_dri.h, ati_dripriv.h, ati_reg.h, ati_sarea.h,
 | 
				
			||||||
 | 
						  ati_stub.c, r128_common.h, r128_sarea.h, radeon_common.h,
 | 
				
			||||||
 | 
						  radeon_sarea.h: - Initial add of enough of the DRI to create a 2d
 | 
				
			||||||
 | 
						  driver that uses   the DRM for its acceleration.  - Converted the
 | 
				
			||||||
 | 
						  ATI driver to use the DRM to execute rendering   commands using
 | 
				
			||||||
 | 
						  DMA instead of MMIO when available.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2003-11-30 20:33  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* Makefile.am, ati.c, ati.h, ati_stub.c: - Add fbdev mode-setting
 | 
				
			||||||
 | 
						  backend to Xati.  It and vesa are compiled   in when available,
 | 
				
			||||||
 | 
						  with fbdev being used by default.  - Use depth 16 by default when
 | 
				
			||||||
 | 
						  vesa backend is used.  - Add MMIO defines for PowerPC (should be
 | 
				
			||||||
 | 
						  in a common location).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						  Many thanks for Michel Daenzer for much of this code.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2003-11-30 19:15  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati.c: Add more RV250 PCI IDs.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2003-11-30 17:46  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_draw.c: Remove sys/io.h inclusion from some files that didn't
 | 
				
			||||||
 | 
						  need it, and change asm/io.h to sys/io.h in vga.c, which newer
 | 
				
			||||||
 | 
						  Linux complains about.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2003-11-25 14:39  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati.c: Add new Radeon 9200 PCI IDs.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2003-11-23 02:12  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati_draw.c: - Fix Radeon offscreen pixmap pitch alignment.  -
 | 
				
			||||||
 | 
						  Remove usleeps from idle and waitavail code, recommended by
 | 
				
			||||||
 | 
						  keithp.  - Add a workaround for apparent broken acceleration with
 | 
				
			||||||
 | 
						  Rage 128 and	 offset alignment with 8-bit acceleration (24-hack
 | 
				
			||||||
 | 
						  and plain 8-bit).  - Minor cleanup of setup code.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2003-11-22 18:08  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati.c: Add RV250 PCI IDs.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2003-11-19 23:49  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati.c, ati.h, ati_draw.c, ati_reg.h: - Fix a bug in pitch
 | 
				
			||||||
 | 
						  alignment for offscren pixmaps.  - Add 24-bit acceleration for
 | 
				
			||||||
 | 
						  Xati using the 8-bit trick from mach64.  - Add offscreen pixmap
 | 
				
			||||||
 | 
						  support to Xati.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2003-11-19 16:05  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* ati.c, ati_draw.c: - Fix confusion of depth/bitsPerPixel in
 | 
				
			||||||
 | 
						  ati_draw.c - Disable acceleration with 24bpp due to apparent
 | 
				
			||||||
 | 
						  broken acceleration.	  Accel at 24bpp was the cause of the
 | 
				
			||||||
 | 
						  crashes when people tried to use    any depth over 16.  XFree86
 | 
				
			||||||
 | 
						  doesn't support 24 either.  - Disable at < 8bpp, too.  - Add the
 | 
				
			||||||
 | 
						  other Rage 128 PCI IDs.  - Remove unnecessary setting of scissor
 | 
				
			||||||
 | 
						  registers (only default   scissor gets used).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2003-11-19 00:32  anholt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* .cvsignore, Makefile.am, ati.c, ati.h, ati_draw.c, ati_reg.h,
 | 
				
			||||||
 | 
						  ati_stub.c: - Add PCI information (device/vendor id, bus
 | 
				
			||||||
 | 
						  location) to KdCardAttr   to help with ati, and future DRM
 | 
				
			||||||
 | 
						  drivers.  - Add new "ati" kdrive driver.  It has ancestry in the
 | 
				
			||||||
 | 
						  r128 driver	from andersca, but took a detour through being the
 | 
				
			||||||
 | 
						  WIP SiS 300	driver on the way.  It supports Radeons (tested on
 | 
				
			||||||
 | 
						  QD VIVO and 7500)   and Rage 128.  Current limitations include
 | 
				
			||||||
 | 
						  that it requires depth 16   and that the other Rage 128 PCI IDs
 | 
				
			||||||
 | 
						  aren't included yet.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -282,6 +282,10 @@
 | 
				
			||||||
#define R128_REG_PM4_MICRO_CNTL			0x07fc
 | 
					#define R128_REG_PM4_MICRO_CNTL			0x07fc
 | 
				
			||||||
# define R128_PM4_MICRO_FREERUN			(1 << 30)
 | 
					# define R128_PM4_MICRO_FREERUN			(1 << 30)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define RADEON_TV_MASTER_CNTL                    0x0800
 | 
				
			||||||
 | 
					# define RADEON_TV_MACROVISION			(1 << 5)
 | 
				
			||||||
 | 
					# define RADEON_TVCLK_ALWAYS_ON           	(1 << 30)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define R128_REG_BM_CHUNK_0_VAL			0x0a18
 | 
					#define R128_REG_BM_CHUNK_0_VAL			0x0a18
 | 
				
			||||||
# define R128_BM_PTR_FORCE_TO_PCI		(1 << 21)
 | 
					# define R128_BM_PTR_FORCE_TO_PCI		(1 << 21)
 | 
				
			||||||
# define R128_BM_PM4_RD_FORCE_TO_PCI		(1 << 22)
 | 
					# define R128_BM_PM4_RD_FORCE_TO_PCI		(1 << 22)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -302,6 +302,7 @@ KdEnableScreen (ScreenPtr pScreen)
 | 
				
			||||||
	if (!(*pScreenPriv->card->cfuncs->enable) (pScreen))
 | 
						if (!(*pScreenPriv->card->cfuncs->enable) (pScreen))
 | 
				
			||||||
	    return FALSE;
 | 
						    return FALSE;
 | 
				
			||||||
    pScreenPriv->enabled = TRUE;
 | 
					    pScreenPriv->enabled = TRUE;
 | 
				
			||||||
 | 
					    pScreenPriv->dpmsState = KD_DPMS_NORMAL;
 | 
				
			||||||
    pScreenPriv->card->selected = pScreenPriv->screen->mynum;
 | 
					    pScreenPriv->card->selected = pScreenPriv->screen->mynum;
 | 
				
			||||||
    KdOffscreenSwapIn (pScreen);    
 | 
					    KdOffscreenSwapIn (pScreen);    
 | 
				
			||||||
    if (!pScreenPriv->screen->softCursor && pScreenPriv->card->cfuncs->enableCursor)
 | 
					    if (!pScreenPriv->screen->softCursor && pScreenPriv->card->cfuncs->enableCursor)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue