Hello community,
here is the log from the commit of package xgl
checked in at Fri May 26 15:29:51 CEST 2006.
--------
--- xgl/xgl.changes 2006-05-22 02:31:24.000000000 +0200
+++ xgl/xgl.changes 2006-05-26 11:58:06.000000000 +0200
@@ -1,0 +2,6 @@
+Fri May 26 11:56:55 CEST 2006 - dreveman(a)suse.de
+
+- Adjust for capStyle correctly in xglFillSegment. (bnc #178234)
+- Add info logging. (bnc #178214)
+
+-------------------------------------------------------------------
New:
----
178214.diff
178234.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xgl.spec ++++++
--- /var/tmp/diff_new_pack.V3Eowc/_old 2006-05-26 15:29:39.000000000 +0200
+++ /var/tmp/diff_new_pack.V3Eowc/_new 2006-05-26 15:29:39.000000000 +0200
@@ -24,7 +24,7 @@
Requires: xgl-hardware-list
Autoreqprov: on
Version: cvs_060522
-Release: 1
+Release: 2
Summary: Xserver that uses OpenGL for its drawing operations.
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: %ix86 x86_64 ppc ppc64 ia64
@@ -42,6 +42,8 @@
Patch1: xgl-security-file-dir.diff
Patch2: xgl-xpstubs-link-hack.diff
Patch3: xgl-maprules-tolower-fix.diff
+Patch4: 178214.diff
+Patch5: 178234.diff
%description
Xgl is an Xserver that uses OpenGL for its drawing operations. Some
@@ -79,6 +81,8 @@
patch -d xorg-* -p0 < $RPM_SOURCE_DIR/xgl-security-file-dir.diff || exit 1
patch -d xorg-* -p0 < $RPM_SOURCE_DIR/xgl-xpstubs-link-hack.diff || exit 1
patch -d xorg-* -p0 < $RPM_SOURCE_DIR/xgl-maprules-tolower-fix.diff || exit 1
+patch -d xorg-* -p0 < $RPM_SOURCE_DIR/178214.diff || exit 1
+patch -d xorg-* -p0 < $RPM_SOURCE_DIR/178234.diff || exit 1
%build
PREFIX=$RPM_BUILD_ROOT/usr/X11R6/lib/xgl
@@ -141,6 +145,9 @@
/var/adm/fillup-templates/sysconfig.displaymanager-%name
%changelog -n xgl
+* Fri May 26 2006 - dreveman(a)suse.de
+- Adjust for capStyle correctly in xglFillSegment. (bnc #178234)
+- Add info logging. (bnc #178214)
* Mon May 22 2006 - dreveman(a)suse.de
- Fix pbuffer resize issue that caused the server to crash when
using fglrx driver. (bnc #175637)
++++++ 178214.diff ++++++
diff -ur xorg-server-1.1.99.1/hw/xgl/Makefile.am ./hw/xgl/Makefile.am
--- xorg-server-1.1.99.1/hw/xgl/Makefile.am 2006-04-08 12:48:38.000000000 +0200
+++ ./hw/xgl/Makefile.am 2006-05-24 11:15:48.000000000 +0200
@@ -28,6 +28,10 @@
-I@MESA_SOURCE@/src/mesa/glapi \
$(XGLMODULES_CFLAGS)
+if MMX_CAPABLE
+AM_CFLAGS += -DUSE_MMX
+endif
+
noinst_LIBRARIES = libxgl.a
libxgl_a_SOURCES = \
diff -ur xorg-server-1.1.99.1/hw/xgl/Makefile.in ./hw/xgl/Makefile.in
--- xorg-server-1.1.99.1/hw/xgl/Makefile.in 2006-05-02 01:28:54.000000000 +0200
+++ ./hw/xgl/Makefile.in 2006-05-24 11:16:02.000000000 +0200
@@ -37,6 +37,7 @@
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
+@MMX_CAPABLE_TRUE@am__append_1 = -DUSE_MMX
bin_PROGRAMS = $(am__EXEEXT_1)
subdir = hw/xgl
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
@@ -556,16 +557,10 @@
$(XGLX_SUBDIRS) \
$(XEGL_SUBDIRS)
-AM_CFLAGS = \
- @SERVER_DEFINES@ \
- -DHAVE_XGL_CONFIG_H \
- -DHAVE_DIX_CONFIG_H \
- -I$(top_srcdir)/GL/glx \
- -I$(top_srcdir)/GL/include \
- -I@MESA_SOURCE@/include \
- -I@MESA_SOURCE@/src/mesa/glapi \
- $(XGLMODULES_CFLAGS)
-
+AM_CFLAGS = @SERVER_DEFINES@ -DHAVE_XGL_CONFIG_H -DHAVE_DIX_CONFIG_H \
+ -I$(top_srcdir)/GL/glx -I$(top_srcdir)/GL/include \
+ -I@MESA_SOURCE@/include -I@MESA_SOURCE@/src/mesa/glapi \
+ $(XGLMODULES_CFLAGS) $(am__append_1)
noinst_LIBRARIES = libxgl.a
libxgl_a_SOURCES = \
xgl.h \
diff -ur xorg-server-1.1.99.1/hw/xgl/egl/xeglinit.c ./hw/xgl/egl/xeglinit.c
--- xorg-server-1.1.99.1/hw/xgl/egl/xeglinit.c 2006-04-13 13:42:18.000000000 +0200
+++ ./hw/xgl/egl/xeglinit.c 2006-05-24 14:01:47.000000000 +0200
@@ -46,6 +46,8 @@
static Bool loadGlx = TRUE;
#endif
+char *xglLogFile = 0;
+
void
InitOutput (ScreenInfo *pScreenInfo,
int argc,
diff -ur xorg-server-1.1.99.1/hw/xgl/xgl.h ./hw/xgl/xgl.h
--- xorg-server-1.1.99.1/hw/xgl/xgl.h 2006-05-19 13:08:33.000000000 +0200
+++ ./hw/xgl/xgl.h 2006-05-24 13:55:29.000000000 +0200
@@ -67,6 +67,7 @@
#define VERSION "0.0.1"
extern WindowPtr *WindowTable;
+extern char *xglLogFile;
#define XGL_DEFAULT_PBO_MASK 0
diff -ur xorg-server-1.1.99.1/hw/xgl/xglinit.c ./hw/xgl/xglinit.c
--- xorg-server-1.1.99.1/hw/xgl/xglinit.c 2006-04-13 13:42:12.000000000 +0200
+++ ./hw/xgl/xglinit.c 2006-05-24 14:02:00.000000000 +0200
@@ -63,6 +63,9 @@
#endif
+char logFile[260];
+char *xglLogFile = 0;
+
typedef struct _xglDDXFunc {
void (*initOutput) (ScreenInfo *pScreenInfo,
int argc,
@@ -188,6 +191,15 @@
int argc,
char **argv)
{
+ char oldLogFile[260];
+
+ snprintf (logFile, 256, "/var/log/Xgl.%s.log", display);
+ snprintf (oldLogFile, 260, "/var/log/Xgl.%s.log.old", display);
+
+ rename (logFile, oldLogFile);
+
+ xglLogFile = logFile;
+
(void) symTab;
if (!xglEnsureDDXModule ())
diff -ur xorg-server-1.1.99.1/hw/xgl/xglscreen.c ./hw/xgl/xglscreen.c
--- xorg-server-1.1.99.1/hw/xgl/xglscreen.c 2006-04-13 13:55:19.000000000 +0200
+++ ./hw/xgl/xglscreen.c 2006-05-24 13:57:59.000000000 +0200
@@ -112,6 +112,184 @@
return TRUE;
}
+#include "fbmmx.h"
+#include <errno.h>
+
+static Bool
+printFmt (FILE *logFp,
+ glitz_drawable_format_t *format)
+{
+ if (format)
+ {
+ fprintf (logFp, "0x%x\t%d/%d/%d/%d \t%d\t%d\t%c\t%d\n",
+ (int) format->id,
+ format->color.red_size,
+ format->color.green_size,
+ format->color.blue_size,
+ format->color.alpha_size,
+ format->depth_size,
+ format->stencil_size,
+ (format->doublebuffer) ? 'y' : '.',
+ format->samples);
+
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static void
+xglLogScreen (ScreenPtr pScreen)
+{
+ FILE *logFp;
+
+ XGL_SCREEN_PRIV (pScreen);
+
+ if (!xglLogFile)
+ return;
+
+ logFp = fopen (xglLogFile, "a");
+ if (logFp)
+ {
+ static char *geometryDataTypeName[] = {
+ "short",
+ "float"
+ };
+ static char *geometryUsageName[] = {
+ "stream",
+ "static",
+ "dynamic",
+ "sysmem"
+ };
+ glitz_drawable_t *drawable = pScreenPriv->drawable;
+ glitz_format_t *formats;
+ int i;
+
+ fprintf (logFp, "screen %d - %dx%d @ %d:\n", pScreen->myNum,
+ pScreen->width, pScreen->height, pScreen->rootDepth);
+
+ fprintf (logFp, "\n");
+ fprintf (logFp, "GL vendor: %s\n",
+ glitz_drawable_get_gl_string (drawable,
+ GLITZ_GL_STRING_VENDOR));
+ fprintf (logFp, "GL renderer: %s\n",
+ glitz_drawable_get_gl_string (drawable,
+ GLITZ_GL_STRING_RENDERER));
+ fprintf (logFp, "GL version: %s\n",
+ glitz_drawable_get_gl_string (drawable,
+ GLITZ_GL_STRING_VERSION));
+ fprintf (logFp, "GL extensions: %s\n",
+ glitz_drawable_get_gl_string (drawable,
+ GLITZ_GL_STRING_EXTENSIONS));
+
+ fprintf (logFp, "\n");
+ fprintf (logFp, "geometry data type: %s\n",
+ geometryDataTypeName[pScreenPriv->geometryDataType]);
+ fprintf (logFp, "geometry usage: %s\n",
+ geometryUsageName[pScreenPriv->geometryUsage]);
+ fprintf (logFp, "Y inverted: %d\n", pScreenPriv->yInverted);
+ fprintf (logFp, "PBO mask: 0x%08x\n", pScreenPriv->pboMask);
+ fprintf (logFp, "lines: %d\n", pScreenPriv->lines);
+ fprintf (logFp, "YUV: %d\n", !pScreenPriv->noYuv);
+ fprintf (logFp, "XV filter: %s\n", pScreenPriv->xvFilter);
+ fprintf (logFp, "accel:\n");
+ fprintf (logFp, " pixmap: %d %d - %dx%d - %dx%d\n",
+ pScreenPriv->accel.pixmap.enabled,
+ pScreenPriv->accel.pixmap.pbuffer,
+ pScreenPriv->accel.pixmap.size.minWidth,
+ pScreenPriv->accel.pixmap.size.minHeight,
+ pScreenPriv->accel.pixmap.size.aboveWidth,
+ pScreenPriv->accel.pixmap.size.aboveHeight);
+ fprintf (logFp, " window: %d %d - %dx%d - %dx%d\n",
+ pScreenPriv->accel.window.enabled,
+ pScreenPriv->accel.window.pbuffer,
+ pScreenPriv->accel.window.size.minWidth,
+ pScreenPriv->accel.window.size.minHeight,
+ pScreenPriv->accel.window.size.aboveWidth,
+ pScreenPriv->accel.window.size.aboveHeight);
+ fprintf (logFp, " glx: %d %d - %dx%d - %dx%d\n",
+ pScreenPriv->accel.glx.enabled,
+ pScreenPriv->accel.glx.pbuffer,
+ pScreenPriv->accel.glx.size.minWidth,
+ pScreenPriv->accel.glx.size.minHeight,
+ pScreenPriv->accel.glx.size.aboveWidth,
+ pScreenPriv->accel.glx.size.aboveHeight);
+ fprintf (logFp, " xv: %d %d - %dx%d - %dx%d\n",
+ pScreenPriv->accel.xv.enabled,
+ pScreenPriv->accel.xv.pbuffer,
+ pScreenPriv->accel.xv.size.minWidth,
+ pScreenPriv->accel.xv.size.minHeight,
+ pScreenPriv->accel.xv.size.aboveWidth,
+ pScreenPriv->accel.xv.size.aboveHeight);
+ fprintf (logFp, "features: 0x%08x\n", pScreenPriv->features);
+ fprintf (logFp, "MMX: %d\n", fbHaveMMX ());
+
+#if IMAGE_BYTE_ORDER == MSBFirst
+ fprintf (logFp, "byte order: MSB\n");
+#else
+ fprintf (logFp, "byte order: LSB\n");
+#endif
+
+ fprintf (logFp, "\n");
+ fprintf (logFp, "drawable format:\n");
+ printFmt (logFp, glitz_drawable_get_format (drawable));
+
+ fprintf (logFp, "\n");
+ fprintf (logFp, "pbuffer formats:\n");
+
+ i = 0;
+ while (printFmt (logFp, glitz_find_pbuffer_format (drawable, 0, 0, i)))
+ i++;
+
+ fprintf (logFp, "\n");
+ fprintf (logFp, "fbo formats:\n");
+
+ i = 0;
+ while (printFmt (logFp, glitz_find_drawable_format (drawable, 0, 0, i)))
+ i++;
+
+ fprintf (logFp, "\n");
+ fprintf (logFp, "surface formats:\n");
+
+ i = 0;
+ do {
+ formats = glitz_find_format (drawable, 0, NULL, i++);
+
+ if (formats)
+ {
+ fprintf (logFp, "0x%x\t", (int) formats->id);
+
+ switch (formats->color.fourcc) {
+ case GLITZ_FOURCC_RGB:
+ fprintf (logFp, "color\tRGB\t%d/%d/%d/%d",
+ formats->color.red_size,
+ formats->color.green_size,
+ formats->color.blue_size,
+ formats->color.alpha_size);
+ break;
+ case GLITZ_FOURCC_YV12:
+ fprintf (logFp, "color\tYV12");
+ break;
+ case GLITZ_FOURCC_YUY2:
+ fprintf (logFp, "color\tYUY2");
+ break;
+ }
+
+ fprintf (logFp, "\n");
+ }
+ } while (formats);
+
+ fprintf (logFp, "\n");
+
+ fclose (logFp);
+ }
+ else
+ {
+ ErrorF ("Couldn't open log file '%s' for writing: %s\n",
+ xglLogFile, strerror (errno));
+ }
+}
+
Bool
xglScreenInit (ScreenPtr pScreen)
{
@@ -390,6 +568,8 @@
return FALSE;
#endif
+ xglLogScreen (pScreen);
+
return TRUE;
}
++++++ 178234.diff ++++++
--- hw/xgl/xglfill.c 18 Jan 2006 07:15:54 -0000 1.9
+++ hw/xgl/xglfill.c 26 May 2006 08:24:30 -0000
@@ -585,15 +585,19 @@
{
full.x1 = pSegInit->x1;
full.x2 = pSegInit->x2;
+ if (pGC->capStyle != CapNotLast)
+ full.x2++;
}
else
{
full.x1 = pSegInit->x2;
- full.x2 = pSegInit->x1;
+ full.x2 = pSegInit->x1 + 1;
+ if (pGC->capStyle == CapNotLast)
+ full.x1++;
}
full.x1 += pDrawable->x;
- full.x2 += pDrawable->x + 1;
+ full.x2 += pDrawable->x;
full.y1 = pSegInit->y1 + pDrawable->y;
full.y2 = full.y1 + 1;
}
@@ -603,15 +607,19 @@
{
full.y1 = pSegInit->y1;
full.y2 = pSegInit->y2;
+ if (pGC->capStyle != CapNotLast)
+ full.y2++;
}
else
{
full.y1 = pSegInit->y2;
full.y2 = pSegInit->y1;
+ if (pGC->capStyle == CapNotLast)
+ full.y1++;
}
full.y1 += pDrawable->y;
- full.y2 += pDrawable->y + 1;
+ full.y2 += pDrawable->y;
full.x1 = pSegInit->x1 + pDrawable->x;
full.x2 = full.x1 + 1;
}
++++++ glitz-0.5.6.tar.gz ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/glitz-0.5.6/ChangeLog new/glitz-0.5.6/ChangeLog
--- old/glitz-0.5.6/ChangeLog 2006-05-22 02:24:14.000000000 +0200
+++ new/glitz-0.5.6/ChangeLog 2006-05-24 14:10:15.000000000 +0200
@@ -1,3 +1,12 @@
+2006-05-24 David Reveman <davidr(a)novell.com>
+
+ * src/glx/glitz_glx_context.c (_glitz_glx_context_initialize):
+ * src/glitz.h: Add direct rendering to feature mask.
+
+ * src/glitz_drawable.c:
+ * src/glitzint.h:
+ * src/glitz.h: Add glitz_drawable_get_gl_string.
+
2006-05-22 David Reveman <davidr(a)novell.com>
* src/glx/glitz_glx_context.c (_glitz_glx_context_update): Update
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/glitz-0.5.6/src/glitz.h new/glitz-0.5.6/src/glitz.h
--- old/glitz-0.5.6/src/glitz.h 2006-05-20 22:30:03.000000000 +0200
+++ new/glitz-0.5.6/src/glitz.h 2006-05-24 14:07:29.000000000 +0200
@@ -130,6 +130,7 @@
#define GLITZ_FEATURE_MULTI_DRAW_ARRAYS_MASK (1L << 15)
#define GLITZ_FEATURE_FRAMEBUFFER_OBJECT_MASK (1L << 16)
#define GLITZ_FEATURE_COPY_SUB_BUFFER_MASK (1L << 17)
+#define GLITZ_FEATURE_DIRECT_RENDERING_MASK (1L << 18)
/* glitz_format.c */
@@ -282,6 +283,17 @@
glitz_drawable_format_t *
glitz_drawable_get_format (glitz_drawable_t *drawable);
+typedef enum {
+ GLITZ_GL_STRING_VENDOR,
+ GLITZ_GL_STRING_RENDERER,
+ GLITZ_GL_STRING_VERSION,
+ GLITZ_GL_STRING_EXTENSIONS
+} glitz_gl_string_t;
+
+const char *
+glitz_drawable_get_gl_string (glitz_drawable_t *drawable,
+ glitz_gl_string_t name);
+
/* glitz_surface.c */
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/glitz-0.5.6/src/glitz_drawable.c new/glitz-0.5.6/src/glitz_drawable.c
--- old/glitz-0.5.6/src/glitz_drawable.c 2006-03-13 14:49:42.000000000 +0100
+++ new/glitz-0.5.6/src/glitz_drawable.c 2006-05-24 14:08:00.000000000 +0200
@@ -408,3 +408,36 @@
return &drawable->format->d;
}
slim_hidden_def(glitz_drawable_get_format);
+
+const char *
+glitz_drawable_get_gl_string (glitz_drawable_t *drawable,
+ glitz_gl_string_t name)
+{
+ const glitz_gl_ubyte_t *string;
+ glitz_gl_enum_t gl_name;
+
+ switch (name) {
+ case GLITZ_GL_STRING_VENDOR:
+ gl_name = GLITZ_GL_VENDOR;
+ break;
+ case GLITZ_GL_STRING_RENDERER:
+ gl_name = GLITZ_GL_RENDERER;
+ break;
+ case GLITZ_GL_STRING_VERSION:
+ gl_name = GLITZ_GL_VERSION;
+ break;
+ case GLITZ_GL_STRING_EXTENSIONS:
+ gl_name = GLITZ_GL_EXTENSIONS;
+ break;
+ default:
+ return NULL;
+ }
+
+ drawable->backend->push_current (drawable, NULL, GLITZ_CONTEXT_CURRENT,
+ NULL);
+ string = drawable->backend->gl->get_string (gl_name);
+ drawable->backend->pop_current (drawable);
+
+ return (const char *) string;
+}
+slim_hidden_def(glitz_drawable_get_gl_string);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/glitz-0.5.6/src/glitz_gl.h new/glitz-0.5.6/src/glitz_gl.h
--- old/glitz-0.5.6/src/glitz_gl.h 2006-03-13 14:43:57.000000000 +0100
+++ new/glitz-0.5.6/src/glitz_gl.h 2006-05-24 13:06:06.000000000 +0200
@@ -60,6 +60,8 @@
#define GLITZ_GL_NO_ERROR 0x0
#define GLITZ_GL_INVALID_OPERATION 0x0502
+#define GLITZ_GL_VENDOR 0x1F00
+#define GLITZ_GL_RENDERER 0x1F01
#define GLITZ_GL_VERSION 0x1F02
#define GLITZ_GL_EXTENSIONS 0x1F03
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/glitz-0.5.6/src/glitzint.h new/glitz-0.5.6/src/glitzint.h
--- old/glitz-0.5.6/src/glitzint.h 2006-03-13 14:43:57.000000000 +0100
+++ new/glitz-0.5.6/src/glitzint.h 2006-05-24 13:13:14.000000000 +0200
@@ -1077,6 +1077,7 @@
slim_hidden_proto(glitz_drawable_finish)
slim_hidden_proto(glitz_drawable_get_features)
slim_hidden_proto(glitz_drawable_get_format)
+slim_hidden_proto(glitz_drawable_get_gl_string)
slim_hidden_proto(glitz_surface_set_transform)
slim_hidden_proto(glitz_surface_set_fill)
slim_hidden_proto(glitz_surface_set_component_alpha)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/glitz-0.5.6/src/glx/glitz_glx_context.c new/glitz-0.5.6/src/glx/glitz_glx_context.c
--- old/glitz-0.5.6/src/glx/glitz_glx_context.c 2006-05-22 02:17:11.000000000 +0200
+++ new/glitz-0.5.6/src/glx/glitz_glx_context.c 2006-05-24 12:46:01.000000000 +0200
@@ -368,6 +368,9 @@
if (screen_info->glx_feature_mask & GLITZ_GLX_FEATURE_COPY_SUB_BUFFER_MASK)
context->backend.feature_mask |= GLITZ_FEATURE_COPY_SUB_BUFFER_MASK;
+ if (glXIsDirect (screen_info->display_info->display, context->context))
+ context->backend.feature_mask |= GLITZ_FEATURE_DIRECT_RENDERING_MASK;
+
context->initialized = 1;
}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...