rpms/mesa/devel mesa-6.4.1-texture-from-drawable.patch, NONE, 1.1 mesa.spec, 1.32, 1.33
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Tue Jan 17 22:30:54 UTC 2006
Author: krh
Update of /cvs/dist/rpms/mesa/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv10978
Modified Files:
mesa.spec
Added Files:
mesa-6.4.1-texture-from-drawable.patch
Log Message:
Add support for GLX_EXT_texture_from_drawable.
mesa-6.4.1-texture-from-drawable.patch:
include/GL/glxext.h | 17 ++++++++
src/glx/x11/glxcmds.c | 85 ++++++++++++++++++++++++++++++++++++++++++++
src/glx/x11/glxextensions.c | 1
src/glx/x11/glxextensions.h | 1
4 files changed, 104 insertions(+)
--- NEW FILE mesa-6.4.1-texture-from-drawable.patch ---
Index: include/GL/glxext.h
===================================================================
RCS file: /cvs/mesa/Mesa/include/GL/glxext.h,v
retrieving revision 1.12
diff -u -p -r1.12 glxext.h
--- include/GL/glxext.h 15 Aug 2005 23:25:33 -0000 1.12
+++ include/GL/glxext.h 17 Jan 2006 21:55:38 -0000
@@ -177,6 +177,10 @@ extern "C" {
#define GLX_SCREEN_EXT 0x800C
#endif
+#ifndef GLX_EXT_texture_from_drawable
+#define GLX_FRONT_LEFT_EXT 0x6005
+#endif
+
#ifndef GLX_SGIX_fbconfig
#define GLX_WINDOW_BIT_SGIX 0x00000001
#define GLX_PIXMAP_BIT_SGIX 0x00000002
@@ -481,6 +485,19 @@ typedef GLXContext ( * PFNGLXIMPORTCONTE
typedef void ( * PFNGLXFREECONTEXTEXTPROC) (Display *dpy, GLXContext context);
#endif
+#ifndef GLX_EXT_texture_from_drawable
+#define GLX_EXT_texture_from_drawable 1
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern Bool glXBindTexImageEXT(Display *dpy, GLXDrawable draw, int buffer, const int *attrib_list);
+extern Bool glXReleaseTexImageEXT(Display *dpy, GLXDrawable draw, int buffer);
+extern Bool glXDrawableAttribEXT(Display *dpy, GLXDrawable draw, const int *attribList);
+#endif
+typedef Bool ( * PFNGLXBINDTEXIMAGEEXTPROC) (Display *dpy, GLXDrawable draw, int buffer, const int *attrib_list);
+typedef Bool (* PFNGLXRELEASETEXIMAGEEXTPROC) (Display *dpy, GLXDrawable draw, int buffer);
+typedef Bool ( * PFNGLXDRAWABLEATTRIBEXTPROC) (Display *dpy, GLXDrawable draw, const int *attribList);
+#endif /* GLX_EXT_texture_from_drawable */
+
+
#ifndef GLX_SGIX_fbconfig
#define GLX_SGIX_fbconfig 1
#ifdef GLX_GLXEXT_PROTOTYPES
Index: src/glx/x11/glxcmds.c
===================================================================
RCS file: /cvs/mesa/Mesa/src/glx/x11/glxcmds.c,v
retrieving revision 1.11
diff -u -p -r1.11 glxcmds.c
--- src/glx/x11/glxcmds.c 11 Aug 2005 14:18:53 -0000 1.11
+++ src/glx/x11/glxcmds.c 17 Jan 2006 21:55:38 -0000
@@ -2589,7 +2589,88 @@ PUBLIC Bool glXSet3DfxModeMESA( int mode
}
/*@}*/
+PUBLIC Bool glXBindTexImageEXT(Display *dpy,
+ GLXDrawable drawable,
+ int buffer,
+ const int *attrib_list)
+{
+ xGLXVendorPrivateReq *req;
+ GLXContext gc = __glXGetCurrentContext();
+ CARD32 *drawable_ptr;
+ INT32 *buffer_ptr;
+ CARD8 opcode;
+
+ if (gc == NULL)
+ return False;
+
+#ifdef GLX_DIRECT_RENDERING
+ if (gc->isDirect)
+ return False;
+#endif
+
+ opcode = __glXSetupForCommand(dpy);
+ if (!opcode)
+ return False;
+
+ LockDisplay(dpy);
+ GetReqExtra(GLXVendorPrivate, sizeof(GLXDrawable)+sizeof(int),req);
+ req->reqType = opcode;
+ req->glxCode = X_GLXVendorPrivate;
+ req->vendorCode = X_GLXvop_BindTexImageMESA;
+ req->contextTag = gc->currentContextTag;
+
+ drawable_ptr = (CARD32 *) (req + 1);
+ buffer_ptr = (INT32 *) (drawable_ptr + 1);
+ *drawable_ptr = drawable;
+ *buffer_ptr = buffer;
+
+ UnlockDisplay(dpy);
+ SyncHandle();
+
+ return True;
+}
+
+PUBLIC Bool glXReleaseTexImageEXT(Display *dpy,
+ GLXDrawable drawable,
+ int buffer)
+{
+ xGLXVendorPrivateReq *req;
+ GLXContext gc = __glXGetCurrentContext();
+ CARD32 *drawable_ptr;
+ INT32 *buffer_ptr;
+ CARD8 opcode;
+
+ if (gc == NULL)
+ return False;
+
+#ifdef GLX_DIRECT_RENDERING
+ if (gc->isDirect)
+ return False;
+#endif
+
+ opcode = __glXSetupForCommand(dpy);
+ if (!opcode)
+ return False;
+
+ LockDisplay(dpy);
+ GetReqExtra(GLXVendorPrivate, sizeof(GLXDrawable)+sizeof(int),req);
+ req->reqType = opcode;
+ req->glxCode = X_GLXVendorPrivate;
+ req->vendorCode = X_GLXvop_ReleaseTexImageMESA;
+ req->contextTag = gc->currentContextTag;
+
+ drawable_ptr = (CARD32 *) (req + 1);
+ buffer_ptr = (INT32 *) (drawable_ptr + 1);
+
+ *drawable_ptr = drawable;
+ *buffer_ptr = buffer;
+
+ UnlockDisplay(dpy);
+ SyncHandle();
+
+ return True;
+}
/**
* \c strdup is actually not a standard ANSI C or POSIX routine.
@@ -2771,6 +2852,10 @@ static const struct name_address_pair GL
GLX_FUNCTION( glXGetMscRateOML ),
GLX_FUNCTION( glXGetSyncValuesOML ),
+ /*** GLX_EXT_texture_from_drawable ***/
+ GLX_FUNCTION( glXBindTexImageEXT ),
+ GLX_FUNCTION( glXReleaseTexImageEXT ),
+
#ifdef GLX_DIRECT_RENDERING
/*** DRI configuration ***/
GLX_FUNCTION( glXGetScreenDriver ),
Index: src/glx/x11/glxextensions.c
===================================================================
RCS file: /cvs/mesa/Mesa/src/glx/x11/glxextensions.c,v
retrieving revision 1.11
diff -u -p -r1.11 glxextensions.c
--- src/glx/x11/glxextensions.c 11 Aug 2005 14:18:53 -0000 1.11
+++ src/glx/x11/glxextensions.c 17 Jan 2006 21:55:38 -0000
@@ -77,6 +77,7 @@ static const struct extension_info known
{ GLX(EXT_import_context), VER(0,0), Y, Y, N, N },
{ GLX(EXT_visual_info), VER(0,0), Y, Y, N, N },
{ GLX(EXT_visual_rating), VER(0,0), Y, Y, N, N },
+ { GLX(EXT_texture_from_drawable), VER(0,0), Y, N, N, N },
{ GLX(MESA_agp_offset), VER(0,0), N, N, N, Y }, /* Deprecated */
{ GLX(MESA_allocate_memory), VER(0,0), Y, N, N, Y },
{ GLX(MESA_copy_sub_buffer), VER(0,0), N, N, N, N }, /* Deprecated? */
Index: src/glx/x11/glxextensions.h
===================================================================
RCS file: /cvs/mesa/Mesa/src/glx/x11/glxextensions.h,v
retrieving revision 1.8
diff -u -p -r1.8 glxextensions.h
--- src/glx/x11/glxextensions.h 26 Jul 2005 22:53:38 -0000 1.8
+++ src/glx/x11/glxextensions.h 17 Jan 2006 21:55:38 -0000
@@ -39,6 +39,7 @@ enum {
EXT_visual_info_bit,
EXT_visual_rating_bit,
EXT_import_context_bit,
+ EXT_texture_from_drawable_bit,
MESA_agp_offset_bit,
MESA_allocate_memory_bit, /* Replaces MESA_agp_offset & NV_vertex_array_range */
MESA_copy_sub_buffer_bit,
Index: mesa.spec
===================================================================
RCS file: /cvs/dist/rpms/mesa/devel/mesa.spec,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- mesa.spec 24 Dec 2005 09:12:21 -0000 1.32
+++ mesa.spec 17 Jan 2006 22:30:50 -0000 1.33
@@ -70,6 +70,8 @@
# branch and can be dropped when we update to 6.4.2.
Patch100: mesa-6.4.1-amd64-assyntax-fix.patch
+Patch200: mesa-6.4.1-texture-from-drawable.patch
+
BuildRequires: pkgconfig
BuildRequires: libdrm-devel >= 2.0-1
BuildRequires: libXxf86vm-devel
@@ -216,6 +218,8 @@
%patch100 -p1 -b .amd64-assyntax-fix
+%patch200 -p0 -b .texture-from-drawable
+
# WARNING: The following files are copyright "Mark J. Kilgard" under the GLUT
# license and are not open source/free software, so we remove them.
rm include/GL/uglglutshapes.h
@@ -393,6 +397,10 @@
%defattr(-,root,root,-)
%changelog
+* Tue Jan 17 2006 Kristian Høgsberg <krh at redhat.com> 6.4.1-3
+- Add mesa-6.4.1-texture-from-drawable.patch to implement protocol
+ support for GLX_EXT_texture_from_drawable extension.
+
* Sat Dec 24 2005 Mike A. Harris <mharris at redhat.com> 6.4.1-3
- Manually copy libGLw headers that Mesa forgets to install, to fix (#173879).
- Added mesa-6.4.1-libGLw-enable-motif-support.patch to fix (#175251).
More information about the fedora-cvs-commits
mailing list