Re: [ANNOUNCE] xorg-server 1.7.5.901

2010-03-05 Thread Arkadiusz Miskiewicz
On Friday 05 of March 2010, Peter Hutterer wrote:
 The first and likely only RC for 1.7.6 with a bunch of fixes all over the
 place. This release finally brings the RECORD extension back, promised for
 more-or-less every point release since 1.7.0. There's one more
 record-related patch on the list that I want to get into 1.7.6 but other
 than that I think we're shaping up quite nicely.
 
 Note that the minimum requirements have changed to libselinux 2.0.86
 (released before 1.7.0 came out, so that shouldn't be an issue for most of
 you).

I have kernel without selinux compiled in but xserver with xselinux support 
enabled. The result is that it starts but then hangs with black screen at

  (II) Initializing built-in extension DAMAGE

(and the next line should be something like)

 (II) AIGLX: enabled GLX_MESA_copy_sub_buffer

http://pastebin.ca/1823566

Didn't test 1.7.5 or any other version with selinux enabled. 1.7.5.901 was 
first here with selinux.

Disabling xselinux and the problem is gone.

-- 
Arkadiusz MiśkiewiczPLD/Linux Team
arekm / maven.plhttp://ftp.pld-linux.org/
___
xorg-devel mailing list
xorg-devel@lists.x.org
http://lists.x.org/mailman/listinfo/xorg-devel


Re: [ANNOUNCE] xorg-server 1.7.5.901

2010-03-05 Thread Michel Dänzer
On Fri, 2010-03-05 at 08:51 +0100, Arkadiusz Miskiewicz wrote: 
 On Friday 05 of March 2010, Peter Hutterer wrote:
  The first and likely only RC for 1.7.6 with a bunch of fixes all over the
  place. This release finally brings the RECORD extension back, promised for
  more-or-less every point release since 1.7.0. There's one more
  record-related patch on the list that I want to get into 1.7.6 but other
  than that I think we're shaping up quite nicely.
  
  Note that the minimum requirements have changed to libselinux 2.0.86
  (released before 1.7.0 came out, so that shouldn't be an issue for most of
  you).
 
 I have kernel without selinux compiled in but xserver with xselinux support 
 enabled. The result is that it starts but then hangs with black screen at
 
   (II) Initializing built-in extension DAMAGE
 
 (and the next line should be something like)
 
  (II) AIGLX: enabled GLX_MESA_copy_sub_buffer
 
 http://pastebin.ca/1823566

Is there more information in the X server's stderr output? (Should be in
the g/kdm log file if you're using that)


-- 
Earthling Michel Dänzer   |http://www.vmware.com
Libre software enthusiast |  Debian, X and DRI developer
___
xorg-devel mailing list
xorg-devel@lists.x.org
http://lists.x.org/mailman/listinfo/xorg-devel


Re: [PATCHv10 4/5] dri2: Support the DRI2InvalidateBuffers event.

2010-03-05 Thread Francisco Jerez
Peter Hutterer peter.hutte...@who-t.net writes:

 On Mon, Mar 01, 2010 at 08:19:44PM +0100, Francisco Jerez wrote:
 Bumps the supported DRI2 protocol version.
 
 Signed-off-by: Francisco Jerez curroje...@riseup.net
 ---
 v10: Move resource allocation to dri2ext.c.
 
  configure.ac|2 +-
  hw/xfree86/dri2/dri2.c  |  122 
 +++
  hw/xfree86/dri2/dri2.h  |6 ++
  hw/xfree86/dri2/dri2ext.c   |   75 ++-
  include/protocol-versions.h |2 +-
  5 files changed, 204 insertions(+), 3 deletions(-)
 

 [...]
   
 +static void
 +DRI2ConfigNotify(WindowPtr pWin, int x, int y, int w, int h, int bw,
 + WindowPtr pSib)
 +{
 +DrawablePtr pDraw = (DrawablePtr)pWin;
 +ScreenPtr pScreen = pDraw-pScreen;
 +DRI2ScreenPtr ds = DRI2GetScreen(pScreen);
 +DRI2DrawablePtr dd = DRI2GetDrawable(pDraw);
 +
 +if (ds-ConfigNotify) {
 +UNWRAP(pScreen, ds, ConfigNotify);
 +(*pScreen-ConfigNotify)(pWin, x, y, w, h, bw, pSib);
 +WRAP(pScreen, ds, ConfigNotify, DRI2ConfigNotify);
 +}

 I don't think this is correct just yet. You're always forcing
 DRI2ConfigNotify back after the wrap. What you should be doing though is
 popping back whatever was there before. Otherwise, having a different
 nesting order will screw up the wrapping code.

 See 664ac92d8bbe956dd6fd80fac5dc3161028803b2 for a case where this has
 bitten us once already. this may not be possible with the current code, but
 better be safe than sorry.


I thought the whole point of this unwrap-call-and-rewrap model was that
each link in the chain can safely assume that it'll be at the top of the
stack whenever it's called.

If we cannot rely on this assumption anyway, could you explain me how
the change you're proposing is better than a plain:
+if (ds-ConfigNotify)
+   (*ds-ConfigNotify)(pWin, x, y, w, h, bw, pSib);
+

IIUC, the roots of the problem fixed by 664ac92d8 were functions like
ProcXFixesHideCursor that were calling CursorDisplayCursor directly
instead of invoking the whole chain.

 +
 +if (dd  (dd-width != w || dd-height != h))
 +DRI2InvalidateDrawable(pDraw);
 +}
 +
  Bool
  DRI2ScreenInit(ScreenPtr pScreen, DRI2InfoPtr info)
  {
 @@ -869,6 +989,8 @@ DRI2ScreenInit(ScreenPtr pScreen, DRI2InfoPtr info)
  
  dixSetPrivate(pScreen-devPrivates, dri2ScreenPrivateKey, ds);
  
 +WRAP(pScreen, ds, ConfigNotify, DRI2ConfigNotify);

 this one is fine, since you're initializing it here.

 Cheers,
   Peter

 +
  xf86DrvMsg(pScreen-myNum, X_INFO, [DRI2] Setup complete\n);
  for (i = 0; i  sizeof(driverTypeNames) / sizeof(driverTypeNames[0]); 
 i++) {
  if (i  ds-numDrivers  ds-driverNames[i]) {
 diff --git a/hw/xfree86/dri2/dri2.h b/hw/xfree86/dri2/dri2.h
 index 1c8626b..1d5190f 100644
 --- a/hw/xfree86/dri2/dri2.h
 +++ b/hw/xfree86/dri2/dri2.h
 @@ -265,4 +265,10 @@ extern _X_EXPORT void DRI2WaitMSCComplete(ClientPtr 
 client, DrawablePtr pDraw,
int frame, unsigned int tv_sec,
unsigned int tv_usec);
  
 +extern _X_EXPORT int DRI2TrackClient(DrawablePtr pDraw, int id,
 + void (*invalidate)(DrawablePtr, void *),
 + void (*destroy)(DrawablePtr, void *),
 + void *priv);
 +extern _X_EXPORT void DRI2UntrackClient(DrawablePtr pDraw, int id);
 +
  #endif
 diff --git a/hw/xfree86/dri2/dri2ext.c b/hw/xfree86/dri2/dri2ext.c
 index bd92fd3..5644fe5 100644
 --- a/hw/xfree86/dri2/dri2ext.c
 +++ b/hw/xfree86/dri2/dri2ext.c
 @@ -52,6 +52,7 @@
  
  static ExtensionEntry   *dri2Extension;
  static RESTYPE   dri2DrawableRes;
 +static RESTYPE   dri2ClientRefRes;
  
  static Bool
  validDrawable(ClientPtr client, XID drawable, Mask access_mode,
 @@ -197,6 +198,60 @@ ProcDRI2DestroyDrawable(ClientPtr client)
  return client-noClientException;
  }
  
 +static void
 +DRI2InvalidateEvent(DrawablePtr pDraw, void *priv)
 +{
 +XID *id = priv;
 +ClientPtr client = clients[CLIENT_ID(*id)];
 +xDRI2InvalidateBuffers event;
 +
 +if (!client || client-clientGone)
 +return;
 +
 +event.type = DRI2EventBase + DRI2_InvalidateBuffers;
 +event.sequenceNumber = client-sequence;
 +event.drawable = pDraw-id;
 +
 +WriteEventsToClient(client, 1, (xEvent *)event);
 +}
 +
 +static void
 +DRI2InvalidateDestroy(DrawablePtr pDraw, void *priv)
 +{
 +XID *id = priv;
 +
 +FreeResource(*id, dri2ClientRefRes);
 +xfree(id);
 +}
 +
 +static int
 +track_client(ClientPtr client, DrawablePtr pDraw)
 +{
 +XID *id;
 +int ret = BadAlloc;
 +
 +id = xalloc(sizeof(*id));
 +if (!id)
 +goto fail;
 +
 +/* Allocate a new resource for the client. */
 +*id = FakeClientID(client-index);
 +if (!AddResource(*id, dri2ClientRefRes, pDraw))
 +goto fail;
 +
 +ret = DRI2TrackClient(pDraw, 

[PULL] Minor bug-fixes discovered by static analysis.

2010-03-05 Thread Oliver McFadden
are available in the git repository at:

  git://gitorious.org/omcfadde/xserver.git analysis

Oliver McFadden (5):
  exa: exaFinishAccess: Overrun of static array pExaScr-access of size 6 
at position 6 with index variable i
  fb: fbFinishScreenInit: leaked_storage: Variable (visuals|depths) goes 
out of scope
  parser: xf86readConfigFile: unreachable: This code cannot be reached: 
free(val.str);
  common: xf86Configure: alloc_strlen: Allocated memory does not have space 
for the terminating NUL of the string
  Xext: IdleTimeBlockHandler: unsigned_compare: Comparing unsigned less 
than zero is never true. timeout  0UL

 Xext/sync.c   |4 +---
 exa/exa.c |4 ++--
 fb/fbscreen.c |4 
 hw/xfree86/common/xf86Configure.c |2 +-
 hw/xfree86/parser/read.c  |4 ++--
 5 files changed, 10 insertions(+), 8 deletions(-)
___
xorg-devel mailing list
xorg-devel@lists.x.org
http://lists.x.org/mailman/listinfo/xorg-devel


Re: [ANNOUNCE] xorg-server 1.7.5.901

2010-03-05 Thread Dan Nicholson
2010/3/5 Arkadiusz Miskiewicz ar...@maven.pl:
 On Friday 05 of March 2010, Michel Dänzer wrote:
 On Fri, 2010-03-05 at 08:51 +0100, Arkadiusz Miskiewicz wrote:
  On Friday 05 of March 2010, Peter Hutterer wrote:
   The first and likely only RC for 1.7.6 with a bunch of fixes all over
   the place. This release finally brings the RECORD extension back,
   promised for more-or-less every point release since 1.7.0. There's one
   more record-related patch on the list that I want to get into 1.7.6
   but other than that I think we're shaping up quite nicely.
  
   Note that the minimum requirements have changed to libselinux 2.0.86
   (released before 1.7.0 came out, so that shouldn't be an issue for most
   of you).
 
  I have kernel without selinux compiled in but xserver with xselinux
  support enabled. The result is that it starts but then hangs with
  black screen at
 
    (II) Initializing built-in extension DAMAGE
 
  (and the next line should be something like)
 
   (II) AIGLX: enabled GLX_MESA_copy_sub_buffer
 
  http://pastebin.ca/1823566

 Is there more information in the X server's stderr output? (Should be in
 the g/kdm log file if you're using that)

 Ah, there is, some incorrect linking:

 /usr/bin/X: symbol lookup error:
 /usr/lib64/xorg/modules/extensions/libextmod.so: undefined symbol:
 is_selinux_enabled

The reason behind this problem coming up now is the change from
AC_CHECK_LIB to PKG_CHECK_MODULES for getting the selinux libs. When
we were using AC_CHECK_LIB, -lselinux -laudit were inadvertently being
set in $LIBS, which meant they where linked to every binary in the
source tree. Now, with PKG_CHECK_MODULES, we're explicitly using
$SELINUX_LIBS, and apparently not doing a good enough job of it.

Is X at least linked to the right libraries? If not, then I think what
we need to do is add them Xext/libXextmodule.la. Something like the
attached patch should work, but I'm not sure it's the right thing.

--
Dan


0001-Xext-Link-to-external-libraries-when-necessary.patch
Description: application/mbox
___
xorg-devel mailing list
xorg-devel@lists.x.org
http://lists.x.org/mailman/listinfo/xorg-devel


Re: [PATCH] Fix null pointer dereference in xf86_reload_cursors().

2010-03-05 Thread Matthias Hopf
On Mar 01, 10 02:11:36 +0100, Cyril Brulebois wrote:
 Upon resume, X may try to dereference a null pointer, which has been
 reported in Debian bug #507916 (http://bugs.debian.org/507916).
 
 Jim Paris came up with a patch which solves the problem for him. Here's
 a (hopefully) fixed version of his patch (without the typo).
 
 Cc: Jim Paris j...@jtan.com
 Signed-off-by: Cyril Brulebois k...@debian.org
 ---
  hw/xfree86/modes/xf86Cursors.c |2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)
 
 diff --git a/hw/xfree86/modes/xf86Cursors.c b/hw/xfree86/modes/xf86Cursors.c
 index 385848b..d6e747f 100644
 --- a/hw/xfree86/modes/xf86Cursors.c
 +++ b/hw/xfree86/modes/xf86Cursors.c
 @@ -611,7 +611,7 @@ xf86_reload_cursors (ScreenPtr screen)
  cursor_screen_priv = dixLookupPrivate(screen-devPrivates,
 xf86CursorScreenKey);
  /* return if HW cursor is inactive, to avoid displaying two cursors */
 -if (!cursor_screen_priv-isUp)
 +if (!cursor_screen_priv || !cursor_screen_priv-isUp)
   return;
  
  scrn = xf86Screens[screen-myNum];
 -- 
 1.7.0

Reviewed-By: Matthias Hopf mh...@suse.de

Matthias

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


[PATCH xserver 3/3] XQuartz: remove undefined XSERVER_CFLAGS variable

2010-03-05 Thread Gaetan Nadon
This is a variable local to configure.ac which is not AC_SUBST()
It is undefined in any generated Makefile.

Reviewed-by: Jeremy Huddleston jerem...@apple.com
Signed-off-by: Gaetan Nadon mems...@videotron.ca
---
 hw/xquartz/GL/Makefile.am   |2 +-
 hw/xquartz/Makefile.am  |4 ++--
 hw/xquartz/mach-startup/Makefile.am |2 +-
 hw/xquartz/xpr/Makefile.am  |2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/hw/xquartz/GL/Makefile.am b/hw/xquartz/GL/Makefile.am
index 9b61305..af89077 100644
--- a/hw/xquartz/GL/Makefile.am
+++ b/hw/xquartz/GL/Makefile.am
@@ -1,5 +1,5 @@
 noinst_LTLIBRARIES = libCGLCore.la
-AM_CFLAGS = $(XSERVER_CFLAGS) $(DIX_CFLAGS)
+AM_CFLAGS = $(DIX_CFLAGS)
 AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_srcdir)/glx \
diff --git a/hw/xquartz/Makefile.am b/hw/xquartz/Makefile.am
index 65c70b0..96b139f 100644
--- a/hw/xquartz/Makefile.am
+++ b/hw/xquartz/Makefile.am
@@ -1,6 +1,6 @@
 noinst_LTLIBRARIES = libXquartz.la
-AM_CFLAGS = $(XSERVER_CFLAGS) $(DIX_CFLAGS)
-AM_OBJCFLAGS = $(XSERVER_CFLAGS) $(DIX_CFLAGS)
+AM_CFLAGS = $(DIX_CFLAGS)
+AM_OBJCFLAGS = $(DIX_CFLAGS)
 AM_CPPFLAGS = \
-DBUILD_DATE=\$(BUILD_DATE)\ \
-DXSERVER_VERSION=\$(VERSION)\ \
diff --git a/hw/xquartz/mach-startup/Makefile.am 
b/hw/xquartz/mach-startup/Makefile.am
index 334f06d..4dff45a 100644
--- a/hw/xquartz/mach-startup/Makefile.am
+++ b/hw/xquartz/mach-startup/Makefile.am
@@ -3,7 +3,7 @@ AM_CPPFLAGS = \
-DXSERVER_VERSION=\$(VERSION)\ \
-DX11BINDIR=\$(bindir)\
 
-AM_CFLAGS = $(XSERVER_CFLAGS) $(DIX_CFLAGS)
+AM_CFLAGS = $(DIX_CFLAGS)
 
 x11appdir = 
$(APPLE_APPLICATIONS_DIR)/$(APPLE_APPLICATION_NAME).app/Contents/MacOS
 x11app_PROGRAMS = X11.bin
diff --git a/hw/xquartz/xpr/Makefile.am b/hw/xquartz/xpr/Makefile.am
index ba7b258..763a7cd 100644
--- a/hw/xquartz/xpr/Makefile.am
+++ b/hw/xquartz/xpr/Makefile.am
@@ -1,6 +1,6 @@
 noinst_LTLIBRARIES = libXquartzXpr.la
 
-AM_CFLAGS =  $(XSERVER_CFLAGS) $(DIX_CFLAGS)
+AM_CFLAGS =  $(DIX_CFLAGS)
 AM_CPPFLAGS = \
-I$(srcdir) -I$(srcdir)/.. \
-I$(top_srcdir)/miext \
-- 
1.6.0.4

___
xorg-devel mailing list
xorg-devel@lists.x.org
http://lists.x.org/mailman/listinfo/xorg-devel


[PATCH util-macros 0/1] Add XORG_PROJECT_ALL_CFLAGS for X.Org project compiler options

2010-03-05 Thread Gaetan Nadon
Following the review 
http://lists.x.org/archives/xorg-devel/2010-February/005894.html
here is the proposed patch after a few prototyping iterations.

Requirements

 - Provides a hook for an emergency system fix due to compiler behavior change
 - Allow for an easy way to experiment various compiler options on the system
   on a private local build
 - Implement project wide policies such as warning and optimization flags

The word system here refers to all modules shipped as part of a release.

Macros
--
XORG_PROJECT_WARN_CFLAGS: defines Automake variable $(PROJECT_WARN_CFLAGS)
$(PROJECT_WARN_CFLAGS):   contains -Wall and friends plus $(STRICT_CFLAGS) 
  (but no -fno-strict-aliasing)
XORG_PROJECT_OPTIMIZE_CFLAGS: defines Automake variable 
$(PROJECT_OPTIMIZE_CFLAGS)
$(PROJECT_OPTIMIZE_CFLAGS):   contains -fno-strict-aliasing
XORG_PROJECT_ALL_CFLAGS:  defines Automake variable $(PROJECT_ALL_CFLAGS)
$(PROJECT_ALL_CFLAGS):=$PROJECT_WARN_CFLAGS $PROJECT_OPTIMIZE_CFLAGS

The existing STRICT_CFLAGS had to be integrated in the new macro to preserve
backward compatibility (--enable-strict-compilation)

Usage in Makefile.am

AM_CFLAGS = [...] $(PROJECT_ALL_CFLAGS) [...] (replacing CWARNFLAGS in all 
modules)
$(PROJECT_ALL_CFLAGS) will be added to modules which never had CWARNFLAGS 
before.

Backward compatibility
--
CWARNFLAGS is left intact and is available to all modules, past, present and 
future.

The util-macros package versioning
--
For those unfamiliar with the util-macros package, the versioning strategy is
to add  modify, e.g. add new features and fix bugs in existing features. 
This does not allow to remove or change a functionality upon which current
and past modules depend. 

The concept of minimum version is used, meaning the oldest macros package 
against which a module can function correctly, even if it missing some features
or bug fixes.

Extensibility
-
This patch follows the macros package versioning, so the CWARNFLAGS macro 
cannot be
removed. It will therefore be available for future module versions. It will 
always 
be defined in the Makefile in addition to PROJECT_ALL_CFLAGS.

If in the future we ever need to remove or change one of the new *_CFLAGS, 
we will be in the same situation as we are today. Rather than creating a new set
of variable names, we can modify the macros package versioning strategy (for 
compiler options only) whereby older modules will receive older versions 
of the compiler options and newer modules get newer ones.

A design is in place with commented out code to illustrate how this would work.
We can, if we want, use this strategy to make unavailable CWARNFLAGS for new
versions of modules.

Gaetan Nadon (1):
  Add XORG_PROJECT_ALL_CFLAGS for X.Org project compiler options

 xorg-macros.m4.in |  171 +++--
 1 files changed, 165 insertions(+), 6 deletions(-)

___
xorg-devel mailing list
xorg-devel@lists.x.org
http://lists.x.org/mailman/listinfo/xorg-devel


[PATCH util-macros 1/1] Add XORG_PROJECT_ALL_CFLAGS for X.Org project compiler options

2010-03-05 Thread Gaetan Nadon
This macro is defined as containing a set of required compiler options for
all X.Org modules, including xserver, libraries, drivers, fonts and apps.
Additional compiler options are added locally by the each module.

These options are set in each module makefile like this:
AM_CFLAGS = $(PROJECT_ALL_CFLAGS) ...
See Automake 27.6 Flag Variables Ordering.

All Makefile.am should have it for C code targets for the following reasons:
 - Provides a hook for an emergency system fix due to compiler behavior change
 - Allow for an easy way to experiment various compiler options on the system
   on a private local build
 - Implement project wide policies such as warning flags

As an organizing principle, this macro does not contain discrete compiler
options but rather aggregates macros containing options based on
their categories.

Backward compatibility: the variable CWARNFLAGS is still available for older
modules using it. Modules requesting version 1.7.0 or higher
should not use it.

Signed-off-by: Gaetan Nadon mems...@videotron.ca
---
 xorg-macros.m4.in |  171 +++--
 1 files changed, 165 insertions(+), 6 deletions(-)

diff --git a/xorg-macros.m4.in b/xorg-macros.m4.in
index 478e5fe..79de080 100644
--- a/xorg-macros.m4.in
+++ b/xorg-macros.m4.in
@@ -36,6 +36,8 @@ dnl DEALINGS IN THE SOFTWARE.
 #
 # See the minimum version comment for each macro you use to see what 
 # version you require.
+# xorg_macros_needed is required by XORG_PROJECT_ALL_CFLAGS related macros
+#
 m4_defun([XORG_MACROS_VERSION],[
 m4_define([vers_have], [...@version@])
 m4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.])))
@@ -47,6 +49,7 @@ m4_if(m4_version_compare(vers_have, [$1]), -1,
 m4_undefine([vers_have])
 m4_undefine([maj_have])
 m4_undefine([maj_needed])
+m4_define([xorg_macros_needed],[$1])
 ]) # XORG_MACROS_VERSION
 
 # XORG_PROG_RAWCPP()
@@ -304,7 +307,7 @@ AC_SUBST(MAKE_PDF)
 AC_SUBST(MAKE_HTML)
 ]) # XORG_CHECK_DOCBOOK
 
-# XORG_WITH_XMLTO
+# XORG_WITH_XMLTO([MIN-VERSION])
 # 
 # Minimum version: 1.5.0
 #
@@ -352,6 +355,20 @@ elif test x$use_xmlto = xno ; then
 else
AC_MSG_ERROR([--with-xmlto expects 'yes' or 'no'])
 fi
+m4_ifval([$1],
+[if test $have_xmlto = yes; then
+# scrape the xmlto version
+AC_MSG_CHECKING([the xmlto version])
+xmlto_version=`$XMLTO --version 2/dev/null | cut -d' ' -f3`
+AC_MSG_RESULT([$xmlto_version])
+AS_VERSION_COMPARE([$xmlto_version], [$1],
+[if test x$use_xmlto = xauto; then
+AC_MSG_WARN([xmlto version $xmlto_version found, but $1 needed])
+have_xmlto=no
+else
+AC_MSG_ERROR([xmlto version $xmlto_version found, but $1 needed])
+fi])
+fi])
 AM_CONDITIONAL([HAVE_XMLTO], [test $have_xmlto = yes])
 ]) # XORG_CHECK_XMLTO
 
@@ -870,11 +887,12 @@ AM_CONDITIONAL(MAKE_LINT_LIB, [test x$make_lint_lib != 
xno])
 # XORG_CWARNFLAGS
 # ---
 # Minimum version: 1.2.0
+# Deprecated since 1.7.0. Use XORG_PROJECT_ALL_CFLAGS
 #
 # Defines CWARNFLAGS to enable C compiler warnings.
 #
 AC_DEFUN([XORG_CWARNFLAGS], [
-AC_REQUIRE([AC_PROG_CC])
+AC_REQUIRE([XORG_STRICT_OPTION])
 if  test x$GCC = xyes ; then
 CWARNFLAGS=-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes 
\
 -Wmissing-declarations -Wnested-externs -fno-strict-aliasing \
@@ -890,6 +908,10 @@ else
CWARNFLAGS=-v
 fi
 fi
+
+# Add strict cflags from xorg_strict_option which are also warning flags
+CWARNFLAGS=$CWARNFLAGS $STRICT_CFLAGS
+
 AC_SUBST(CWARNFLAGS)
 ]) # XORG_CWARNFLAGS
 
@@ -898,10 +920,11 @@ AC_SUBST(CWARNFLAGS)
 # Minimum version: 1.3.0
 #
 # Add configure option to enable strict compilation
+# STRICT_CFLAGS is included in deprecated CWARNFLAGS and PROJECT_WARN_CFLAGS
+# It cannot (and never could) be invoked directly from configure.ac
 AC_DEFUN([XORG_STRICT_OPTION], [
 AC_REQUIRE([AC_PROG_CC])
 AC_REQUIRE([AC_PROG_CC_C99])
-AC_REQUIRE([XORG_CWARNFLAGS])
 
 AC_ARG_ENABLE(strict-compilation,
  AS_HELP_STRING([--enable-strict-compilation],
@@ -918,8 +941,6 @@ if test x$STRICT_COMPILE = xyes; then
STRICT_CFLAGS=-Werror
fi
 fi
-CWARNFLAGS=$CWARNFLAGS $STRICT_CFLAGS
-AC_SUBST([CWARNFLAGS])
 ]) # XORG_STRICT_OPTION
 
 # XORG_DEFAULT_OPTIONS
@@ -929,8 +950,11 @@ AC_SUBST([CWARNFLAGS])
 # Defines default options for X.Org modules.
 #
 AC_DEFUN([XORG_DEFAULT_OPTIONS], [
-XORG_CWARNFLAGS
 XORG_STRICT_OPTION
+XORG_CWARNFLAGS
+XORG_PROJECT_WARN_CFLAGS
+XORG_PROJECT_OPTIMIZE_CFLAGS
+XORG_PROJECT_ALL_CFLAGS
 XORG_RELEASE_VERSION
 XORG_CHANGELOG
 XORG_INSTALL
@@ -955,3 +979,138 @@ mv \$(top_srcdir)/.INSTALL.tmp \$(top_srcdir)/INSTALL) \
 echo 'util-macros \pkgdatadir\ from xorg-macros.pc not found: installing 
possibly empty INSTALL.' 2)
 AC_SUBST([INSTALL_CMD])
 ]) # XORG_INSTALL
+
+# XORG_PROJECT_ALL_CFLAGS
+# ---
+# Minimum version: 1.7.0
+#
+# Defines Automake PROJECT_ALL_CFLAGS variable.
+#
+# 

[PATCH modular] build.sh: add xf86-input-penmount to the regular build

2010-03-05 Thread Gaetan Nadon
This module has a yearly release and is included in Debian.

Signed-off-by: Gaetan Nadon mems...@videotron.ca
---
 build.sh |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/build.sh b/build.sh
index 1ba8bf5..79ae83a 100755
--- a/build.sh
+++ b/build.sh
@@ -484,6 +484,7 @@ build_driver_input() {
 build driver xf86-input-acecad
 build driver xf86-input-keyboard
 build driver xf86-input-mouse
+build driver xf86-input-penmount
 build driver xf86-input-synaptics
 build driver xf86-input-void
 }
-- 
1.6.0.4

___
xorg-devel mailing list
xorg-devel@lists.x.org
http://lists.x.org/mailman/listinfo/xorg-devel


Re: [Patch] hw/xwin: remove glx subdirectory.

2010-03-05 Thread Yaakov (Cygwin/X)

On 2010-03-05 08:42, Luc Verhaegen wrote:

This code was the only reference left in the glproto glcore.h cruft
(previous patch), and turned out to be a bit crufty itself, as these
files were only listed in EXTRA_DIST in hw/xwin.

If someone planned to revive this code, then please do so from the
repository history; but you'll have your work cut out for you anyway :)


There is already some effort by Jon Turney to revive XWin OpenGL 
hardware acceleration, and we plan to work on this during the 1.8 cycle. 
 Please do not push this w/o his ack.



Yaakov
Cygwin/X
___
xorg-devel mailing list
xorg-devel@lists.x.org
http://lists.x.org/mailman/listinfo/xorg-devel


Re: [ANNOUNCE] xorg-server 1.7.5.901

2010-03-05 Thread Alan Coopersmith
Dan Nicholson wrote:
 Is X at least linked to the right libraries? If not, then I think what
 we need to do is add them Xext/libXextmodule.la. Something like the
 attached patch should work, but I'm not sure it's the right thing.

I've been carrying around some similar patches in our builds to add library
linking to the modules (not libselinux of course, but others) to resolve
symbols since we build most of the drivers with -z defs to catch missing
symbol errors at build time instead of runtime, and the modules they link
against thus need to resolve their symbols.   I've been slacking on
upstreaming it, but it hasn't seemed to cause any problems in the several
years we've had it.(The -R path is to handle our multilib layout, and
that part is definitely Solaris-specific.)

--- hw/xfree86/dixmods/Makefile.am  2009-05-08 17:45:57.848078000 -0700
+++ hw/xfree86/dixmods/Makefile.am  2009-05-08 17:46:07.162324000 -0700
@@ -36,6 +36,7 @@ libdbe_la_SOURCES = dbemodule.c

 libfb_la_LDFLAGS = -avoid-version
 libfb_la_LIBADD = $(top_builddir)/fb/libfb.la
+libfb_la_LIBADD += -lpixman-1
 libfb_la_SOURCES = $(top_builddir)/fb/fbcmap_mi.c fbmodule.c
 libfb_la_CFLAGS = $(AM_CFLAGS)

@@ -47,6 +48,8 @@ libwfb_la_CFLAGS = $(AM_CFLAGS) -DFB_ACC
 libglx_la_LDFLAGS = -avoid-version -mimpure-text
 if AIGLX
 GLXDRI_LIBRARY = $(top_builddir)/glx/libglxdri.la
+libglx_la_LDFLAGS += -R$(extsmoduledir:amd64/extensions=extensions/amd64)
+libglx_la_LDFLAGS += -Wl,-N,libdri.so -Wl,-N,libdri2.so
 endif
 libglx_la_LIBADD = \
$(top_builddir)/glx/libglx.la \
diff -urp -x '*~' -x '*.orig' hw/xfree86/int10/Makefile.am
hw/xfree86/int10/Makefile.am
--- hw/xfree86/int10/Makefile.am2007-10-17 07:01:23.0 -0700
+++ hw/xfree86/int10/Makefile.am2009-05-08 17:46:07.162854000 -0700
@@ -42,3 +42,5 @@ libint10_la_SOURCES = stub.c xf86int10mo
 endif

 EXTRA_DIST = xf86x86emu.h INT10.HOWTO
+
+libint10_la_LIBADD = $(PCIACCESS_LIBS)

There's also a bunch to add a ton of -l flags to every driver too, but full
-z defs linking of those relies on us building a linker mapfile in our builds
that lists the symbols exported from the Xorg binary so that the linker can
record those as resolved already, and I've not checked to see if the way I've
done that is portable at all.   An example of just adding the -l flags:
http://src.opensolaris.org/source/xref/x-cons/xnv-clone/open-src/driver/xf86-video-intel/libraries.patch

-- 
-Alan Coopersmith-   alan.coopersm...@sun.com
 Oracle Solaris Platform Engineering: X Window System

___
xorg-devel mailing list
xorg-devel@lists.x.org
http://lists.x.org/mailman/listinfo/xorg-devel


Re: [Patch] hw/xwin: remove glx subdirectory.

2010-03-05 Thread Jon TURNEY

On 05/03/2010 14:42, Luc Verhaegen wrote:

This code was the only reference left in the glproto glcore.h cruft
(previous patch), and turned out to be a bit crufty itself, as these
files were only listed in EXTRA_DIST in hw/xwin.

If someone planned to revive this code, then please do so from the
repository history; but you'll have your work cut out for you anyway :)


Actually, I have a rewrite for this code to actually make it do something 
useful again (see [1]), but since it depends on a few DIX changes which 
probably require review, I wasn't going to propose that until post-1.8.


Given that, can we keep it around a bit longer, please :-)

[1] http://cgit.freedesktop.org/~jturney/xserver/log/?h=cygwin-aiglx-for-master
___
xorg-devel mailing list
xorg-devel@lists.x.org
http://lists.x.org/mailman/listinfo/xorg-devel


Re: [ANNOUNCE] xorg-server 1.7.5.901

2010-03-05 Thread Dan Nicholson
On Fri, Mar 5, 2010 at 8:15 AM, Alan Coopersmith
alan.coopersm...@sun.com wrote:
 Dan Nicholson wrote:
 Is X at least linked to the right libraries? If not, then I think what
 we need to do is add them Xext/libXextmodule.la. Something like the
 attached patch should work, but I'm not sure it's the right thing.

 I've been carrying around some similar patches in our builds to add library
 linking to the modules (not libselinux of course, but others) to resolve
 symbols since we build most of the drivers with -z defs to catch missing
 symbol errors at build time instead of runtime, and the modules they link
 against thus need to resolve their symbols.   I've been slacking on
 upstreaming it, but it hasn't seemed to cause any problems in the several
 years we've had it.    (The -R path is to handle our multilib layout, and
 that part is definitely Solaris-specific.)

 --- hw/xfree86/dixmods/Makefile.am      2009-05-08 17:45:57.848078000 -0700
 +++ hw/xfree86/dixmods/Makefile.am      2009-05-08 17:46:07.162324000 -0700
 @@ -36,6 +36,7 @@ libdbe_la_SOURCES = dbemodule.c

  libfb_la_LDFLAGS = -avoid-version
  libfb_la_LIBADD = $(top_builddir)/fb/libfb.la
 +libfb_la_LIBADD += -lpixman-1
  libfb_la_SOURCES = $(top_builddir)/fb/fbcmap_mi.c fbmodule.c
  libfb_la_CFLAGS = $(AM_CFLAGS)

 @@ -47,6 +48,8 @@ libwfb_la_CFLAGS = $(AM_CFLAGS) -DFB_ACC
  libglx_la_LDFLAGS = -avoid-version -mimpure-text
  if AIGLX
  GLXDRI_LIBRARY = $(top_builddir)/glx/libglxdri.la
 +libglx_la_LDFLAGS += -R$(extsmoduledir:amd64/extensions=extensions/amd64)
 +libglx_la_LDFLAGS += -Wl,-N,libdri.so -Wl,-N,libdri2.so
  endif
  libglx_la_LIBADD = \
        $(top_builddir)/glx/libglx.la \
 diff -urp -x '*~' -x '*.orig' hw/xfree86/int10/Makefile.am
 hw/xfree86/int10/Makefile.am
 --- hw/xfree86/int10/Makefile.am        2007-10-17 07:01:23.0 -0700
 +++ hw/xfree86/int10/Makefile.am        2009-05-08 17:46:07.162854000 -0700
 @@ -42,3 +42,5 @@ libint10_la_SOURCES = stub.c xf86int10mo
  endif

  EXTRA_DIST = xf86x86emu.h INT10.HOWTO
 +
 +libint10_la_LIBADD = $(PCIACCESS_LIBS)

 There's also a bunch to add a ton of -l flags to every driver too, but full
 -z defs linking of those relies on us building a linker mapfile in our builds
 that lists the symbols exported from the Xorg binary so that the linker can
 record those as resolved already, and I've not checked to see if the way I've
 done that is portable at all.   An example of just adding the -l flags:
 http://src.opensolaris.org/source/xref/x-cons/xnv-clone/open-src/driver/xf86-video-intel/libraries.patch

Yeah, this seems like a good idea. Just for sanity's sake, we should
be doing the LIBADD at the level where the symbols are actually used
instead of just piling a bunch of libraries onto the ddx. libtool will
take care of pulling together the correct linking for us. I've been
thinking about this for a while, but wading into the
XORG_LIBS/XSERVER_LIBS/XSERVER_SYS_LIBS/X_PLEASE_GIVE_ME_A_HOME_LIBS
quagmire doesn't seem like a fun way to spend my time.

If I had to guess, Arkadiusz's issue is that he is linking with
--as-needed, and the linker throws out -lselinux because Xorg doesn't
actually need it. If the linking was done on libextmod.la, it would
match to the actual symbols used.

--
Dan
___
xorg-devel mailing list
xorg-devel@lists.x.org
http://lists.x.org/mailman/listinfo/xorg-devel


Re: [PATCH] DRI2: fixup handling of last_swap_target

2010-03-05 Thread Jesse Barnes
On Thu, 4 Mar 2010 23:42:06 +0100
Mario Kleiner mario.klei...@tuebingen.mpg.de wrote:

 On Mar 4, 2010, at 7:45 PM, Jesse Barnes wrote:
 
  I just pushed everything into my personal xserver tree, can you check
  them out and make sure I got your patches right?
 
  git://people.freedesktop.org/~jbarnes/xserver

Ok pushed fixes for these issues to the repo above.  I know you've put
a lot of time into this already, but can you take another look to make
sure I got everything?  Note I left the swap interval default at 1
since GLX_MESA_swap_control should let us set it to 0 to get
unthrottled behavior, which I just fixed and tested.

Thanks a ton for your review, it's been very helpful.

-- 
Jesse Barnes, Intel Open Source Technology Center
___
xorg-devel mailing list
xorg-devel@lists.x.org
http://lists.x.org/mailman/listinfo/xorg-devel


Re: [Patch] hw/xwin: remove glx subdirectory.

2010-03-05 Thread Colin Harrison
Hi,

Any new hw/xwin/glx code (thanks John Turney) does not need to include the
glcore.h file.
So best go ahead and sync up the gl headers and glapi/indirect code anyway
between Mesa, glproto and xserver/glx.
AFAICS should not be a problem for the xwin ddx.

Thanks,
Colin harrison

___
xorg-devel mailing list
xorg-devel@lists.x.org
http://lists.x.org/mailman/listinfo/xorg-devel


Re: [PATCH xf86-video-intel 2/2] Fix handling of target_msc, divisor, remainder in I830DRI2ScheduleSwap()

2010-03-05 Thread Jesse Barnes
On Sun, 21 Feb 2010 18:45:48 +0100
Mario Kleiner mario.klei...@tuebingen.mpg.de wrote:

 The current code in I830DRI2ScheduleSwap() only schedules the
 correct vblank events for the case divisor == 0, i.e., the
 simple glXSwapBuffers() case.
 
 In a glXSwapBuffersMscOML() request, divisor can be  0, which would go
 wrong.
 
 This modified code should handle target_msc, divisor, remainder and
 the different cases defined in the OML_sync_control extension
 correctly for the divisor  0 case.
 
 It also tries to make sure that the effective framecount of swap satisfies
 all constraints, taking the 1 frame delay in pageflipping mode and possible
 delays in blitting/exchange mode due to DRM_VBLANK_NEXTONMISS into account.
 
 The swap_interval logic in the X-Servers DRI2SwapBuffers() call expects
 the returned swap_target from the DDX to be reasonably accurate, otherwise
 implementation of swap_interval for the glXSwapBuffers() as defined in the
 SGI_swap_interval extension may become unreliable.
 
 For non-pageflipped mode, the returned swap_target is always correct due to 
 the
 adjustments done by drmWaitVBlank(), as DRM_VBLANK_NEXTONMISS is set.
 
 In pageflipped mode, DRM_VBLANK_NEXTONMISS can't be used without
 severe impact on performance, so the code in I830DRI2ScheduleSwap()
 must make manual adjustments to the returned vbl.reply.sequence number.
 
 This patch adds the needed adjustments.
 
 Signed-off-by: Mario Kleiner mario.klei...@tuebingen.mpg.de
 ---

I just fixed these up and pushed them into the tree along with another
fix for handling offscreen drawables better.  Tests indicate that OML
swap divisor/remainder stuff is working correctly now.

Thanks!
-- 
Jesse Barnes, Intel Open Source Technology Center
___
xorg-devel mailing list
xorg-devel@lists.x.org
http://lists.x.org/mailman/listinfo/xorg-devel