Re: [PATCH] glx: Remove swap barrier and hyperpipe support

2010-11-22 Thread Mario Kleiner

On 11/19/2010 07:52 PM, Adam Jackson wrote:

Never implemented in any open source driver.  The implementation
assumed explicit DDX driver knowledge of how the client-side driver
worked, since at the time the server's GL renderer was not a DRI driver.
But now, it is, so any implementation of these should be done with
additional DRI driver API, like the swap control extension.


I assume this is only about removing the current unused implementation, 
not about removing support completely from the xserver, right?


At some point i'd like to implement some dri2 support for at least swap 
groups and possibly swap barriers. With multi-head cards like the amd 
eyefinity stuff (6 crtc's) we will need swap groups et al. to make good 
use of so many heads.


As the x-server's dri2/ddx part is responsible for swap scheduling in 
dri2, i assume there will be some need for interaction between the 
client and server. I was hoping to tinker with this stuff within maybe a 
year or so.


thanks,
-mario



Signed-off-by: Adam Jacksona...@redhat.com
---
  glx/Makefile.am  |1 -
  glx/g_disptab.h  |   52 --
  glx/glxcmds.c|  233 --
  glx/glxcmdsswap.c|1 -
  glx/glxdri.c |1 -
  glx/glxdri2.c|1 -
  glx/glxdriswrast.c   |1 -
  glx/glxext.c |   19 +
  glx/glxscreens.c |   27 --
  glx/glxscreens.h |   18 
  glx/indirect_table.c |1 -
  glx/xfont.c  |1 -
  hw/xquartz/GL/indirect.c |2 -
  hw/xwin/glx/indirect.c   |2 -
  14 files changed, 1 insertions(+), 359 deletions(-)
  delete mode 100644 glx/g_disptab.h

diff --git a/glx/Makefile.am b/glx/Makefile.am
index 9d9fa3c..d708872 100644
--- a/glx/Makefile.am
+++ b/glx/Makefile.am
@@ -68,7 +68,6 @@ libglx_la_SOURCES = \
indirect_program.c \
indirect_table.h \
indirect_texture_compression.c \
-g_disptab.h \
  glxbyteorder.h \
  glxcmds.c \
  glxcmdsswap.c \
diff --git a/glx/g_disptab.h b/glx/g_disptab.h
deleted file mode 100644
index 9b4308b..000
--- a/glx/g_disptab.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* DO NOT EDIT - THIS FILE IS AUTOMATICALLY GENERATED */
-#ifdef HAVE_DIX_CONFIG_H
-#includedix-config.h
-#endif
-
-#ifndef _GLX_g_disptab_h_
-#define _GLX_g_disptab_h_
-/*
- * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
- * Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the Software),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice including the dates of first publication and
- * either this permission notice or a reference to
- * http://oss.sgi.com/projects/FreeB/
- * shall be included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
- * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Except as contained in this notice, the name of Silicon Graphics, Inc.
- * shall not be used in advertising or otherwise to promote the sale, use or
- * other dealings in this Software without prior written authorization from
- * Silicon Graphics, Inc.
- */
-
-extern int __glXDisp_BindSwapBarrierSGIX(__GLXclientState *cl, GLbyte *pc);
-extern int __glXDisp_QueryMaxSwapBarriersSGIX(__GLXclientState *cl, GLbyte 
*pc);
-extern int __glXDisp_QueryHyperpipeNetworkSGIX(__GLXclientState *cl, GLbyte 
*pc);
-extern int __glXDisp_DestroyHyperpipeConfigSGIX (__GLXclientState *cl, GLbyte 
*pc);
-extern int __glXDisp_QueryHyperpipeConfigSGIX(__GLXclientState *cl, GLbyte 
*pc);
-extern int __glXDisp_HyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc);
-
-extern int __glXDispSwap_BindSwapBarrierSGIX(__GLXclientState *cl, GLbyte *pc);
-extern int __glXDispSwap_QueryMaxSwapBarriersSGIX(__GLXclientState *cl, GLbyte 
*pc);
-extern int __glXDispSwap_QueryHyperpipeNetworkSGIX(__GLXclientState *cl, 
GLbyte *pc);
-extern int __glXDispSwap_DestroyHyperpipeConfigSGIX (__GLXclientState *cl, 
GLbyte *pc);
-extern int __glXDispSwap_QueryHyperpipeConfigSGIX(__GLXclientState *cl, GLbyte 
*pc);
-extern int __glXDispSwap_HyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc);
-
-#endif 

Re: [PATCH] glx: Remove swap barrier and hyperpipe support

2010-11-22 Thread Adam Jackson
On Mon, 2010-11-22 at 23:16 +0100, Mario Kleiner wrote:
 On 11/19/2010 07:52 PM, Adam Jackson wrote:
  Never implemented in any open source driver.  The implementation
  assumed explicit DDX driver knowledge of how the client-side driver
  worked, since at the time the server's GL renderer was not a DRI driver.
  But now, it is, so any implementation of these should be done with
  additional DRI driver API, like the swap control extension.
 
 I assume this is only about removing the current unused implementation, 
 not about removing support completely from the xserver, right?

Well, at the moment those two things are equivalent: the only support in
the X server is these hooks, which are not filled in by any driver.

If there were a working implementation that'd be great.

- ajax


signature.asc
Description: This is a digitally signed message part
___
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] glx: Remove swap barrier and hyperpipe support

2010-11-19 Thread Adam Jackson
Never implemented in any open source driver.  The implementation
assumed explicit DDX driver knowledge of how the client-side driver
worked, since at the time the server's GL renderer was not a DRI driver.
But now, it is, so any implementation of these should be done with
additional DRI driver API, like the swap control extension.

Signed-off-by: Adam Jackson a...@redhat.com
---
 glx/Makefile.am  |1 -
 glx/g_disptab.h  |   52 --
 glx/glxcmds.c|  233 --
 glx/glxcmdsswap.c|1 -
 glx/glxdri.c |1 -
 glx/glxdri2.c|1 -
 glx/glxdriswrast.c   |1 -
 glx/glxext.c |   19 +
 glx/glxscreens.c |   27 --
 glx/glxscreens.h |   18 
 glx/indirect_table.c |1 -
 glx/xfont.c  |1 -
 hw/xquartz/GL/indirect.c |2 -
 hw/xwin/glx/indirect.c   |2 -
 14 files changed, 1 insertions(+), 359 deletions(-)
 delete mode 100644 glx/g_disptab.h

diff --git a/glx/Makefile.am b/glx/Makefile.am
index 9d9fa3c..d708872 100644
--- a/glx/Makefile.am
+++ b/glx/Makefile.am
@@ -68,7 +68,6 @@ libglx_la_SOURCES = \
indirect_program.c \
indirect_table.h \
indirect_texture_compression.c \
-g_disptab.h \
 glxbyteorder.h \
 glxcmds.c \
 glxcmdsswap.c \
diff --git a/glx/g_disptab.h b/glx/g_disptab.h
deleted file mode 100644
index 9b4308b..000
--- a/glx/g_disptab.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* DO NOT EDIT - THIS FILE IS AUTOMATICALLY GENERATED */
-#ifdef HAVE_DIX_CONFIG_H
-#include dix-config.h
-#endif
-
-#ifndef _GLX_g_disptab_h_
-#define _GLX_g_disptab_h_
-/*
- * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
- * Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the Software),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice including the dates of first publication and
- * either this permission notice or a reference to
- * http://oss.sgi.com/projects/FreeB/
- * shall be included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
- * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Except as contained in this notice, the name of Silicon Graphics, Inc.
- * shall not be used in advertising or otherwise to promote the sale, use or
- * other dealings in this Software without prior written authorization from
- * Silicon Graphics, Inc.
- */
-
-extern int __glXDisp_BindSwapBarrierSGIX(__GLXclientState *cl, GLbyte *pc);
-extern int __glXDisp_QueryMaxSwapBarriersSGIX(__GLXclientState *cl, GLbyte 
*pc);
-extern int __glXDisp_QueryHyperpipeNetworkSGIX(__GLXclientState *cl, GLbyte 
*pc);
-extern int __glXDisp_DestroyHyperpipeConfigSGIX (__GLXclientState *cl, GLbyte 
*pc);
-extern int __glXDisp_QueryHyperpipeConfigSGIX(__GLXclientState *cl, GLbyte 
*pc);
-extern int __glXDisp_HyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc);
-
-extern int __glXDispSwap_BindSwapBarrierSGIX(__GLXclientState *cl, GLbyte *pc);
-extern int __glXDispSwap_QueryMaxSwapBarriersSGIX(__GLXclientState *cl, GLbyte 
*pc);
-extern int __glXDispSwap_QueryHyperpipeNetworkSGIX(__GLXclientState *cl, 
GLbyte *pc);
-extern int __glXDispSwap_DestroyHyperpipeConfigSGIX (__GLXclientState *cl, 
GLbyte *pc);
-extern int __glXDispSwap_QueryHyperpipeConfigSGIX(__GLXclientState *cl, GLbyte 
*pc);
-extern int __glXDispSwap_HyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc);
-
-#endif /* _GLX_g_disptab_h_ */
diff --git a/glx/glxcmds.c b/glx/glxcmds.c
index 8d13c15..de9c3f0 100644
--- a/glx/glxcmds.c
+++ b/glx/glxcmds.c
@@ -38,7 +38,6 @@
 #include glxserver.h
 #include GL/glxtokens.h
 #include unpack.h
-#include g_disptab.h
 #include pixmapstr.h
 #include windowstr.h
 #include glxutil.h
@@ -2061,238 +2060,6 @@ int __glXDisp_RenderLarge(__GLXclientState *cl, GLbyte 
*pc)
 }
 }
 
-extern RESTYPE __glXSwapBarrierRes;
-
-int __glXDisp_BindSwapBarrierSGIX(__GLXclientState *cl, GLbyte *pc)
-{
-ClientPtr client = cl-client;
-xGLXBindSwapBarrierSGIXReq *req = (xGLXBindSwapBarrierSGIXReq *) pc;
-XID drawable = req-drawable;
-int barrier = 

Re: [PATCH] glx: Remove swap barrier and hyperpipe support

2010-11-19 Thread Kristian Høgsberg
On Fri, Nov 19, 2010 at 1:52 PM, Adam Jackson a...@redhat.com wrote:
 Never implemented in any open source driver.  The implementation
 assumed explicit DDX driver knowledge of how the client-side driver
 worked, since at the time the server's GL renderer was not a DRI driver.
 But now, it is, so any implementation of these should be done with
 additional DRI driver API, like the swap control extension.

Yeah, kill it.

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

 Signed-off-by: Adam Jackson a...@redhat.com
 ---
  glx/Makefile.am          |    1 -
  glx/g_disptab.h          |   52 --
  glx/glxcmds.c            |  233 
 --
  glx/glxcmdsswap.c        |    1 -
  glx/glxdri.c             |    1 -
  glx/glxdri2.c            |    1 -
  glx/glxdriswrast.c       |    1 -
  glx/glxext.c             |   19 +
  glx/glxscreens.c         |   27 --
  glx/glxscreens.h         |   18 
  glx/indirect_table.c     |    1 -
  glx/xfont.c              |    1 -
  hw/xquartz/GL/indirect.c |    2 -
  hw/xwin/glx/indirect.c   |    2 -
  14 files changed, 1 insertions(+), 359 deletions(-)
  delete mode 100644 glx/g_disptab.h

 diff --git a/glx/Makefile.am b/glx/Makefile.am
 index 9d9fa3c..d708872 100644
 --- a/glx/Makefile.am
 +++ b/glx/Makefile.am
 @@ -68,7 +68,6 @@ libglx_la_SOURCES = \
        indirect_program.c \
        indirect_table.h \
        indirect_texture_compression.c \
 -        g_disptab.h \
         glxbyteorder.h \
         glxcmds.c \
         glxcmdsswap.c \
 diff --git a/glx/g_disptab.h b/glx/g_disptab.h
 deleted file mode 100644
 index 9b4308b..000
 --- a/glx/g_disptab.h
 +++ /dev/null
 @@ -1,52 +0,0 @@
 -/* DO NOT EDIT - THIS FILE IS AUTOMATICALLY GENERATED */
 -#ifdef HAVE_DIX_CONFIG_H
 -#include dix-config.h
 -#endif
 -
 -#ifndef _GLX_g_disptab_h_
 -#define _GLX_g_disptab_h_
 -/*
 - * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
 - * Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved.
 - *
 - * Permission is hereby granted, free of charge, to any person obtaining a
 - * copy of this software and associated documentation files (the Software),
 - * to deal in the Software without restriction, including without limitation
 - * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 - * and/or sell copies of the Software, and to permit persons to whom the
 - * Software is furnished to do so, subject to the following conditions:
 - *
 - * The above copyright notice including the dates of first publication and
 - * either this permission notice or a reference to
 - * http://oss.sgi.com/projects/FreeB/
 - * shall be included in all copies or substantial portions of the Software.
 - *
 - * THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS
 - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
 MERCHANTABILITY,
 - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 - * SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
 LIABILITY,
 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
 - * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 - * SOFTWARE.
 - *
 - * Except as contained in this notice, the name of Silicon Graphics, Inc.
 - * shall not be used in advertising or otherwise to promote the sale, use or
 - * other dealings in this Software without prior written authorization from
 - * Silicon Graphics, Inc.
 - */
 -
 -extern int __glXDisp_BindSwapBarrierSGIX(__GLXclientState *cl, GLbyte *pc);
 -extern int __glXDisp_QueryMaxSwapBarriersSGIX(__GLXclientState *cl, GLbyte 
 *pc);
 -extern int __glXDisp_QueryHyperpipeNetworkSGIX(__GLXclientState *cl, GLbyte 
 *pc);
 -extern int __glXDisp_DestroyHyperpipeConfigSGIX (__GLXclientState *cl, 
 GLbyte *pc);
 -extern int __glXDisp_QueryHyperpipeConfigSGIX(__GLXclientState *cl, GLbyte 
 *pc);
 -extern int __glXDisp_HyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc);
 -
 -extern int __glXDispSwap_BindSwapBarrierSGIX(__GLXclientState *cl, GLbyte 
 *pc);
 -extern int __glXDispSwap_QueryMaxSwapBarriersSGIX(__GLXclientState *cl, 
 GLbyte *pc);
 -extern int __glXDispSwap_QueryHyperpipeNetworkSGIX(__GLXclientState *cl, 
 GLbyte *pc);
 -extern int __glXDispSwap_DestroyHyperpipeConfigSGIX (__GLXclientState *cl, 
 GLbyte *pc);
 -extern int __glXDispSwap_QueryHyperpipeConfigSGIX(__GLXclientState *cl, 
 GLbyte *pc);
 -extern int __glXDispSwap_HyperpipeConfigSGIX(__GLXclientState *cl, GLbyte 
 *pc);
 -
 -#endif /* _GLX_g_disptab_h_ */
 diff --git a/glx/glxcmds.c b/glx/glxcmds.c
 index 8d13c15..de9c3f0 100644
 --- a/glx/glxcmds.c
 +++ b/glx/glxcmds.c
 @@ -38,7 +38,6 @@
  #include glxserver.h
  #include GL/glxtokens.h
  #include unpack.h
 -#include g_disptab.h
  #include pixmapstr.h
  #include windowstr.h
  #include glxutil.h
 @@ -2061,238 +2060,6 @@ int __glXDisp_RenderLarge(__GLXclientState *cl, 
 GLbyte *pc)
     }
  }

 -extern RESTYPE 

Re: [PATCH] glx: Remove swap barrier and hyperpipe support

2010-11-19 Thread Julien Cristau
On Fri, Nov 19, 2010 at 13:52:49 -0500, Adam Jackson wrote:

 Never implemented in any open source driver.  The implementation
 assumed explicit DDX driver knowledge of how the client-side driver
 worked, since at the time the server's GL renderer was not a DRI driver.
 But now, it is, so any implementation of these should be done with
 additional DRI driver API, like the swap control extension.
 
 Signed-off-by: Adam Jackson a...@redhat.com

Reviewed-by: Julien Cristau jcris...@debian.org

Cheers,
Julien
___
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