Re: Xorg segfaults on XOpenDisplay multi thread

2008-12-29 Thread Eirik Byrkjeflot Anonsen
Matan Drori ma...@graphtech.co.il writes:

 Machine spec:
 IA64
 /SUSE Linux Enterprise Server/ 10 sp 2
 xorg x11 6.9.0-50.58

 I have a very simple test program that opens 4 threads and does
 XOpenDisplay(opening 4 separate display objects).

 i keep getting segfaults on different places in the function
 seems like some kind timing problem that causes memory corruption.

You have called XInitThreads?  (See man XInitThreads)

(I don't know how thread-safe xorg is.  I have the impression that
there are some issues.  But without XInitThreads(), it isn't supposed
to be thread-safe).

eirik
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: [PATCH 1/6] Includes some new structures and defined MACRO in edid.h

2008-12-29 Thread Ma Ling
On Wed, 2008-12-24 at 21:29 +0800, Wu, Fengguang wrote:
 On Sat, Dec 20, 2008 at 04:34:27AM +0200, Ma, Ling wrote:
  defined corresponding structure and MACRO for detailed timing operation
  
  ---
   hw/xfree86/ddc/edid.h |   73 
  +
   1 files changed, 73 insertions(+), 0 deletions(-)
  
  diff --git a/hw/xfree86/ddc/edid.h b/hw/xfree86/ddc/edid.h
  index 31bc7c1..8751107 100644
  --- a/hw/xfree86/ddc/edid.h
  +++ b/hw/xfree86/ddc/edid.h
  @@ -553,4 +553,77 @@ typedef struct {
   
   extern _X_EXPORT xf86MonPtr ConfiguredMonitor;
   
  +#define CEA_EXT   0x02
  +#define VTB_EXT   0x10
  +#define DI_EXT0x40
  +#define LS_EXT0x50
  +#define MI_EXT0x60
  +
  +#define CEA_EXT_MIN_DATA_OFFSET 4
  +#define CEA_EXT_MAX_DATA_OFFSET 127
  +#define CEA_EXT_DET_TIMING_NUM 6
  +
  +#define EXT_TAG 0
  +#define EXT_REV 1
  +
  +struct cea_video_blk {
  +  Uchar video_code; 
  +};
  +
  +struct cea_audio_blk {
  +Uchar descs[3];
 
 Inconsistent indents.
fixed
 
  +};
  +
  +struct hdmi {
 
 Name too short?
fixed
 
  +  Uchar  support_flags;
  +  Uchar  max_tmds_clock;
  +  Uchar  latency_present;
  +  Uchar  video_latency;
  +  Uchar  audio_latency;
  +  Uchar  interlaced_video_latency;
  +  Uchar  interlaced_audio_latency;
  +};
  +
  +struct cea_vendor_blk {
  +  unsigned char ieee_id[3];
  +  Uchar  port_addr[2];
 
 Inconsistent types.
 
  +  struct hdmi hdmi;
  +};
  +
  +struct cea_speaker_blk 
  +{
  +  Uchar FLR:1;
  +  Uchar LFE:1;
  +  Uchar FC:1;
  +  Uchar RLR:1;
  +  Uchar RC:1;
  +  Uchar FLRC:1;
  +  Uchar RLRC:1;
  +  Uchar FLRW:1;
  +  Uchar FLRH:1;
  +  Uchar TC:1;
  +  Uchar FCH:1;
  +  Uchar Resv:5;
  +  Uchar ResvByte;
  +};
  +
  +struct cea_data_blk {
  +  Uchar len:5;
  +  Uchar tag:3;
  +union{
  +struct cea_video_blk video;
  +struct cea_audio_blk audio;
  +struct cea_vendor_blk vendor;
  +struct cea_speaker_blk speaker;
  +  }u;
 
 More indents, please.
fixed
 
  +};
  +
  +struct cea_ext_body {
  +  Uchar tag;
  +  Uchar rev;
  +  Uchar dt_offset;
  +  Uchar flags;
  +  struct cea_data_blk data_collection;
  +};
  +
   #endif /* _EDID_H_ */
  -- 
  1.5.4.4
  
  
  

___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: [PATCH 3/6] handle detailed timing operation in xf86EdidModes.c

2008-12-29 Thread Ma Ling
On Thu, 2008-12-25 at 10:23 +0800, Wu, Fengguang wrote: 
 On Sat, Dec 20, 2008 at 04:37:51AM +0200, Ma, Ling wrote:
  handled detailed timing operation .e.g extract detailed timing modes from 
  EDID and cea ext,
  then insert mode list.
 
  ---
   hw/xfree86/ddc/xf86DDC.h |   44 ++
   hw/xfree86/modes/xf86EdidModes.c |  278 
  --
   2 files changed, 189 insertions(+), 133 deletions(-)
 
  diff --git a/hw/xfree86/ddc/xf86DDC.h b/hw/xfree86/ddc/xf86DDC.h
  index 07411b8..0f4f65f 100644
  --- a/hw/xfree86/ddc/xf86DDC.h
  +++ b/hw/xfree86/ddc/xf86DDC.h
  @@ -62,4 +62,48 @@ extern _X_EXPORT DisplayModePtr xf86DDCGetModes(int 
  scrnIndex, xf86MonPtr DDC);
   extern _X_EXPORT Bool
   xf86MonitorIsHDMI(xf86MonPtr mon);
 
  +/*
  + * Quirks to work around broken EDID data from various monitors.
  + */
  +typedef enum {
  +DDC_QUIRK_NONE = 0,
  +/* First detailed mode is bogus, prefer largest mode at 60hz */
  +DDC_QUIRK_PREFER_LARGE_60 = 1  0,
  +/* 135MHz clock is too high, drop a bit */
  +DDC_QUIRK_135_CLOCK_TOO_HIGH = 1  1,
  +/* Prefer the largest mode at 75 Hz */
  +DDC_QUIRK_PREFER_LARGE_75 = 1  2,
  +/* Convert detailed timing's horizontal from units of cm to mm */
  +DDC_QUIRK_DETAILED_H_IN_CM = 1  3,
  +/* Convert detailed timing's vertical from units of cm to mm */
  +DDC_QUIRK_DETAILED_V_IN_CM = 1  4,
  +/* Detailed timing descriptors have bogus size values, so just take the
  + * maximum size and use that.
  + */
  +DDC_QUIRK_DETAILED_USE_MAXIMUM_SIZE = 1  5,
  +/* Monitor forgot to set the first detailed is preferred bit. */
  +DDC_QUIRK_FIRST_DETAILED_PREFERRED = 1  6,
  +/* use +hsync +vsync for detailed mode */
  +DDC_QUIRK_DETAILED_SYNC_PP = 1  7,
  +/* Force single-link DVI bandwidth limit */
  +DDC_QUIRK_DVI_SINGLE_LINK = 1  8,
  +} ddc_quirk_t;
  +
  +DisplayModePtr xf86DDCGetModes(int scrnIndex, xf86MonPtr DDC);
  +
  +extern Bool
  +xf86MonitorIsHDMI(xf86MonPtr mon);
  +
  +typedef void (* handle_detailed_fn)(struct detailed_monitor_section *,void 
  *);
  +
  +void xf86ForEachDetailedBlock(xf86MonPtr mon,
  +  handle_detailed_fn,
  +  void *data);
  +
  +ddc_quirk_t
  +xf86DDCDetectQuirks(int scrnIndex, xf86MonPtr DDC, Bool verbose);
  +
  +void xf86DetTimingApplyQuirks(struct detailed_monitor_section *det_mon,
  +  ddc_quirk_t quirks, int hsize, int vsize);
  +
   #endif
  diff --git a/hw/xfree86/modes/xf86EdidModes.c 
  b/hw/xfree86/modes/xf86EdidModes.c
  index 1413e87..e016e43 100644
  --- a/hw/xfree86/modes/xf86EdidModes.c
  +++ b/hw/xfree86/modes/xf86EdidModes.c
  @@ -45,20 +45,24 @@
   #include string.h
   #include math.h
 
  +void static handle_detailed_rblank(struct detailed_monitor_section 
  *det_mon,
 
 static void
fixed 
 
  +   void *data)
  +{
  +
 
 extra blank line
fixed 
 
  +if (det_mon-type == DS_RANGES)
  +if (det_mon-section.ranges.supported_blanking  CVT_REDUCED)
  +*(Bool*)data = TRUE;
  +}
  +
   static Bool
   xf86MonitorSupportsReducedBlanking(xf86MonPtr DDC)
   {
   /* EDID 1.4 explicitly defines RB support */
   if (DDC-ver.revision = 4) {
  -   int i;
  -   for (i = 0; i  DET_TIMINGS; i++) {
  -   struct detailed_monitor_section *det_mon = DDC-det_mon[i];
  -   if (det_mon-type == DS_RANGES)
  -   if (det_mon-section.ranges.supported_blanking  
  CVT_REDUCED)
  -   return TRUE;
  -   }
  -
  -   return FALSE;
  +Bool ret = FALSE;
  +
  +xf86ForEachDetailedBlock(DDC, handle_detailed_rblank, ret);
  +return ret;
   }
 
   /* For anything older, assume digital means RB support. Boo. */
  @@ -68,34 +72,6 @@ xf86MonitorSupportsReducedBlanking(xf86MonPtr DDC)
   return FALSE;
   }
 
  -/*
  - * Quirks to work around broken EDID data from various monitors.
  - */
  -
  -typedef enum {
  -DDC_QUIRK_NONE = 0,
  -/* First detailed mode is bogus, prefer largest mode at 60hz */
  -DDC_QUIRK_PREFER_LARGE_60 = 1  0,
  -/* 135MHz clock is too high, drop a bit */
  -DDC_QUIRK_135_CLOCK_TOO_HIGH = 1  1,
  -/* Prefer the largest mode at 75 Hz */
  -DDC_QUIRK_PREFER_LARGE_75 = 1  2,
  -/* Convert detailed timing's horizontal from units of cm to mm */
  -DDC_QUIRK_DETAILED_H_IN_CM = 1  3,
  -/* Convert detailed timing's vertical from units of cm to mm */
  -DDC_QUIRK_DETAILED_V_IN_CM = 1  4,
  -/* Detailed timing descriptors have bogus size values, so just take the
  - * maximum size and use that.
  - */
  -DDC_QUIRK_DETAILED_USE_MAXIMUM_SIZE = 1  5,
  -/* Monitor forgot to set the first detailed is preferred bit. */
  -DDC_QUIRK_FIRST_DETAILED_PREFERRED = 1  6,
  -/* use +hsync +vsync for detailed mode */
  -DDC_QUIRK_DETAILED_SYNC_PP 

Re: Xorg segfaults on XOpenDisplay multi thread

2008-12-29 Thread Matan Drori
I'm Using XInitThreads(), and have no use for the other thread functions
since im not sharing a display(XLockDisplay and XUnlockDisplay that
recive a display object).

I'm calling multiple XOpenDisplay calls from different threads.
It looks like a deeper issue since I'm not sharing the display object
itself.
if needed i can post my test program here(very small) even tough  i
couldn't re produce it on my openSuse 11.1 machine, only on the IA64
sles 10 sp 2 machine.

Eirik Byrkjeflot Anonsen wrote:
 Matan Drori ma...@graphtech.co.il writes:

   
 Machine spec:
 IA64
 /SUSE Linux Enterprise Server/ 10 sp 2
 xorg x11 6.9.0-50.58

 I have a very simple test program that opens 4 threads and does
 XOpenDisplay(opening 4 separate display objects).

 i keep getting segfaults on different places in the function
 seems like some kind timing problem that causes memory corruption.
 

 You have called XInitThreads?  (See man XInitThreads)

 (I don't know how thread-safe xorg is.  I have the impression that
 there are some issues.  But without XInitThreads(), it isn't supposed
 to be thread-safe).

 eirik
 ___
 xorg mailing list
 xorg@lists.freedesktop.org
 http://lists.freedesktop.org/mailman/listinfo/xorg
   

___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: xserver 1.6 branch and mouse position zapping

2008-12-29 Thread Colin Guthrie
'Twas brillig, and Colin Guthrie at 29/12/08 09:31 did gyre and gimble:
 'Twas brillig, and Colin Guthrie at 26/12/08 15:25 did gyre and gimble:
 'Twas brillig, and Peter Hutterer at 26/12/08 00:25 did gyre and gimble:
 On Wed, Dec 24, 2008 at 11:41:10AM +, Colin Guthrie wrote:
 Just built the 1.6 branch + recent mesa snapshot and other such stuff.

 It seems to be stable enough just now, but one thing that's been 
 affected is how the mouse positions itself to top-left after a certain 
 operations.

 So far I've found odd behaviour when doing:
   * Compiz cube dragging (ctrl+alt+click and drag)
   * Compiz window moving (alt+click and drag)
   * Compiz window moving (click and drag on title bar)

 When this happens the mouse just jumps to the top left, but not always 
 immediately.
 While this could easily be a compiz issue (I certainly cannot reproduce 
 in metacity), I'm guessing it's related to the xserver change. I have 
 also updated to the latest input-proto and other such stuff too.

 Is there an obvious starting point to look further into this? Or perhaps 
 it's a known issue?
 can you reproduce this with any other client too? It's most likely an X 
 server
 issue, but a good reproduceable behaviour in a client other than compiz 
 makes
 it easier for me to find the bug.
 My first guess is that event replay after synchronous grabs have the wrong
 coordinates.
 You say it doesn't always happen immediately: try to move particularly fast 
 or
 slow to see if that can trigger it.

 It's really hard to describe! Speed of movement doesn't seem to make 
 much odds but I have narrowed down the behaviour to the Snapping 
 Windows compiz plugin. Disabling this makes things a lot more stable 
 but there are still some issues.

 Every time I move the cube face, either with a window drag to the edge, 
 or with a keystroke, the mouse pointer zaps to the top left.

 I can't duplicate the behaviour in metacity, but I've not tried in Kwin4 
 yet.

 I'm not 100% certain it's a xserver issue here and perhaps compiz is 
 hooking into something it shouldn't be, but it's certainly a regression 
 of sorts.

 Not really sure how to give you better info to help diagnose :(

 I'll try asking on compiz IRC to see if anyone else is experiencing the 
 same issues.
 
 OK, some strange things happened.
 
 I applied the patch for the locale/layout settings 
 http://bugs.freedesktop.org/show_bug.cgi?id=19048
 
 and now things work fine :s
 
 There have been other changes on my system but nothing that would jump 
 out at me as being overly relevant.
 
 If I have time, I'll go back to a server without this patch and see if 
 the problem returns.
 
 I have also updated libcompizconfig which was updated on the 26th 
 December to a buggy build, but as I originally noticed this behaviour on 
 the 24th December, I doubt this is actually relevant!

Tell a lie. It seems I built the xserver against an older 
x11-proto-devel that did not have the latest dri2proto.. Not sure it 
will matter but will rebuild and see what happens :)

Col

-- 

Colin Guthrie
gmane(at)colin.guthr.ie
http://colin.guthr.ie/

Day Job:
   Tribalogic Limited [http://www.tribalogic.net/]
Open Source:
   Mandriva Linux Contributor [http://www.mandriva.com/]
   PulseAudio Hacker [http://www.pulseaudio.org/]
   Trac Hacker [http://trac.edgewall.org/]

___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: xserver 1.6 branch and mouse position zapping

2008-12-29 Thread Colin Guthrie
'Twas brillig, and Colin Guthrie at 29/12/08 09:42 did gyre and gimble:
 OK, some strange things happened.

 I applied the patch for the locale/layout settings 
 http://bugs.freedesktop.org/show_bug.cgi?id=19048

 and now things work fine :s

 There have been other changes on my system but nothing that would jump 
 out at me as being overly relevant.

 If I have time, I'll go back to a server without this patch and see if 
 the problem returns.

 I have also updated libcompizconfig which was updated on the 26th 
 December to a buggy build, but as I originally noticed this behaviour on 
 the 24th December, I doubt this is actually relevant!
 
 Tell a lie. It seems I built the xserver against an older 
 x11-proto-devel that did not have the latest dri2proto.. Not sure it 
 will matter but will rebuild and see what happens :)

Well I rebuilt with newer dri2proto and as expected nothing changed.

Also tried disabling the last patch for locale settings etc. and it made 
no odds either.

Rebuilding libcompizconfig seems to have been the key here. Anyways, 
it's certainly not a problem in the xserver so not and issue for 1.6 :)

Cheers for the help.

Col

-- 

Colin Guthrie
gmane(at)colin.guthr.ie
http://colin.guthr.ie/

Day Job:
   Tribalogic Limited [http://www.tribalogic.net/]
Open Source:
   Mandriva Linux Contributor [http://www.mandriva.com/]
   PulseAudio Hacker [http://www.pulseaudio.org/]
   Trac Hacker [http://trac.edgewall.org/]

___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: Xorg segfaults on XOpenDisplay multi thread

2008-12-29 Thread Daniel Stone
On Mon, Dec 29, 2008 at 11:06:27AM +0200, Matan Drori wrote:
 I'm calling multiple XOpenDisplay calls from different threads.

This is not really possible with Xlib.  Should be okay with XCB, though.

Cheers,
Daniel


signature.asc
Description: Digital signature
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Re: [RFC] RandR 1.3 properties, version 2

2008-12-29 Thread Matthias Hopf
On Dec 19, 08 12:23:20 +1100, Graeme Gill wrote:
 Matthias Hopf wrote:
  I have just pushed a change to radeonhd, that implements the mandatory
  bits of RandR 1.3 output properties, which can thus be seen as a
  reference implementation.
 
 Sorry I guess I'm not following very well :- so this means that
 the XRandR EDID_DATA atom now becomes what ?

Just EDID

Reason was that people objected to all caps properties, and EDIDData
looked awkward to me (and EdidData would be plainly wrong, because EDID
is an abbreviation).

CU

Matthias

-- 
Matthias Hopf mh...@suse.de  ____   __
Maxfeldstr. 5 / 90409 Nuernberg   (_   | |  (_   |__  m...@mshopf.de
Phone +49-911-74053-715   __)  |_|  __)  |__  R  D   www.mshopf.de
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: xrandr: needs changes for dualhead + panning

2008-12-29 Thread Matthias Hopf
On Dec 19, 08 20:50:29 +0100, Maarten Maathuis wrote:
 On 12/19/2008 08:42 PM, Carl Karsten wrote:
 Maarten Maathuis wrote:
 The placement logic is output driven, and doesn't take panning into 
 account. So you end up with strange overlap. If dual head + panning was a 
 goal you might consider fixing this. It doesn't seem trivial to do from a 
 quick look. On the plus side it's just a xrandr change.

You're right, forgot about that. Have to think about it. It's not really
complicated, but you have to think about how to specify the type of
panning as in:

 dual head + panning could mean

 a the whole space pans when you get to the side of the virtual space,
 b pan each physical display separately,
 c a combination of a/b.

Good point.

 (a) would need changes on the protocol side (imo)

Probably not on the protocol side, but maybe in the xserver implementation.
OTOH it might already be possible to specify this with borders.

Again, have to think about it :^)

 I was thinking of (b).

CU

Matthias

-- 
Matthias Hopf mh...@suse.de  ____   __
Maxfeldstr. 5 / 90409 Nuernberg   (_   | |  (_   |__  m...@mshopf.de
Phone +49-911-74053-715   __)  |_|  __)  |__  R  D   www.mshopf.de
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: gma950 + latest x11 + latest intel driver

2008-12-29 Thread Vasily Khoruzhick
On 29 December 2008 15:53:27 Jin, Gordon wrote:
 Vasily Khoruzhick wrote on Monday, December 29, 2008 12:32 AM:
  Hi, I'm testing latest x11 from git (gentoo's x11 overlay) and latest
  intel driver from git (videocard: gma950). Here's some results:
 
  0. xf86-video-intel-2.5.1 + xorg-server-1.5.3 + mesa-7.2 + kernel
  2.6.28: 3D is not usable, ~3-5 fps in quake3. 2D is stable and fast
 
  1. Latest x11 stack from git + latest xf86-video-intel from git +
  kernel
  2.6.28 + exa (no dri2):
  3D is not usable, ~5-10 fps in quake3. 2D is stable and fast

 Did you try mesa git?

 Gordon

Yep, forgot to mention it.


signature.asc
Description: This is a digitally signed message part.
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Current tinderbox regression (libGL)

2008-12-29 Thread Chris Ball
http://tinderbox.x.org/builds/2008-12-28-0008/
http://tinderbox.x.org/builds/2008-12-28-0008/logs/libGL/#build

r300_render.c: In function 'r300FireEB':
r300_render.c:213: error: expected ';' before 'do'

http://cgit.freedesktop.org/mesa/mesa/commit/?id=0d1f90c75e39191f1824b382dfb8d709a3e70d01

-- 
Chris Ball   c...@laptop.org
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Initial Radeon R6xx/R7xx acceleration support pushed

2008-12-29 Thread Alex Deucher
It's finally here!  r6xx-r7xx-support branches of the drm and
xf86-video-radeonhd.

http://cgit.freedesktop.org/mesa/drm/log/?h=r6xx-r7xx-support
http://cgit.freedesktop.org/xorg/driver/xf86-video-radeonhd/log/?h=r6xx-r7xx-support

After months of hard work we are finally able to push out initial drm
and accel code for r6xx and r7xx chipsets.  We couldn't have done this
without a lot of hard work from a lot of people.  Of particular note:

Matthias Hopf - implementing r600_demo as a test program to get the hw
up and running
Dave Airlie - initial r6xx drm implementation
John Bridgman - sheparding along the IP review process

This release is mostly targeted at developers as the code is not
really ready for regular use.  The accompanying r6xx/r7xx register
spec is still in IP review and will be released soon.

Current drm status:
- only indirect ioctl currently implemented (for EXA/Xv)
- mesa support will require additional work

Current EXA/Xv status:
- lack of direction blitter makes overlapping copy blits difficult.
current code breaks down overlapping blits into line by line blits of
non-overlapping regions. running xcompmgr -a is highly recommended for
decent performance
- a8 support has issues
- planar Xv shader implemented, but not working properly yet
- missing Xv shader support for packed formats. should be easy to
adapt the planar Xv shader once that is working
- composite mask support is currently broken. I suspect the interpolater setup.
- depth 16 is untested

Alex
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


[ANNOUNCE] xf86-video-siliconmotion 1.7.0

2008-12-29 Thread Paulo César Pereira de Andrade
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

  Xorg SiliconMotion Video Driver 1.7.0 features include support for
SMI 50x chipsets, RandR 1.2, EXA acceleration Method, Dual Head, etc.

  Special thanks to Teddy Wang teddy.wang AT siliconmotion.com.cn
for support and help in responding and/or triaging hardware related
questions.

ChangeLog:
- 
Adam Jackson (1):
  Dead code removal.

Arnaud Patard (1):
  Correct a problem when handling i420 format.

Francisco Jerez (28):
  Memory detection moved before memory mapping in SMI_PreInit.
  Make the int10/VBE initialization depend on the UseBIOS
configuration option.
  Updates in SMI_EnterVT when remapping memory.
  RandR rotation implemented.
  Some fixes in the EXA UTS/DTS code.
  Allow using XV and RandR rotation simultaneously.
  Fix XAA, ShadowFB and VT switching for non-sm501 chipsets
  RandR1.2 initial implementation (WIP)
  Some corrections in the CRTC code.
  Simple EXA Composite implementation.
  Changes in the video overlay clipping code.
  Lynx hardware cursor code adapted to the CRTC interfaces.
  Remove shadowfb based rotation support.
  Update the man page
  Remove unused fifo_* options.
  Disable screen centering on mode initialization.
  Some corrections on the Lynx modesetting code.
  Fix XAA SolidFill with 32 bpp framebuffer.
  Fall back to UseBIOS off when VBEInit fails.
  Enable linear memory mode on SMI_MapMmio.
  Fix crashes when switching VTs with EXA enabled.
  Add some quirks for SM712 modesetting.
  Cleanup the Lynx register saving/restoring code.
  Allocate crtc-funcs and output-funcs in the heap.
  Fix SMI_CrtcShadowAllocate.
  Add a CRTC/Output implementation using BIOS for modesetting.
  Add support for clone mode on Lynx chipsets.
  Some more quirks for the SM712.

Nathael Pajani (1):
  Bit twelve on CPR00 bitfield is not bit eleven...

Paulo Cesar Pereira de Andrade (92):
  Fix build for removal of xf86Version.h
  Add initial support and macros for the MSOC.
  Change SILICONMOTION_NAME value
  Add code to probe and recognize the SMI501 chipset
  MSOC doesn't access VGA registers or VBE/INT10
  Update xaa and generic acceleration code for the MSOC.
  Update MSOC video interface.
  Bump version to 1.6.1.
  Split SMI_MapMem in SMI_MapMem and SMI_MapMmio
  Don't pretend this driver compiles on XFree86.
  Correct xv video problems on MSOC.
  Correct all compiler warning messages.
  Rename global smi501 functions to have SMI501 prefix.
  Complete rewrite of smi_501.c and smi_501.h.
  Update for new smi_501 interfaces.
  Correct video offscreen memory allocation routines.
  Add a missing CHECK_SECONDARY macro call.
  Add initial exa support for SMI501.
  Enable pci retry and pci burst by default.
  Add MSOC palette support to run at 8 bpp.
  Kludge to not lock the SMI 501 when running at 8bpp.
  Fix a leak and minor cosmetic change.
  Rework/simplify debug macros.
  Simplify hw cursor and sw cursor option handling.
  Remove unused .cvsignore files.
  Split SMI501_ModeInit in two functions.
  Correct logic in sw cursor handling and add missing entries to
.gitignore.
  Correct problems in clock setting.
  Fix incorrect understanding of the pixel clock from specs.
  Don't try to find the closest clock, just use highest one.
  Properly check pScrn-driverPrivate before deferencing it.
  Don't always program CRT clock and registers.
  Update to match the SMI 502 chipset specs.
  Remove the macro field, and rename the detail structure to f.
  Correct clock programming for the SMI 501/502
  Add support for the extra divider in the alternate pixel clock setting.
  Rewrite some macros to not have side effects in if/else nesting.
  Remove the IN_SEQ and OUT_SEQ macros.
  Rename macro bitfield to bits and correct a wrong division.
  Simplify regsmi.h by removing most unused SMI501 defines.
  Don't use the 1 multiplier on older chipsets.
  Rewrite WaitQueue and WaitIdle accell macros
  Make the input frequency in SMI501_FindPLLClock a variable
  Add a PanelSize/60Hz CVT mode at driver initialization
  Minor corrections for smi501 for the randr1.2 integration.
  Remove dependency on xf86cvt.c.
  Extra MSOC tweaks for the RandR1.2 changes.
  Correct incorrect pll3 calculation.
  Revert/modify some RandR changes to reenable XAA.
  Update sm502 pll3 programming.
  Don't change M1XCLK unless option specified in xorg.conf.
  Crt interface corrections.
  Use existing Dualhead option in MSOC.
  Make UseFBDev option functional again.
  Make Dualhead option functional.
  Update msoc to use randr cursor routines
  SMI501/502 cursor fixes.
 

Re: Initial Radeon R6xx/R7xx acceleration support pushed

2008-12-29 Thread Alex Deucher
Just to clarify for those that want to play with this, you'll need to
build the r6xx-r7xx-support branches of the drm and radeonhd.  The drm
is also required for r600_demo.

Alex

On Mon, Dec 29, 2008 at 4:33 PM, Alex Deucher alexdeuc...@gmail.com wrote:
 It's finally here!  r6xx-r7xx-support branches of the drm and
 xf86-video-radeonhd.

 http://cgit.freedesktop.org/mesa/drm/log/?h=r6xx-r7xx-support
 http://cgit.freedesktop.org/xorg/driver/xf86-video-radeonhd/log/?h=r6xx-r7xx-support

 After months of hard work we are finally able to push out initial drm
 and accel code for r6xx and r7xx chipsets.  We couldn't have done this
 without a lot of hard work from a lot of people.  Of particular note:

 Matthias Hopf - implementing r600_demo as a test program to get the hw
 up and running
 Dave Airlie - initial r6xx drm implementation
 John Bridgman - sheparding along the IP review process

 This release is mostly targeted at developers as the code is not
 really ready for regular use.  The accompanying r6xx/r7xx register
 spec is still in IP review and will be released soon.

 Current drm status:
 - only indirect ioctl currently implemented (for EXA/Xv)
 - mesa support will require additional work

 Current EXA/Xv status:
 - lack of direction blitter makes overlapping copy blits difficult.
 current code breaks down overlapping blits into line by line blits of
 non-overlapping regions. running xcompmgr -a is highly recommended for
 decent performance
 - a8 support has issues
 - planar Xv shader implemented, but not working properly yet
 - missing Xv shader support for packed formats. should be easy to
 adapt the planar Xv shader once that is working
 - composite mask support is currently broken. I suspect the interpolater 
 setup.
 - depth 16 is untested

 Alex

___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


gimp is able to kill Xserver with Intel driver

2008-12-29 Thread Lukas Hejtmanek
Hello,

using gimp, I'm able to reproduce the following segfault of the xserver:
Core was generated by `/usr/bin/X11/X -nolisten tcp'.
Program terminated with signal 11, Segmentation fault.
[New process 4181]
#0  0x00433d32 in dixLookupPrivate (privates=0x1d386c0, key=0x7da880)
at ../../dix/privates.c:79
79  ../../dix/privates.c: No such file or directory.
in ../../dix/privates.c
(gdb) where
#0  0x00433d32 in dixLookupPrivate (privates=0x1d386c0, key=0x7da880)
at ../../dix/privates.c:79
#1  0x004cf2b4 in miDCPutUpCursor (pDev=0xc65d60, pScreen=0x9d0340, 
pCursor=0x2a903290001, x=-42829, y=-26929, source=0, mask=16777215)
at ../../mi/midispcur.c:449
#2  0x004def6e in miSpriteRestoreCursor (pDev=0xc65d60, 
pScreen=0x9d0340) at ../../mi/misprite.c:1025
#3  0x004df4a6 in miSpriteBlockHandler (i=value optimized out, 
blockData=0x0, pTimeout=0x0, pReadmask=0x1) at ../../mi/misprite.c:525
#4  0x7f3e6a83aae7 in I830BlockHandler (i=value optimized out, 
blockData=0x0, pTimeout=0x7fff762f9d28, pReadmask=0x58b3)
at i830_driver.c:2632
#5  0x00533ba8 in AnimCurScreenBlockHandler (screenNum=0, 
blockData=0x0, pTimeout=0x7fff762f9d28, pReadmask=0x7daca0)
at ../../render/animcur.c:222
#6  0x004febce in compBlockHandler (i=0, blockData=0x0, 
pTimeout=0x7fff762f9d28, pReadmask=0x7daca0)
at ../../composite/compinit.c:158
#7  0x00451290 in BlockHandler (pTimeout=0x7fff762f9d28, 
pReadmask=0x7daca0) at ../../dix/dixutils.c:384
#8  0x004eca51 in WaitForSomething (pClientsReady=0xcf2950)
at ../../os/WaitFor.c:215
#9  0x0044d5a0 in Dispatch () at ../../dix/dispatch.c:367
---Type return to continue, or q return to quit---
#10 0x004332bd in main (argc=3, argv=0x7fff762f9f08, 
envp=value optimized out) at ../../dix/main.c:383
(gdb)

-- 
Lukáš Hejtmánek
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


[PATCH] Port cursorScreenDevPriv to the new dixPrivate API

2008-12-29 Thread Tomas Carnecky


This was somehow missed when I ported all the DevPrivateKey
variables in the source tree. Maybe because it didn't use the
proper DevPrivateKey but rather hardcoded the type, so grep din't
find it. And I can see why the type was hardcoded: because it's
not possible to include privates.h in the file: privates.h depends
on dix.h which depends on cursor.h which needs the definition from
privates.h.

This patch is a) ugly and b) breaks API. So beware of that when
you merge it.
---

Could you try if this patch helps? Maybe someone can in the meantime 
come up with a better idea how to untangle the headers.


 dix/globals.c|3 ++-
 include/cursor.h |5 -
 2 files changed, 6 insertions(+), 2 deletions(-)


diff --git a/dix/globals.c b/dix/globals.c
index 2585798..d922e02 100644
--- a/dix/globals.c
+++ b/dix/globals.c
@@ -142,7 +142,8 @@ CursorPtr rootCursor;
 Bool party_like_its_1989 = FALSE;
 Bool whiteRoot = FALSE;
 
-int cursorScreenDevPriv[MAXSCREENS];
+static int cursorScreenDevPrivIndex[MAXSCREENS];
+DevPrivateKey *cursorScreenDevPriv = cursorScreenDevPrivIndex;
 
 TimeStamp currentTime;
 TimeStamp lastDeviceEventTime;
diff --git a/include/cursor.h b/include/cursor.h
index acc95c3..490e945 100644
--- a/include/cursor.h
+++ b/include/cursor.h
@@ -64,7 +64,10 @@ struct _DeviceIntRec;
 typedef struct _Cursor *CursorPtr;
 typedef struct _CursorMetric *CursorMetricPtr;
 
-extern _X_EXPORT int cursorScreenDevPriv[MAXSCREENS];
+/* Because of cyclic references in headers, it's not possible to include
+ * privates.h in this header. Hence we need to hardcode DevPrivateKey to
+ * its actualy type. */
+extern _X_EXPORT int **cursorScreenDevPriv;
 #define CursorScreenKey(pScreen) (cursorScreenDevPriv + (pScreen)-myNum)
 
 extern _X_EXPORT CursorPtr rootCursor;

___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg