Commit Graph

380 Commits

Author SHA1 Message Date
Eric Anholt
a973af4a9a Remove an unused field. 2005-01-27 03:50:48 +00:00
Keith Packard
8813898ef6 Fix R100 text by forcing the 3d engine to idle before executing more 3d
commands. Add docs for the ISYNC_CNTL register, which doesn't quite do
    what we want.
2005-01-25 06:04:21 +00:00
Eric Anholt
33155b4fd3 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-25 03:37:05 +00:00
Keith Packard
3b1f1508b1 Add tracing. Hack Radeon cache registers to use 3D addresses. Works on M6 2005-01-25 02:39:48 +00:00
Eric Anholt
6eaca06dac Fix a leak of a region when the driver's CheckComposite fails. 2005-01-25 01:40:18 +00:00
Eric Anholt
8a1bee8ea9 Silence a warning about uninitialized variable (though it would be). 2005-01-25 01:38:26 +00:00
Keith Packard
d7263b11f0 Reinitialize offscreen memory before enabling cursor on VT switch-to 2005-01-20 20:51:27 +00:00
Eric Anholt
13c6b2f0b6 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-20 16:22:04 +00:00
Eric Anholt
dbe45c7159 Use RadeonSwitchTo3D() instead of doing the WAIT_UNTIL ourselves (RST3D()
also does DC_FLUSH, which may be important).
2005-01-20 07:28:02 +00:00
Eric Anholt
fc43c15494 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-20 07:09:00 +00:00
Eric Anholt
7775506534 Make R200 PDMA work -- primary queue sizes are now 9 bits, not 8. 2005-01-20 01:09:48 +00:00
Keith Packard
ff433adba3 Prefer 32bpp to 24bpp. Fix 16 color planar mode (!) 2005-01-19 06:35:28 +00:00
Eric Anholt
106703edf6 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-22 18:39:41 +00:00
Eric Anholt
fa0677ab43 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 09:51:47 +00:00
Eric Anholt
4b0247b9e0 Whitespace nit. 2004-12-21 09:49:30 +00:00
Matthew Allum
47935dd7f0 Xephyr on Xorg fix 2004-12-06 22:29:31 +00:00
Phil Blundell
2620676306 Patch from Florian Boor <florian.boor@kernelconcepts.de>:
Check return value from ts_config. (TslibInit): Likewise.
2004-12-01 19:43:29 +00:00
Phil Blundell
df2f2ff5a4 Re-read "fix" structure from kernel after mode selection, in case line
pitch has changed.
2004-11-28 23:20:17 +00:00
Matthew Allum
2b75c19ea2 minor Xephyr fix 2004-11-24 17:50:50 +00:00
Matthew Allum
a96254234f XEphyr -parent switch fixes 2004-11-24 17:08:06 +00:00
Phil Blundell
636a9e7868 Don't leave stale pointers hanging around after ts_close(). (TslibFini):
Likewise.
2004-11-13 18:03:16 +00:00
Phil Blundell
36d9e01c0d New global variable. (KdProcessArgument): Set it to TRUE on -nozap switch.
(KdUseMsg): Add help for -nozap and -rgba switches.
Declare.
Honour dontZap flag.
2004-11-13 16:41:00 +00:00
Matthew Allum
d7f46f71d8 Xephyr grab fix 2004-11-11 14:55:30 +00:00
Matthew Allum
50cdff7ee2 Xephyr improvements 2004-11-09 11:36:49 +00:00
Matthew Allum
81a3b6fe27 Add support to Xephyr for lower depths than hosts 2004-11-08 22:39:47 +00:00
Phil Blundell
e0cc487149 Add epson.
Build Makefile in hw/kdrive/epson.
2004-10-20 18:06:58 +00:00
Phil Blundell
258c9016a0 Block SIGIO before disabling input fds. (KdEnableInput): Unblock it after
enabling them again.
2004-10-20 18:02:32 +00:00
Phil Blundell
cbd5fbcb7e Import Epson 13806 driver from Costas Stylianou:
New files.
2004-10-20 08:20:51 +00:00
Eric Anholt
b600fcda38 Fix the R200 Render code. Composite and Trapezoids are now supported just
as well as on R100.
2004-09-20 03:12:00 +00:00
Eric Anholt
90ff3688cd Unbreak the AGP DRI case. That was quite a pile of broken code. 2004-09-19 10:57:31 +00:00
Phil Blundell
0d95bdfbab Only set screen parameters if resolution has changed from current values.
Patch from scoony@noos.fr.
2004-09-14 23:08:10 +00:00
Eric Anholt
ba3b6fd23b 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-14 06:26:54 +00:00
Eric Anholt
80dc84d067 - 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 23:22:31 +00:00
Eric Anholt
ab50679aab Fix a bad argument missed in the previous commit for ATIDRIDMA* functions. 2004-09-12 23:01:24 +00:00
Eric Anholt
2d069b1d19 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 22:21:12 +00:00
Eric Anholt
27b5a65f05 Reset the CCE/CP on engine reset, and make the ATIDRIDMA functions take a
more useful argument.
2004-09-12 20:31:39 +00:00
Eric Anholt
fcd52d276f Add missing kaa.h include for kaaInitTrapOffsets. 2004-09-12 20:19:15 +00:00
Eric Anholt
b5d406e8c8 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 20:02:10 +00:00
Eric Anholt
7cab70d1cb 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-12 19:52:51 +00:00
Eric Anholt
0cd662ea80 - 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-09-11 09:28:19 +00:00
Eric Anholt
396100dd23 - Don't require Imrecise mode for Trapezoid acceleration. It looks like we
might be able to do Precise in hardware, so leave it up to the driver.
- Add a helper function for computing a set of offsets for smooth trapezoid
    rasterizing using many sharp trapezoids.
2004-09-11 09:23:12 +00:00
Matthew Allum
501dcf37aa cursor fixes 2004-09-08 11:31:49 +00:00
Matthew Allum
20918ab480 avoid ephyr breakage when tslib enabled 2004-09-07 19:00:04 +00:00
Matthew Allum
8bf6ea903b fixes to Xephyr debug mode 2004-09-07 12:44:19 +00:00
Matthew Allum
2753c8e2c8 see changelog 2004-09-01 15:30:58 +00:00
Matthew Allum
7c0aaa53bf '-dpi' fixes for Xephyr 2004-09-01 11:13:36 +00:00
Matthew Allum
16ff3a8727 Actuall select events for -parent option 2004-09-01 08:31:20 +00:00
Matthew Allum
2d065c4c33 Added ephyr server sources 2004-08-31 16:33:05 +00:00
Eric Anholt
6ec9ecd591 Add a set of three hooks for accelerating trapezoids, and use it for the
RasterizeTrapezoid screen function. These hooks will be called for
    imprecise, non-sharp trapezoids with A8 destinations.
Note that the current main consumer of trapezoids, cairo, is requesting
    precise, sharp trapezoids by not changing the default Picture
    attributes, but gets non-sharp effects in software because fb bases its
    choice of sharp/non-sharp on the mask format being A8 vs A1, and cairo
    asks for A8. Follow fb's (poor?) example by ignoring the sharp setting
    and basing the choice off of the mask being A8.
2004-08-30 22:16:46 +00:00
Eric Anholt
ccaf332ce3 Rather than initially place pixmaps in framebuffer based on a size
heuristic, delay the decision until the first
    kaaPixmapUse{Screen|Memory}, and put it in framebuffer if UseScreen was
    called. Provides a significant improvement in cairo speeds (100%
    speedup in cairogears here) and is likely to improve text performance
    as well.
2004-08-30 16:43:10 +00:00