summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu@cvs.openbsd.org>2009-06-27 10:11:48 +0000
committerMatthieu Herrb <matthieu@cvs.openbsd.org>2009-06-27 10:11:48 +0000
commit28b4c1e6734574bd7f1d43c63a7c96d73f6b0b20 (patch)
treea2e3a9c82c93344c316ba41680153646badf0755
parent2698bb4117a8b693700a1d8c1589fbd68db4432d (diff)
update to svn revision 753. This includes a few bug fixes that
make EXA work on my Chrome9 HC3 IGP. ok oga@
-rw-r--r--driver/xf86-video-openchrome/src/via_accel.c2
-rw-r--r--driver/xf86-video-openchrome/src/via_regs.h53
-rw-r--r--driver/xf86-video-openchrome/src/via_video.c1
-rw-r--r--driver/xf86-video-openchrome/src/via_xvmc.c3
4 files changed, 5 insertions, 54 deletions
diff --git a/driver/xf86-video-openchrome/src/via_accel.c b/driver/xf86-video-openchrome/src/via_accel.c
index e6205de36..ce0a96396 100644
--- a/driver/xf86-video-openchrome/src/via_accel.c
+++ b/driver/xf86-video-openchrome/src/via_accel.c
@@ -2060,7 +2060,7 @@ viaExaCheckComposite(int op, PicturePtr pSrcPicture,
pMaskPicture->pDrawable->height < VIA_MIN_COMPOSITE)
return FALSE;
- if (pMaskPicture->repeat != RepeatNormal)
+ if (pMaskPicture && pMaskPicture->repeat != RepeatNormal)
return FALSE;
if (pMaskPicture && pMaskPicture->componentAlpha) {
diff --git a/driver/xf86-video-openchrome/src/via_regs.h b/driver/xf86-video-openchrome/src/via_regs.h
index 268293f32..aac4746e6 100644
--- a/driver/xf86-video-openchrome/src/via_regs.h
+++ b/driver/xf86-video-openchrome/src/via_regs.h
@@ -130,42 +130,6 @@
#define VIA_REG_ALPHA_FIFO 0x278
#define VIA_REG_ALPHA_TRANSKEY 0x270
-
-/* These regs move about on diffrent hw */
-#define VIA_REG_HI_CONTROL1 VIA_REG_ALPHA_CONTROL
-#define VIA_REG_HI_BASE1 VIA_REG_ALPHA_BASE
-#define VIA_REG_HI_POS1 VIA_REG_ALPHA_POS
-#define VIA_REG_HI_OFFSET1 VIA_REG_ALPHA_OFFSET
-#define VIA_REG_HI_FIFO1 VIA_REG_ALPHA_FIFO
-#define VIA_REG_HI_TRANSKEY1 VIA_REG_ALPHA_TRANSKEY
-
-/* Note that Hardware Icon and Alpha Window overlap */
-#define VIA_REG_ALPHA_CONTROL 0x260
-#define VIA_REG_ALPHA_BASE 0x224
-#define VIA_REG_ALPHA_POS 0x208
-#define VIA_REG_ALPHA_OFFSET 0x20C
-#define VIA_REG_ALPHA_PREFIFO 0x268
-#define VIA_REG_ALPHA_FIFO 0x278
-#define VIA_REG_ALPHA_TRANSKEY 0x270
-
-
-/* These regs move about on diffrent hw */
-#define VIA_REG_HI_CONTROL1 VIA_REG_ALPHA_CONTROL
-#define VIA_REG_HI_BASE1 VIA_REG_ALPHA_BASE
-#define VIA_REG_HI_POS1 VIA_REG_ALPHA_POS
-#define VIA_REG_HI_OFFSET1 VIA_REG_ALPHA_OFFSET
-#define VIA_REG_HI_FIFO1 VIA_REG_ALPHA_FIFO
-#define VIA_REG_HI_TRANSKEY1 VIA_REG_ALPHA_TRANSKEY
-
-/* Note that Hardware Icon and Alpha Window overlap */
-#define VIA_REG_ALPHA_CONTROL 0x260
-#define VIA_REG_ALPHA_BASE 0x224
-#define VIA_REG_ALPHA_POS 0x208
-#define VIA_REG_ALPHA_OFFSET 0x20C
-#define VIA_REG_ALPHA_PREFIFO 0x268
-#define VIA_REG_ALPHA_FIFO 0x278
-#define VIA_REG_ALPHA_TRANSKEY 0x270
-
/* secret regs */
#define VIA_REG_HI_CONTROL0 0x2F0
#define VIA_REG_HI_BASE0 0x2F4
@@ -174,23 +138,6 @@
#define VIA_REG_HI_FIFO0 0x2E8
#define VIA_REG_HI_TRANSKEY0 0x2EC
-/* These regs move about on diffrent hw */
-#define VIA_REG_HI_CONTROL1 VIA_REG_ALPHA_CONTROL
-#define VIA_REG_HI_BASE1 VIA_REG_ALPHA_BASE
-#define VIA_REG_HI_POS1 VIA_REG_ALPHA_POS
-#define VIA_REG_HI_OFFSET1 VIA_REG_ALPHA_OFFSET
-#define VIA_REG_HI_FIFO1 VIA_REG_ALPHA_FIFO
-#define VIA_REG_HI_TRANSKEY1 VIA_REG_ALPHA_TRANSKEY
-
-/* Note that Hardware Icon and Alpha Window overlap */
-#define VIA_REG_ALPHA_CONTROL 0x260
-#define VIA_REG_ALPHA_BASE 0x224
-#define VIA_REG_ALPHA_POS 0x208
-#define VIA_REG_ALPHA_OFFSET 0x20C
-#define VIA_REG_ALPHA_PREFIFO 0x268
-#define VIA_REG_ALPHA_FIFO 0x278
-#define VIA_REG_ALPHA_TRANSKEY 0x270
-
/*CN400 and older Hardware Icon engine register*/
#define VIA_REG_HI_POSSTART 0x208
#define VIA_REG_HI_CENTEROFFSET 0x20C
diff --git a/driver/xf86-video-openchrome/src/via_video.c b/driver/xf86-video-openchrome/src/via_video.c
index 6b3439a30..af632b473 100644
--- a/driver/xf86-video-openchrome/src/via_video.c
+++ b/driver/xf86-video-openchrome/src/via_video.c
@@ -599,6 +599,7 @@ viaInitVideo(ScreenPtr pScreen)
xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
"[Xv] Unsupported Chipset. X video functionality disabled.\n");
num_adaptors = 0;
+ memset(viaAdaptPtr, 0, sizeof(viaAdaptPtr));
}
DBG_DD(ErrorF(" via_video.c : num_adaptors : %d\n", num_adaptors));
diff --git a/driver/xf86-video-openchrome/src/via_xvmc.c b/driver/xf86-video-openchrome/src/via_xvmc.c
index 2fbbd9e4c..082e7ab75 100644
--- a/driver/xf86-video-openchrome/src/via_xvmc.c
+++ b/driver/xf86-video-openchrome/src/via_xvmc.c
@@ -412,6 +412,9 @@ ViaCleanupXVMC(ScrnInfoPtr pScrn, XF86VideoAdaptorPtr * XvAdaptors,
cleanupViaXvMC(vXvMC, XvAdaptors, XvAdaptorCount);
}
for (i = 0; i < XvAdaptorCount; ++i) {
+ if (!XvAdaptors[i])
+ continue;
+
for (j = 0; j < XvAdaptors[i]->nPorts; ++j) {
viaPortPrivPtr pPriv = XvAdaptors[i]->pPortPrivates[j].ptr;