diff options
author | Owain Ainsworth <oga@cvs.openbsd.org> | 2011-11-29 12:39:04 +0000 |
---|---|---|
committer | Owain Ainsworth <oga@cvs.openbsd.org> | 2011-11-29 12:39:04 +0000 |
commit | c2c12b91aa8ce17ebc41929142803a0c4ccac20d (patch) | |
tree | e53e5be67ebf6695aed2b89659c4eb36db02de30 /driver/xf86-video-intel/src/i915_video.c | |
parent | 40e8fc6d789367334ea8d8eeaf00f5f749b81f95 (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.c | 22 |
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); } |