Re: [PATCH] dri2: Pass a ScreenPtr through to the driver's AuthMagic function.

2012-06-18 Thread Michel Dänzer
On Mon, 2012-06-18 at 11:52 +1000, Christopher James Halse Rogers
wrote: 
 xwayland drivers need access to their screen private data to authenticate.
 Now that drivers no longer have direct access to the global screen arrays,
 this needs to be passed in as function context.
 
 v2: Don't break ABI
 
 Signed-off-by: Christopher James Halse Rogers 
 christopher.halse.rog...@canonical.com

Reviewed-by: Michel Dänzer michel.daen...@amd.com


-- 
Earthling Michel Dänzer   |   http://www.amd.com
Libre software enthusiast |  Debian, X and DRI developer
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH] dri2: Pass a ScreenPtr through to the driver's AuthMagic function.

2012-06-18 Thread Kristian Høgsberg
On Sun, Jun 17, 2012 at 9:52 PM, Christopher James Halse Rogers
christopher.halse.rog...@canonical.com wrote:
 xwayland drivers need access to their screen private data to authenticate.
 Now that drivers no longer have direct access to the global screen arrays,
 this needs to be passed in as function context.

 v2: Don't break ABI

Yeah, looks good to me now.

Reviewed-by: Kristian Høgsberg k...@bitplanet.net

 Signed-off-by: Christopher James Halse Rogers 
 christopher.halse.rog...@canonical.com
 ---
  hw/xfree86/dri2/dri2.c |   35 ---
  hw/xfree86/dri2/dri2.h |    9 -
  2 files changed, 36 insertions(+), 8 deletions(-)

 diff --git a/hw/xfree86/dri2/dri2.c b/hw/xfree86/dri2/dri2.c
 index babf32f..412feb3 100644
 --- a/hw/xfree86/dri2/dri2.c
 +++ b/hw/xfree86/dri2/dri2.c
 @@ -104,7 +104,8 @@ typedef struct _DRI2Screen {
     DRI2ScheduleSwapProcPtr ScheduleSwap;
     DRI2GetMSCProcPtr GetMSC;
     DRI2ScheduleWaitMSCProcPtr ScheduleWaitMSC;
 -    DRI2AuthMagicProcPtr AuthMagic;
 +    DRI2AuthMagic2ProcPtr AuthMagic;
 +    DRI2AuthMagicProcPtr LegacyAuthMagic;
     DRI2ReuseBufferNotifyProcPtr ReuseBufferNotify;
     DRI2SwapLimitValidateProcPtr SwapLimitValidate;
     DRI2GetParamProcPtr GetParam;
 @@ -1110,12 +,22 @@ DRI2Connect(ScreenPtr pScreen, unsigned int 
 driverType, int *fd,
     return TRUE;
  }

 +static Bool
 +DRI2AuthMagic (ScreenPtr pScreen, int fd, uint32_t magic)
 +{
 +    DRI2ScreenPtr ds = DRI2GetScreen(pScreen);
 +    if (ds == NULL || (*ds-LegacyAuthMagic) (ds-fd, magic))
 +        return FALSE;
 +
 +    return TRUE;
 +}
 +
  Bool
  DRI2Authenticate(ScreenPtr pScreen, uint32_t magic)
  {
     DRI2ScreenPtr ds = DRI2GetScreen(pScreen);

 -    if (ds == NULL || (*ds-AuthMagic) (ds-fd, magic))
 +    if (ds == NULL || (*ds-AuthMagic) (pScreen, ds-fd, magic))
         return FALSE;

     return TRUE;
 @@ -1202,8 +1213,11 @@ DRI2ScreenInit(ScreenPtr pScreen, DRI2InfoPtr info)
         cur_minor = 1;
     }

 +    if (info-version = 8) {
 +        ds-AuthMagic = info-AuthMagic2;
 +    }
     if (info-version = 5) {
 -        ds-AuthMagic = info-AuthMagic;
 +        ds-LegacyAuthMagic = info-AuthMagic;
     }

     if (info-version = 6) {
 @@ -1218,14 +1232,21 @@ DRI2ScreenInit(ScreenPtr pScreen, DRI2InfoPtr info)

     /*
      * if the driver doesn't provide an AuthMagic function or the info struct
 -     * version is too low, it relies on the old method (using libdrm) or fail
 +     * version is too low, call through LegacyAuthMagic
      */
 -    if (!ds-AuthMagic)
 +    if (!ds-AuthMagic) {
 +        ds-AuthMagic = DRI2AuthMagic;
 +        /*
 +         * If the driver doesn't provide an AuthMagic function
 +         * it relies on the old method (using libdrm) or fails
 +         */
 +        if (!ds-LegacyAuthMagic)
  #ifdef WITH_LIBDRM
 -        ds-AuthMagic = drmAuthMagic;
 +            ds-LegacyAuthMagic = drmAuthMagic;
  #else
 -        goto err_out;
 +            goto err_out;
  #endif
 +    }

     /* Initialize minor if needed and set to minimum provied by DDX */
     if (!dri2_minor || dri2_minor  cur_minor)
 diff --git a/hw/xfree86/dri2/dri2.h b/hw/xfree86/dri2/dri2.h
 index f849be6..004d286 100644
 --- a/hw/xfree86/dri2/dri2.h
 +++ b/hw/xfree86/dri2/dri2.h
 @@ -64,6 +64,7 @@ typedef void (*DRI2CopyRegionProcPtr) (DrawablePtr pDraw,
                                        DRI2BufferPtr pSrcBuffer);
  typedef void (*DRI2WaitProcPtr) (WindowPtr pWin, unsigned int sequence);
  typedef int (*DRI2AuthMagicProcPtr) (int fd, uint32_t magic);
 +typedef int (*DRI2AuthMagic2ProcPtr) (ScreenPtr pScreen, int fd, uint32_t 
 magic);

  /**
  * Schedule a buffer swap
 @@ -192,7 +193,7 @@ typedef int (*DRI2GetParamProcPtr) (ClientPtr client,
  /**
  * Version of the DRI2InfoRec structure defined in this header
  */
 -#define DRI2INFOREC_VERSION 7
 +#define DRI2INFOREC_VERSION 8

  typedef struct {
     unsigned int version;       /** Version of this struct */
 @@ -229,6 +230,12 @@ typedef struct {
     /* added in version 7 */

     DRI2GetParamProcPtr GetParam;
 +
 +    /* added in version 8 */
 +    /* AuthMagic callback which passes extra context */
 +    /* If this is NULL the AuthMagic callback is used */
 +    /* If this is non-NULL the AuthMagic callback is ignored */
 +    DRI2AuthMagic2ProcPtr AuthMagic2;
  } DRI2InfoRec, *DRI2InfoPtr;

  extern _X_EXPORT int DRI2EventBase;
 --
 1.7.10.4

 ___
 xorg-devel@lists.x.org: X.Org development
 Archives: http://lists.x.org/archives/xorg-devel
 Info: http://lists.x.org/mailman/listinfo/xorg-devel
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH] dri2: Pass a ScreenPtr through to the driver's AuthMagic function.

2012-06-18 Thread Keith Packard
Christopher James Halse Rogers christopher.halse.rog...@canonical.com
writes:

 +typedef int (*DRI2AuthMagic2ProcPtr) (ScreenPtr pScreen, int fd, uint32_t 
 magic);

Bikeshed -- seems like the 'fd' parameter is not needed in this API?
I'll note that in the implementation of the wrapper, you pull it from
the screen private instead of using the provided parameter...

-- 
keith.pack...@intel.com


pgpH60QR8VD8D.pgp
Description: PGP signature
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

[PATCH xorg-gtest] Ensure xorg-gtest implementation is included in xorg-gtest{-all, _main}.cpp

2012-06-18 Thread Chase Douglas
GNU automake puts -I. -I.. at the beginning of every invocation of g++.
This breaks xorg-gtest compilation if there is a file of the same name
as an xorg-gtest implementation file in ../src/ or ../../src. For
example, if compiling xorg-gtest-all.cpp in /home/user1/library/test
and there exists /home/user1/library/src/device.cpp, the library's
device.cpp file will be included instead of xorg-gtest's.

This change adds a -iquote option to xorg-gtest compilation performed in
Makefile-xorg-gtest.am. Directories specified with -iquote are searched
ahead of directories specified by -I.

This changes Makefile-xorg-gtest.am, which projects can copy to provide
rules for building xorg-gtest in autotools projects. For substantial
changes, projects will want to import the latest version of this file,
but this particular fix is only needed if a project runs into build
issues. If your project builds without issue, there is no need to
replace the existing version of Makefile-xorg-gtest.am.

Signed-off-by: Chase Douglas chase.doug...@canonical.com
---
 src/Makefile-xorg-gtest.am |2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/Makefile-xorg-gtest.am b/src/Makefile-xorg-gtest.am
index 20983eb..4f36b13 100644
--- a/src/Makefile-xorg-gtest.am
+++ b/src/Makefile-xorg-gtest.am
@@ -42,6 +42,7 @@ libxorg_gtest_a_CPPFLAGS = \
$(XORG_GTEST_CPPFLAGS) \
$(GTEST_CPPFLAGS) \
$(AM_CPPFLAGS) \
+   -iquote$(XORG_GTEST_SOURCE) \
-w
 libxorg_gtest_a_CXXFLAGS = \
$(XORG_GTEST_CXXFLAGS) \
@@ -54,6 +55,7 @@ libxorg_gtest_main_a_CPPFLAGS = \
$(XORG_GTEST_CPPFLAGS) \
$(GTEST_CPPFLAGS) \
$(AM_CPPFLAGS) \
+   -iquote$(XORG_GTEST_SOURCE) \
-w
 libxorg_gtest_main_a_CXXFLAGS = \
$(XORG_GTEST_CXXFLAGS) \
-- 
1.7.9.5

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


Re: [PATCH 1/4] AC_SUBST the GLX_SYS_LIBS

2012-06-18 Thread Alan Coopersmith
On 06/17/12 08:40 PM, Peter Hutterer wrote:
 libxservertest needs -lpthread from glxapi.c's pthread_once() call. Usually
 this would be pulled in by the XORG_LIBS but not when building without Xorg.
 
 This commit has no visible effect on the current tree, preparation for test
 cleanups.
 
 Signed-off-by: Peter Hutterer peter.hutte...@who-t.net
 ---
  configure.ac |1 +
  test/Makefile.am |2 +-
  test/xi2/Makefile.am |2 +-
  3 files changed, 3 insertions(+), 2 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
 index 763ca7a..9cf2821 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -1060,6 +1060,7 @@ if test x$GLX_USE_TLS = xyes ; then
   GLX_SYS_LIBS=$GLX_SYS_LIBS -lpthread
  fi
  AC_SUBST([GLX_DEFINES])
 +AC_SUBST([GLX_SYS_LIBS])

Isn't that bit already in git master from fd115ee114e ?

-- 
-Alan Coopersmith-  alan.coopersm...@oracle.com
 Oracle Solaris Engineering - http://blogs.oracle.com/alanc
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


Re: [PATCH 1/4] AC_SUBST the GLX_SYS_LIBS

2012-06-18 Thread Peter Hutterer
On Mon, Jun 18, 2012 at 03:45:28PM -0700, Alan Coopersmith wrote:
 On 06/17/12 08:40 PM, Peter Hutterer wrote:
  libxservertest needs -lpthread from glxapi.c's pthread_once() call. Usually
  this would be pulled in by the XORG_LIBS but not when building without Xorg.
  
  This commit has no visible effect on the current tree, preparation for test
  cleanups.
  
  Signed-off-by: Peter Hutterer peter.hutte...@who-t.net
  ---
   configure.ac |1 +
   test/Makefile.am |2 +-
   test/xi2/Makefile.am |2 +-
   3 files changed, 3 insertions(+), 2 deletions(-)
  
  diff --git a/configure.ac b/configure.ac
  index 763ca7a..9cf2821 100644
  --- a/configure.ac
  +++ b/configure.ac
  @@ -1060,6 +1060,7 @@ if test x$GLX_USE_TLS = xyes ; then
  GLX_SYS_LIBS=$GLX_SYS_LIBS -lpthread
   fi
   AC_SUBST([GLX_DEFINES])
  +AC_SUBST([GLX_SYS_LIBS])
 
 Isn't that bit already in git master from fd115ee114e ?

yes, looks like it, thanks. serves me right for working off the 1.12 branch.

Cheers,
  Peter
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel