summaryrefslogtreecommitdiff
path: root/driver/xf86-video-intel/src/i915_video.c
diff options
context:
space:
mode:
authorOwain Ainsworth <oga@cvs.openbsd.org>2011-11-29 12:39:04 +0000
committerOwain Ainsworth <oga@cvs.openbsd.org>2011-11-29 12:39:04 +0000
commitc2c12b91aa8ce17ebc41929142803a0c4ccac20d (patch)
treee53e5be67ebf6695aed2b89659c4eb36db02de30 /driver/xf86-video-intel/src/i915_video.c
parent40e8fc6d789367334ea8d8eeaf00f5f749b81f95 (diff)
Update the intel driver to a more recent version based on more recent
upsteam code. Backporting keeping UMS changes by me, some bugfixes from kettenis@. Has been in snapshots for a while, committed on request so we can be sure what people are running. This is a prerequesite for sandybridge support but has those chipsets disabled for now until the correct code has been added.
Diffstat (limited to 'driver/xf86-video-intel/src/i915_video.c')
-rw-r--r--driver/xf86-video-intel/src/i915_video.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/driver/xf86-video-intel/src/i915_video.c b/driver/xf86-video-intel/src/i915_video.c
index 893855bd6..d46c6d155 100644
--- a/driver/xf86-video-intel/src/i915_video.c
+++ b/driver/xf86-video-intel/src/i915_video.c
@@ -34,8 +34,8 @@
#include "xf86xv.h"
#include "fourcc.h"
-#include "i830.h"
-#include "i830_video.h"
+#include "intel.h"
+#include "intel_video.h"
#include "i915_reg.h"
#include "i915_3d.h"
@@ -69,7 +69,8 @@ I915DisplayVideoTextured(ScrnInfoPtr scrn,
ScreenPtr screen = pixmap->drawable.pScreen;
target = screen->CreatePixmap(screen,
- drw_w, drw_h,
+ dstRegion->extents.x2 - dxo,
+ dstRegion->extents.y2 - dyo,
pixmap->drawable.depth,
CREATE_PIXMAP_USAGE_SCRATCH);
@@ -149,15 +150,15 @@ I915DisplayVideoTextured(ScrnInfoPtr scrn,
DSTORG_VERT_BIAS(0x8) | format);
/* front buffer, pitch, offset */
- if (i830_pixmap_tiled(target)) {
+ if (intel_pixmap_tiled(target)) {
tiling = BUF_3D_TILED_SURFACE;
- if (i830_get_pixmap_intel(target)->tiling == I915_TILING_Y)
+ if (intel_get_pixmap_private(target)->tiling == I915_TILING_Y)
tiling |= BUF_3D_TILE_WALK_Y;
} else
tiling = 0;
OUT_BATCH(_3DSTATE_BUF_INFO_CMD);
OUT_BATCH(BUF_3D_ID_COLOR_BACK | tiling |
- BUF_3D_PITCH(intel_get_pixmap_pitch(target)));
+ BUF_3D_PITCH(intel_pixmap_pitch(target)));
OUT_RELOC_PIXMAP(target, I915_GEM_DOMAIN_RENDER,
I915_GEM_DOMAIN_RENDER, 0);
@@ -454,11 +455,11 @@ I915DisplayVideoTextured(ScrnInfoPtr scrn,
gc = GetScratchGC(pixmap->drawable.depth,
pixmap->drawable.pScreen);
if (gc) {
- RegionPtr tmp;
-
- ValidateGC(&pixmap->drawable, gc);
+ gc->subWindowMode = ClipByChildren;
if (REGION_NUM_RECTS(dstRegion) > 1) {
+ RegionPtr tmp;
+
tmp = REGION_CREATE(pixmap->drawable.pScreen, NULL, 0);
if (tmp) {
REGION_COPY(pixmap->drawable.pScreen, tmp, dstRegion);
@@ -466,6 +467,7 @@ I915DisplayVideoTextured(ScrnInfoPtr scrn,
}
}
+ ValidateGC(&pixmap->drawable, gc);
gc->ops->CopyArea(&target->drawable, &pixmap->drawable, gc,
0, 0,
target->drawable.width,
@@ -477,5 +479,5 @@ I915DisplayVideoTextured(ScrnInfoPtr scrn,
target->drawable.pScreen->DestroyPixmap(target);
}
- i830_debug_flush(scrn);
+ intel_debug_flush(scrn);
}