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@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@suse.de +- Adjust for capStyle correctly in xglFillSegment. (bnc #178234) +- Add info logging. (bnc #178214) * Mon May 22 2006 - dreveman@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@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@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...
participants (1)
-
root@suse.de