Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
Move I2CBus functions.
|
|
Move Init/Free functions.
|
|
half the
current values. EXA hits these limits for some operations on offscreen pixmaps
and GTPRO seems to support the reduced signed limits.
|
|
Remove superflous MMIO cache test. Also, move the test for Block1Base outside
TestRegisterCachingXV() (for scaler and overlay registers) in preperation for
caching some 3D registers as well.
|
|
EXA hits more optimized paths when it does not have to fallback because of
missing UTS/DFS.
|
|
This also removes the left-over inw Donnie Berkholz uncovered again :)
|
|
This makes sure that EXA has been notified that we have synced, avoiding
excessive WaitMarker() calls (as per EXA documentation).
|
|
framebuffer
caching for CPU reads. Also, factor out to an inline function the code to
test register caching.
|
|
copy
operation to commit (bug 807, Ivor Hewitt ivor@ivor.org, Marc Aurele La France).
Explicitely sync at the end of a copy operation.
|
|
Ivor Hewitt
ivor@ivor.org, Marc Aurele La France).
The problem shows itself when scaling a 1 pixel wide pixmap onto the screen,
the first CPU read of the framebuffer will return stale data.
Always invalidate the read-back (or read buffer) cache in ATIMach64Sync().
This bug always manifests itself in RENDER with EXA:
RENDER commonly uses 1x1 repeating pictures in composite operations. In some
cases it is possible to reduce the composite operation with 1x1 repeating
pictures to a solid operation. This solid operation gets accelerated and when
the pixmap is read back from the framebuffer corruption appears.
With this patch, mach64 EXA passes rendercheck.
|
|
Ivor Hewitt
ivor@ivor.org, Marc Aurele La France).
The problem shows itself when scaling a 1 pixel wide pixmap onto the screen,
the first CPU read of the framebuffer will return stale data.
Add support for manipulating the MEM_BUF_CNTL register and invalidating the
read-back (or read buffer) cache.
|
|
This fixes a bug where the cursor whould flicker when moved over DRI clients
and the area below the cursor would seem like remembering the previous frame.
Fix copied from radeon driver (Michel Daenzer).
|
|
This is desirable in a number of situations, in particular when running
a GLX compositing manager with AIGLX.
Fix copied from radeon driver (Michel Daenzer, Kristian Hoegsberg).
|
|
|
|
|
|
This case comes up with the "smart" migration scheme and requires to set the
DP_PIX_WIDTH register to the depth of the pixmap.
|
|
When mapping MMIO, we now go back to testing both the end of 8 and 4MB
apertures, and we stop touching CONFIG_CNTL before MMIO is mapped.
(reported by Donnie Berkholz)
|
|
|
|
|
|
|
|
|
|
appearance of BAR2 at VT into account.
|
|
|
|
|
|
Less than ideal currently, but end point is proper failure when first BAR
isn't useful.
|
|
|
|
|
|
|
|
|
|
From nobody Mon Sep 17 00:00:00 2001
From: George Fufutos <fufutos610@hotmail.com>
Date: Thu Apr 20 03:51:18 2006 +0300
Subject: [PATCH] Move ATIInitializeXVideo to atimach64xv.c .
---
src/Makefile.am | 3 +-
src/atimach64xv.c | 51 +++++++++++++++++++++++++++++++++
src/atimach64xv.h | 2 +
src/atipreinit.c | 2 +
src/atiscreen.c | 6 ++--
src/atixv.c | 81 -----------------------------------------------------
src/atixv.h | 34 ----------------------
7 files changed, 58 insertions(+), 121 deletions(-)
delete mode 100644 src/atixv.c
delete mode 100644 src/atixv.h
61013bf6da0159776d349ca78d6e0076d2fded3e
diff --git a/src/Makefile.am b/src/Makefile.am
index 2c5f122..9c8304a 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -53,7 +53,7 @@ mach64_drv_la_SOURCES = \
atidecoder.c atidsp.c atii2c.c atilock.c atimach64.c atimach64accel.c \
atimach64cursor.c atimach64i2c.c atimach64io.c atimach64xv.c \
atimode.c atipreinit.c atiprint.c atirgb514.c atiscreen.c \
- atituner.c atiutil.c ativalid.c atixv.c atiload.c ati.c \
+ atituner.c atiutil.c ativalid.c atiload.c ati.c \
$(ATIMISC_DRI_SRCS) $(ATIMISC_DGA_SOURCES) $(ATI_CPIO_SOURCES) \
$(ATIMISC_EXA_SOURCES)
@@ -102,7 +102,6 @@ EXTRA_DIST = \
atividmem.h \
atiwonder.h \
atiwonderio.h \
- atixv.h \
mach64_common.h \
mach64_dri.h \
mach64_sarea.h
diff --git a/src/atimach64xv.c b/src/atimach64xv.c
index 9a3d034..5309ce6 100644
--- a/src/atimach64xv.c
+++ b/src/atimach64xv.c
@@ -1513,6 +1513,27 @@ (
}
/*
+ * ATIXVFreeAdaptorInfo --
+ *
+ * Free XVideo adaptor information.
+ */
+static void
+ATIXVFreeAdaptorInfo
+(
+ XF86VideoAdaptorPtr *ppAdaptor,
+ int nAdaptor
+)
+{
+ if (!ppAdaptor)
+ return;
+
+ while (nAdaptor > 0)
+ xfree(ppAdaptor[--nAdaptor]);
+
+ xfree(ppAdaptor);
+}
+
+/*
* ATIXVPreInit --
*
* This function is called by ATIPreInit() to set up the environment required
@@ -1531,6 +1552,36 @@ #ifndef AVOID_CPIO
#endif /* AVOID_CPIO */
(void)xf86XVRegisterGenericAdaptorDriver(ATIMach64XVInitialiseAdaptor);
+}
+
+/*
+ * ATIInitializeXVideo --
+ *
+ * This function is called to initialise XVideo extension support on a screen.
+ */
+Bool
+ATIInitializeXVideo
+(
+ ScreenPtr pScreen,
+ ScrnInfoPtr pScreenInfo,
+ ATIPtr pATI
+)
+{
+ XF86VideoAdaptorPtr *ppAdaptor;
+ int nAdaptor;
+ Bool result;
+
+ if (!(pScreenInfo->memPhysBase = pATI->LinearBase))
+ return FALSE;
+
+ pScreenInfo->fbOffset = 0;
+
+ nAdaptor = xf86XVListGenericAdaptors(pScreenInfo, &ppAdaptor);
+ result = xf86XVScreenInit(pScreen, ppAdaptor, nAdaptor);
+
+ ATIXVFreeAdaptorInfo(ppAdaptor, nAdaptor);
+
+ return result;
}
/*
diff --git a/src/atimach64xv.h b/src/atimach64xv.h
index bed7048..6aaed2f 100644
--- a/src/atimach64xv.h
+++ b/src/atimach64xv.h
@@ -29,6 +29,8 @@ #include "atipriv.h"
#include "xf86str.h"
#include "xf86xv.h"
+extern void ATIXVPreInit(ATIPtr);
+extern Bool ATIInitializeXVideo(ScreenPtr, ScrnInfoPtr, ATIPtr);
extern void ATIMach64CloseXVideo(ScreenPtr, ScrnInfoPtr, ATIPtr);
#endif /* ___ATIMACH64XV_H___ */
diff --git a/src/atipreinit.c b/src/atipreinit.c
index 6297c5f..f334b27 100644
--- a/src/atipreinit.c
+++ b/src/atipreinit.c
@@ -46,12 +46,12 @@ #include "atimach64.h"
#include "atimach64accel.h"
#include "atimach64cursor.h"
#include "atimach64io.h"
+#include "atimach64xv.h"
#include "atimode.h"
#include "atipreinit.h"
#include "atiprint.h"
#include "atividmem.h"
#include "atiwonderio.h"
-#include "atixv.h"
#include "vbe.h"
#include "xf86RAC.h"
diff --git a/src/atiscreen.c b/src/atiscreen.c
index 05fb43c..537622f 100644
--- a/src/atiscreen.c
+++ b/src/atiscreen.c
@@ -39,12 +39,12 @@ #include "atidac.h"
#include "atidga.h"
#include "atidri.h"
#include "atimach64.h"
+#include "atimach64accel.h"
+#include "atimach64cursor.h"
+#include "atimach64xv.h"
#include "atimode.h"
#include "atiscreen.h"
#include "atistruct.h"
-#include "atixv.h"
-#include "atimach64accel.h"
-#include "atimach64cursor.h"
#ifdef XF86DRI_DEVEL
#include "mach64_dri.h"
diff --git a/src/atixv.c b/src/atixv.c
deleted file mode 100644
index bd0cb83..0000000
--- a/src/atixv.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/atixv.c,v 1.5 2003/04/25 04:09:54 tsi Exp $ */
-/*
- * Copyright 2001 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting documentation, and
- * that the name of Marc Aurele La France not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission. Marc Aurele La France makes no representations
- * about the suitability of this software for any purpose. It is provided
- * "as-is" without express or implied warranty.
- *
- * MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO
- * EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR
- * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
- * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "atimach64xv.h"
-#include "atistruct.h"
-#include "atixv.h"
-
-/*
- * ATIXVFreeAdaptorInfo --
- *
- * Free XVideo adaptor information.
- */
-static void
-ATIXVFreeAdaptorInfo
-(
- XF86VideoAdaptorPtr *ppAdaptor,
- int nAdaptor
-)
-{
- if (!ppAdaptor)
- return;
-
- while (nAdaptor > 0)
- xfree(ppAdaptor[--nAdaptor]);
-
- xfree(ppAdaptor);
-}
-
-/*
- * ATIInitializeXVideo --
- *
- * This function is called to initialise XVideo extension support on a screen.
- */
-Bool
-ATIInitializeXVideo
-(
- ScreenPtr pScreen,
- ScrnInfoPtr pScreenInfo,
- ATIPtr pATI
-)
-{
- XF86VideoAdaptorPtr *ppAdaptor;
- int nAdaptor;
- Bool result;
-
- if (!(pScreenInfo->memPhysBase = pATI->LinearBase))
- return FALSE;
-
- pScreenInfo->fbOffset = 0;
-
- nAdaptor = xf86XVListGenericAdaptors(pScreenInfo, &ppAdaptor);
- result = xf86XVScreenInit(pScreen, ppAdaptor, nAdaptor);
-
- ATIXVFreeAdaptorInfo(ppAdaptor, nAdaptor);
-
- return result;
-}
diff --git a/src/atixv.h b/src/atixv.h
deleted file mode 100644
index fe5d119..0000000
--- a/src/atixv.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/atixv.h,v 1.4 2003/04/23 21:51:31 tsi Exp $ */
-/*
- * Copyright 2001 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting documentation, and
- * that the name of Marc Aurele La France not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission. Marc Aurele La France makes no representations
- * about the suitability of this software for any purpose. It is provided
- * "as-is" without express or implied warranty.
- *
- * MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO
- * EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR
- * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
- * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
-
-#ifndef ___ATIXV_H___
-#define ___ATIXV_H___ 1
-
-#include "atipriv.h"
-
-#include "xf86str.h"
-
-extern void ATIXVPreInit(ATIPtr);
-extern Bool ATIInitializeXVideo(ScreenPtr, ScrnInfoPtr, ATIPtr);
-
-#endif /* ___ATIXV_H___ */
--
1.3.0.rc3.g944e-dirty
|
|
|
|
|
|
We can get to MMIO on the GX as well, even when it's not primary. So assume
that we can always map the IO area.
|
|
|
|
|
|
|
|
along with memory manager setup for XAA with DRI.
|
|
it static. It is only used by XV memory management functions.
|
|
|
|
- chip version on the basis of revision -> Mach64ChipRevisionId.
- Bus checking -> Mach64BusType.
- LCDVBlendFIFOSize -> Mach64PanelInfoGet.
|
|
functions.
|
|
|
|
|
|
If we don't have PCIInfo, then we shouldn't have progressed beyond Probe in the
first place.
|
|
((pATI->Chip < ATI_CHIP_264CT) && pATI->IsVGA).
|
|
IsVGAWonder instead.
Move CPIOBase resource claim next to the retrieval of the address.
|
|
when i made the leap to clean Probe. Proper fixed resource handling needs to be
moved into Probe again though.
|
|
|