Commit Graph

101 Commits

Author SHA1 Message Date
oga
691e04d2ba Here's a really good idea: when preparing for a vt switch the intel
driver idles the ringbuffer, stops it, unbinds all memory, then hands
back off.

Now here's the clever bit: just before we call to idle the ringbuffer
(which sleeps waiting for an interrupt) let's TURN OFF THE FUCKING
INTERRUPT. That's a great idea, really, isn't it?

Move the interrupt disable to *after* stop_ring. Theo's T61 VT switches
again.  everyone elses' intel stuff worked by magic (or shared
interrupts) before now.

Fixed after discussion with deraadt@, thanks to miod for suggestions.
2010-04-07 18:22:00 +00:00
oga
928f6b4517 Fix a segfault in X for a clipped movie window.
ok matthieu@

Original commit message from barry scott to upstream:

 Author: Barry Scott <barry.scott@onelan.co.uk>
 Date:   Tue Jun 23 14:14:50 2009 +0100

     Fix segv for clipped movie window

     When playing a movie that is clipped on its left and right edges the
     Xorg server will SEGV sometimes. This is because the intel driver
     ignores the clipping info when it copies the planes out of the XV
     data.  The check for the optimised copy was wrong to ignore the
     width required.  Which leads to too much data being copied by the
     memcpy. It the source buffe happens to end exactly on a page
     boundary the server will SEGV.

     As we reviewed the code we checked the calculation of src1, src2 and
     src3.  The patch includes additional comments to make it clear what
     the elements of the calculation are.

     This bug exists in git head and we also see it in 2.4.1.
2009-12-14 14:21:54 +00:00
oga
f0cd9e3a73 backport a bugfix from upstream:
Fix 945GM VT switch in UMS

	Bug #19578. We should set private intel_crtc state according to
	current, as fail to do so pipe A needs active won't be taken
	care of. Also make sure pipe swap operation always set during VT
	switch.

This also fixes the *other* x40 lid problem (which happens when you suspend,
then you shut the lid in dont'-suspend-on-lid mode.

the reasoning for the PipeA quirk I finally found:

	On some platforms, the firmware may read & write GPU registers
	on lid close, suspend/resume time or during various SMM events.
	If one of the graphics pipes is disabled at that time, the GPU
	may hang due to the programming dependencies of the various
	registers.

So essentially, without this patch, if you have this quirk and you shut
the lid, you're hosed, but y'know drivers in userland are great. So are
BIOS writers.

requested by deraadt@, who keeps getting this issue when he's on a plane.
2009-09-10 02:30:26 +00:00
matthieu
7370432720 Remove compat directories that are not needed here. ok oga@. 2009-08-25 19:08:29 +00:00
oga
5f44320c03 Pull in some code from 2.8 and current so that dri2 works correctly with
xserver 1.6.2. When dri2 is not in use, this commit does nothing.

ok matthieu@
2009-08-06 16:02:07 +00:00
oga
9a5da84da5 Since we don't accelerate trapesoid rendering under uxa yet anyway
software rasterise them THEN put them into buffer objects.
read-modify-write of graphics memory is expensive.

2.5x speed increase under heavy trap rendering measured.

Another upstream backport. ok matthieu@
2009-07-18 15:02:51 +00:00
oga
2b56f07bde Don't put glyphs pixmaps into buffer objects under uxa.
in the fastpath they're going straight to the glyph cache anyway and
doing so for small glyphs wastes memory since bos must be padded to page
size.

Backport from upstream (to aid gem development). ok matthieu@
2009-07-18 15:00:09 +00:00
oga
c349058b6d Fallback if we're vt switched and we're using GEM. We're not allowed to
access the hardware in this situation.

Backport from upstream CURRENT.

ok matthieu@.
2009-07-18 14:58:00 +00:00
oga
37a2f39d00 Accessing a pixmap in fallback if the prepare_access() callback failed
is verboten

So don't do it. Treat it the same as every other prepare access call in
uxa.  This patch sent upstream.

ok matthieu@
2009-07-18 14:56:03 +00:00
matthieu
42b052b942 update to xf86-video-intel 2.7.1. Tested by many. 2009-06-25 20:16:43 +00:00
matthieu
af2481e434 Add support to run intel_reg_dumper on OpenBSD. 2009-01-29 17:17:24 +00:00
oga
3b1cf06138 never define XF86DRI_MM after configure. 2.4.x still had the ttm bits
which haven't made it into a released libdrm. This prevents collisions
with the libdrm version just commited (which wouldn't build otherwise).
2009-01-26 23:27:59 +00:00
oga
9ae8285f50 Don't map the mmio region via the drm. This was only passed onto the
mesa dri driver, which hasn't needed this for a while.

ok matthieu@.
2009-01-10 15:06:18 +00:00
matthieu
e7c2896cd2 regen 2008-12-01 20:52:08 +00:00
matthieu
2bf61528e7 xf86-video-intel 2.4.3. Tested by many. 2008-12-01 20:51:41 +00:00
matthieu
bdaa42fb66 Set default acceleration method to EXA, like upstreams. 2008-11-06 22:30:11 +00:00
matthieu
23a2202b5b Disable framebuffer compression for now. Problems noticed by oga@ 2008-10-12 15:25:43 +00:00
matthieu
2a8442d3d6 xf86-video-intel 2.4.2. Has been in snapshots for weeks. Ok oga@. 2008-10-12 15:20:49 +00:00
oga
888e10a743 Use the modeset_ctl ioctl to let the drm know that we're setting the
mode from userland. This means we can switch of the vblank ioctl when no
3d client is using it. Backported from newer ddxen to make use of the
new libdrm.

ok matthieu@
2008-08-26 19:00:32 +00:00
oga
fedaaef822 Don't try and build the memory manager parts for libdrm 2.3.1, this version has
been bumped to 2.4.0 upstream.

ok matthieu@
2008-08-26 14:24:16 +00:00
matthieu
8afab56174 update to xf86-video-intel 2.3.2. Tested among others by okan@. 2008-06-29 20:13:42 +00:00
matthieu
80fa2403ff More files that got added by mistake. 2008-05-22 06:59:23 +00:00
matthieu
3d060c0d86 oops should not have committed this. Noticed by deraadt@. 2008-05-21 20:27:45 +00:00
matthieu
4203da792a Update to xf86-video-intel 2.3.1. Tested by many. 2008-05-21 20:19:51 +00:00
matthieu
67a3a88d68 Update to Intel driver 2.2.1. But change default accelmethod to XAA.
Tested by landry@, oga@, steven@, jakemsr@.
2008-03-30 13:51:30 +00:00
matthieu
bbc31bf586 Introduce bsd.xconf.mk to set default config variables used
at several places in the Xenocara build in a central place instead
of duplicating the checks all over the place. ok oga@.
2008-03-25 23:41:50 +00:00
matthieu
7830df18ed Regen with autoconf 2.59-p2, with AM_SANITY check zapped. 2008-03-15 18:08:24 +00:00
matthieu
420aa0bdcb Fix from X.Org repository pointed out by brad@
Add pipe A force enable quirk for ThinkPad X40
    ThinkPad X40s need this quirk or they'll crash frequently.
2008-02-22 08:26:32 +00:00
matthieu
43e542a007 Merge intel driver version 2.2.0.90. 2008-02-11 20:16:03 +00:00
matthieu
bc47e6dc51 Import intel driver v 2.2.0.90. tested by many, including krw@ kettenis@,
jakemsr@, landry@, beck@ and oga@. Thanks.
2008-02-11 20:09:36 +00:00
matthieu
d33aacaadc Make it possible to build dri support with XENOCARA_BUILD_DRI=yes in
/etc/mk.conf. ok oga@
2008-02-02 17:19:57 +00:00
matthieu
e57147883e regen 2008-01-16 23:25:31 +00:00
matthieu
dc769e8a75 Based on a suggestion and an initial patch by kettenis@, build
both the old i810 and the new intel drivers on i386, and let X
autoconfiguration code choose the one that is used based on the chipset.
Tested by landry@ and a few others.
2008-01-16 23:20:50 +00:00
matthieu
1b3b2f7d54 Default to XAA acceleration since EXA produces stack overflows for now. 2007-12-08 17:53:07 +00:00
matthieu
7b2d1daf02 - disable dri support explicitely for now.
- fix some merge botches. Long live CVS.
2007-11-25 18:44:17 +00:00
matthieu
5aec5087eb merge xf86-video-intel 2.2.0 2007-11-24 20:08:18 +00:00
matthieu
f3bee37078 xf86-video-intel 2.2.0 2007-11-24 19:44:16 +00:00
reyk
dcd6bea211 Add support for the mobile i965GM chipset.
tested by many
ok matthieu@
2007-08-04 19:55:21 +00:00
matthieu
00a847b3f8 regen with libtool 1.5.22p9 2007-03-25 13:02:54 +00:00
matthieu
6637a9a36e regen with automake 1.9.6p2 2007-03-18 22:29:12 +00:00
matthieu
c7fd73e3ff regen 2007-03-03 09:53:37 +00:00
matthieu
27718acf95 Import xf86-video-i810 version 1.7.4 2007-03-03 09:49:28 +00:00
matthieu
7939bbf8ff regen 2006-12-16 21:04:37 +00:00
matthieu
b09e749883 xf86-video-intel 1.7.3 2006-12-16 21:01:39 +00:00
matthieu
cd9eb53273 regen 2006-11-28 19:02:33 +00:00
matthieu
df4cfb3429 Remove RCS Ids 2006-11-28 12:15:32 +00:00
matthieu
78e2e44741 $Xenocara$ -> $OpenBSD$ 2006-11-27 19:27:25 +00:00
matthieu
99f184625d regenerate with OpenBSD autotools 2006-11-27 14:55:05 +00:00
matthieu
81519edd65 regen with OpenBSD autotools 2006-11-27 00:01:31 +00:00
matthieu
0bb378f0f2 Build infrastructure for driver 2006-11-26 23:05:50 +00:00
matthieu
9362d53eb6 Importing xf86-video-i810 1.7.2 2006-11-26 20:06:13 +00:00