.gitignore | 68 ++++ COPYING | 123 ++++++++ Makefile.am | 16 - README | 30 +- configure.ac | 42 ++ debian/changelog | 2 m4/.gitignore | 5 src/Makefile.am | 13 src/glamor.c | 86 +++++ src/glamor.h | 85 +++++ src/glamor_compositerects.c | 4 src/glamor_copyarea.c | 5 src/glamor_core.c | 13 src/glamor_egl.c | 263 +++++++++++++++++ src/glamor_fbo.c | 38 +- src/glamor_fill.c | 9 src/glamor_getimage.c | 1 src/glamor_getspans.c | 12 src/glamor_gl_dispatch.c | 1 src/glamor_gl_dispatch.h | 1 src/glamor_pixmap.c | 4 src/glamor_polylines.c | 166 +++++++++-- src/glamor_priv.h | 31 ++ src/glamor_putimage.c | 3 src/glamor_render.c | 40 +- src/glamor_setspans.c | 8 src/glamor_trapezoid.c | 9 src/glamor_window.c | 32 ++ src/glamor_xv.c | 645 ++++++++++++++++++++++++++++++++++++++++++++ 29 files changed, 1633 insertions(+), 122 deletions(-)
New commits: commit 4748aa72e8ec21443dc30b966c17ddd50c5494aa Author: Timo Aaltonen <tjaal...@ubuntu.com> Date: Fri Mar 28 15:26:15 2014 +0200 bump the version diff --git a/debian/changelog b/debian/changelog index 2e138ed..08f7f0e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -glamor-egl (0.5.1-1) UNRELEASED; urgency=low +glamor-egl (0.6.0-1) UNRELEASED; urgency=low * Initial release. (Closes: #XXXXXX) commit f4bb57f025472f48ef01193074a4950b4820845d Author: Zhigang Gong <zhigang.g...@gmail.com> Date: Fri Jan 24 20:55:08 2014 +0800 Bump to version 0.6.0. Signed-off-by: Zhigang Gong <zhigang.g...@gmail.com> diff --git a/configure.ac b/configure.ac index b1c4c7f..ab9f777 100644 --- a/configure.ac +++ b/configure.ac @@ -24,7 +24,7 @@ # Initialize Autoconf AC_PREREQ([2.63]) AC_INIT([glamor-egl], - [0.5.1], + [0.6.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [glamor-egl]) commit aff2f8d9533f565bf5924a673e0702d38b7effbd Author: Zhigang Gong <zhigang.g...@gmail.com> Date: Fri Jan 24 21:39:13 2014 +0800 Silent some compilation warnings. Signed-off-by: Zhigang Gong <zhigang.g...@gmail.com> diff --git a/src/glamor_getspans.c b/src/glamor_getspans.c index 6d6c8e9..dfb8ef4 100644 --- a/src/glamor_getspans.c +++ b/src/glamor_getspans.c @@ -39,7 +39,6 @@ _glamor_get_spans(DrawablePtr drawable, glamor_get_pixmap_private(pixmap); int i; uint8_t *readpixels_dst = (uint8_t *) dst; - void *data; int x_off, y_off; Bool ret = FALSE; @@ -48,10 +47,13 @@ _glamor_get_spans(DrawablePtr drawable, glamor_get_drawable_deltas(drawable, pixmap, &x_off, &y_off); for (i = 0; i < count; i++) { - data = glamor_download_sub_pixmap_to_cpu(pixmap, points[i].x + x_off, - points[i].y + y_off, widths[i], 1, - PixmapBytePad(widths[i], drawable->depth), - readpixels_dst, 0, GLAMOR_ACCESS_RO); +#ifdef DEBUG + void *data = +#endif + glamor_download_sub_pixmap_to_cpu(pixmap, points[i].x + x_off, + points[i].y + y_off, widths[i], 1, + PixmapBytePad(widths[i], drawable->depth), + readpixels_dst, 0, GLAMOR_ACCESS_RO); assert(data == readpixels_dst); readpixels_dst += PixmapBytePad(widths[i], drawable->depth); } diff --git a/src/glamor_render.c b/src/glamor_render.c index 21b8085..492d94d 100644 --- a/src/glamor_render.c +++ b/src/glamor_render.c @@ -865,16 +865,15 @@ combine_pict_format(PictFormatShort * des, const PictFormatShort src, const PictFormatShort mask, enum shader_in in_ca) { PictFormatShort new_vis; - int src_type, mask_type, src_bpp, mask_bpp; + int src_type, mask_type, src_bpp; int i; if (src == mask) { *des = src; return TRUE; } src_bpp = PICT_FORMAT_BPP(src); - mask_bpp = PICT_FORMAT_BPP(mask); - assert(src_bpp == mask_bpp); + assert(src_bpp == PICT_FORMAT_BPP(mask)); new_vis = PICT_FORMAT_VIS(src) | PICT_FORMAT_VIS(mask); commit 2b4a324b03c3ee34de1c122a6db4e6ce7146a3e0 Author: Aaron Watry <awa...@gmail.com> Date: Thu Jan 9 19:16:31 2014 -0600 polylines: Handle diagonal lines Split a diagonal line into 2 or more horizontal/vertical lines. We want to split the line into as small a number of segments as possible. E.g. line from (x,y) of (1,1)->(5,2) with a slope of .25 would be split into: (1,1)->(2,1), (3,2)->(5,2) This is basically an implementation of Bresenham's line algorithm but with FP instead of integers. If the line's horizontal-ish, then iterate over the x values, and every time the rounded y value changes, start a new rectangle. If abs(slope) is > 1, then iterate over the y values instead. If the slope is == 1, then we're basically stuck drawing a bunch of points. Partially Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=68524 Signed-off-by: Aaron Watry <awa...@gmail.com> Reviewed-by: Zhigang Gong <zhigang.g...@linux.intel.com> diff --git a/src/glamor_polylines.c b/src/glamor_polylines.c index e723e95..8891d3f 100644 --- a/src/glamor_polylines.c +++ b/src/glamor_polylines.c @@ -33,6 +33,126 @@ * GC PolyFillRect implementation, taken straight from fb_fill.c */ +static void _draw_line(xRectangle *rects, int rect, int x1, int y1, int x2, int y2){ + rects[rect].x = x1 < x2 ? x1 : x2; + rects[rect].y = y1 < y2 ? y1 : y2; + rects[rect].width = abs(x1 - x2) + 1; + rects[rect].height = abs(y1 - y2) + 1; +} + +static xRectangle *_emit_line(xRectangle *rects, int *rects_cnt, int *rect, int x1, int y1, int x2, int y2){ + *rects_cnt += 1; + rects = realloc(rects, sizeof(xRectangle) * *rects_cnt); + _draw_line(rects, *rect, x1, y1, x2, y2); + *rect += 1; + return rects; +} + +static void _init_points(int *last_x, int *last_y, int cur_x, int cur_y, int *last_start_x, int *last_start_y){ + *last_x = *last_start_x = cur_x; + *last_y = *last_start_y = cur_y; +} + +static xRectangle *_next_point(xRectangle *rects, int *rects_cnt, int *rect, int cur_x, int cur_y, int *last_x, int *last_y, int *last_start_x, int *last_start_y, int steep){ + if ((steep && *last_x != cur_x) || (!steep && *last_y != cur_y)){ + //emit a line from last_start_x,last_start_y to last_x,last_y + rects = _emit_line(rects, rects_cnt, rect, *last_start_x, *last_start_y, *last_x, *last_y); + *last_start_x = cur_x; + *last_start_y = cur_y; + } + *last_x = cur_x; + *last_y = cur_y; + return rects; +} + +/** + * We need to split the line into as small a number of segments as + * possible. + * + * E.g. line from (x,y) of (1,1)->(5,2) with a slope of .25 + + * would be split into two lines: + * (1,1)->(2,1), (3,2)->(5,2) + * + * This is basically an implementation of Bresenham's line algorithm but with + * FP for now, since I'm lazy. + * + * If the line's horizontal-ish, then iterate over the x values, and + * every time the rounded y value changes, start a new rectangle. + * If abs(slope) is > 1, then iterate over the y values instead. + * If the slope is == 1, then we're basically stuck drawing a bunch of points. + * + * @param rects Allocated list of xRectangle storage. grows when line is split + * @param rect_cnt Number of elements allocated in list + * @param rect Current index in list. modified as needed when the line is split + * @param x1 - X Coordinate of first point in line + * @param y1 - Y Coordinate of first point in line + * @param x2 - X Coordinate of second point in line + * @param y2 - Y Coordinate of second point in line + * @return rects - reallocated as needed... grows 1 rectangle every time the line splits + */ +static xRectangle *_glamor_diagonal_line(xRectangle *rects, int *rect_cnt, int *rect, int x1, int y1, int x2, int y2){ + float slope = (float)(y2-y1) / (float)(x2-x1); + int vert = fabs(slope) > 1; + int i; + + int cur_x, cur_y; //Current point being processed + int last_x, last_y; //Last point that was processed + int last_start_x, last_start_y; //Last x,y of a started line + + if (vert){ + //If we're dealing with slope > 1, then swap the x/y coords to make the + //line more horizontal than vertical. Reduces looping code + int temp = x1; + x1 = y1; + y1 = temp; + + temp = x2; + x2 = y2; + y2 = temp; + + //and recalculate the slope. + slope = (float)(y2-y1) / (float)(x2-x1); + } + if (x1 > x2){ + //And now, if the points go right to left, swap them. + int temp = x1; + x1 = x2; + x2 = temp; + + temp = y1; + y1 = y2; + y2 = temp; + } + cur_x = x1; + cur_y = y1; + + //Now just iterate over the range from x1 to x2 and calculate the y values + //When plotting the points, if (vert==true), then just swap the cur_x/cur_y values + if (vert) + _init_points(&last_x, &last_y, y1, x1, &last_start_x, &last_start_y); + else + _init_points(&last_x, &last_y, x1, y1, &last_start_x, &last_start_y); + + for(i = 0; i <= x2-x1; i++){ + cur_x = x1+i; + cur_y = y1 + round(((float)i)*slope); + if (vert) + rects = _next_point(rects, rect_cnt, rect, cur_y, cur_x, &last_x, &last_y, &last_start_x, &last_start_y, vert); + else + rects = _next_point(rects, rect_cnt, rect, cur_x, cur_y, &last_x, &last_y, &last_start_x, &last_start_y, vert); + } + + //And now finalize the last line segment using the space that was originally + //allocated for a horizontal/vertical line slot. + if (vert) + _draw_line(rects, *rect, last_start_x, last_start_y, cur_y, cur_x); + else + _draw_line(rects, *rect, last_start_x, last_start_y, cur_x, cur_y); + + return rects; +} + /** * glamor_poly_lines() checks if it can accelerate the lines as a group of * horizontal or vertical lines (rectangles), and uses existing rectangle fill @@ -44,7 +164,7 @@ _glamor_poly_lines(DrawablePtr drawable, GCPtr gc, int mode, int n, { xRectangle *rects; int x1, x2, y1, y2; - int i; + int i, rect_cnt, rect; /* Don't try to do wide lines or non-solid fill style. */ if (gc->lineWidth != 0) { @@ -59,11 +179,12 @@ _glamor_poly_lines(DrawablePtr drawable, GCPtr gc, int mode, int n, gc->lineStyle); goto fail; } - rects = malloc(sizeof(xRectangle) * (n - 1)); + rect_cnt = n-1; + rects = malloc(sizeof(xRectangle) * rect_cnt); x1 = points[0].x; y1 = points[0].y; /* If we have any non-horizontal/vertical, fall back. */ - for (i = 0; i < n - 1; i++) { + for (rect = i = 0; i < n - 1; i++, rect++) { if (mode == CoordModePrevious) { x2 = x1 + points[i + 1].x; y2 = y1 + points[i + 1].y; @@ -72,29 +193,34 @@ _glamor_poly_lines(DrawablePtr drawable, GCPtr gc, int mode, int n, y2 = points[i + 1].y; } if (x1 != x2 && y1 != y2) { - free(rects); - glamor_fallback("stub diagonal poly_line\n"); - goto fail; - } - if (x1 < x2) { - rects[i].x = x1; - rects[i].width = x2 - x1 + 1; - } else { - rects[i].x = x2; - rects[i].width = x1 - x2 + 1; - } - if (y1 < y2) { - rects[i].y = y1; - rects[i].height = y2 - y1 + 1; + //For a diagonal line, for every line segment after the first one + //in the line, we will bump rect_cnt and realloc rects + rects = _glamor_diagonal_line(rects, &rect_cnt, &rect, x1, y1, x2, y2); + + //free(rects); + //glamor_fallback("stub diagonal poly_line\n"); + //goto fail; } else { - rects[i].y = y2; - rects[i].height = y1 - y2 + 1; + if (x1 < x2) { + rects[rect].x = x1; + rects[rect].width = x2 - x1 + 1; + } else { + rects[rect].x = x2; + rects[rect].width = x1 - x2 + 1; + } + if (y1 < y2) { + rects[rect].y = y1; + rects[rect].height = y2 - y1 + 1; + } else { + rects[rect].y = y2; + rects[rect].height = y1 - y2 + 1; + } } x1 = x2; y1 = y2; } - gc->ops->PolyFillRect(drawable, gc, n - 1, rects); + gc->ops->PolyFillRect(drawable, gc, rect_cnt, rects); free(rects); return TRUE; commit 2ac2fc0de978ba7076ba7c5e3c34caec05939dde Author: Michel Dänzer <michel.daen...@amd.com> Date: Wed Jan 15 16:32:10 2014 +0900 Fix memory leak in _glamor_copy_n_to_n() It would leak the memory allocated for the region rects in some cases. Found with valgrind. Signed-off-by: Michel Dänzer <michel.daen...@amd.com> Reviewed-by: Alex Deucher <alexander.deuc...@amd.com> Reviewed-by: Zhigang Gong <zhigang.g...@linux.intel.com> diff --git a/src/glamor_copyarea.c b/src/glamor_copyarea.c index 4e6f953..bde6b4f 100644 --- a/src/glamor_copyarea.c +++ b/src/glamor_copyarea.c @@ -427,7 +427,7 @@ _glamor_copy_n_to_n(DrawablePtr src, dispatch = glamor_get_dispatch(glamor_priv); if (!glamor_set_alu(dispatch, gc->alu)) { glamor_put_dispatch(glamor_priv); - goto fail; + goto fail_noregion; } glamor_put_dispatch(glamor_priv); } @@ -577,7 +577,6 @@ _glamor_copy_n_to_n(DrawablePtr src, if (n_dst_region == 0) ok = TRUE; free(clipped_dst_regions); - RegionUninit(®ion); } else { ok = __glamor_copy_n_to_n(src, dst, gc, box, nbox, dx, dy, reverse, upsidedown, bitplane, @@ -585,6 +584,8 @@ _glamor_copy_n_to_n(DrawablePtr src, } fail: + RegionUninit(®ion); +fail_noregion: dispatch = glamor_get_dispatch(glamor_priv); glamor_set_alu(dispatch, GXcopy); glamor_put_dispatch(glamor_priv); commit 580aa0524a99ce80d3f556de4aa1a10b1f7f8de4 Author: Anthony Waters <awate...@gmail.com> Date: Wed Jan 15 16:17:08 2014 -0500 glamor: Fix coordinates handling for composite source/mask pictures There were actually two issues with the original code I believe, the first is that the call to glamor_convert_gradient_picture wasn't properly referencing the coordinates of the source/mask pictures. The second, was that the updated references (x_temp/y_temp) were also improperly set, they should always be 0 because the temp pictures are new ones that start at (0, 0). The reason it worked in certain cases and it didn't in others (notably the tray icons) was due to the numbers working out based on the call to glamor_composite. In the cases that it did work extent->x1 would equal x_dest and extent->y1 would equal y_dest, making it so what was actually passed into glamor_convert_gradient_picture and the settings for x_temp/y_temp were correct. However, for the case when extent->x1 wouldn't equal x_dest and extent->y1 wouldn't equal y_dest (for example with the tray icons) then the wrong parameters get passed into glamor_convert_gradient_picture and x_temp/y_temp are set improperly. Fixes issues with tray icons not appearing properly in certain cases. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=64738 Signed-Off-by: Anthony Waters <awate...@gmail.com> Reviewed-by: Alex Deucher <alexander.deuc...@amd.com> Reviewed-by: Zhigang Gong <zhigang.g...@linux.intel.com> diff --git a/src/glamor_render.c b/src/glamor_render.c index 76a571f..21b8085 100644 --- a/src/glamor_render.c +++ b/src/glamor_render.c @@ -1590,16 +1590,16 @@ glamor_composite_clipped_region(CARD8 op, || source_pixmap->drawable.height != height)))) { temp_src = glamor_convert_gradient_picture(screen, source, - extent->x1 + x_source - x_dest, - extent->y1 + y_source - y_dest, + x_source, + y_source, width, height); if (!temp_src) { temp_src = source; goto out; } temp_src_priv = glamor_get_pixmap_private((PixmapPtr)(temp_src->pDrawable)); - x_temp_src = - extent->x1 + x_dest; - y_temp_src = - extent->y1 + y_dest; + x_temp_src = 0; + y_temp_src = 0; } if (mask @@ -1614,16 +1614,16 @@ glamor_composite_clipped_region(CARD8 op, * to do reduce one convertion. */ temp_mask = glamor_convert_gradient_picture(screen, mask, - extent->x1 + x_mask - x_dest, - extent->y1 + y_mask - y_dest, + x_mask, + y_mask, width, height); if (!temp_mask) { temp_mask = mask; goto out; } temp_mask_priv = glamor_get_pixmap_private((PixmapPtr)(temp_mask->pDrawable)); - x_temp_mask = - extent->x1 + x_dest; - y_temp_mask = - extent->y1 + y_dest; + x_temp_mask = 0; + y_temp_mask = 0; } /* Do two-pass PictOpOver componentAlpha, until we enable * dual source color blending. commit fb4d046c04002851a5e895726461509983f633e7 Author: Gaetan Nadon <mems...@videotron.ca> Date: Tue Dec 10 11:13:32 2013 -0500 libglamoregl: remove -I$(top_srcdir)/src Automake always provide -I. It is at the beginning of the list of compiler options. Not needed either to find glamor_egl.c source. Signed-off-by: Gaetan Nadon <mems...@videotron.ca> Reviewed-by: Zhigang Gong <zhigang.g...@linux.intel.com> diff --git a/src/Makefile.am b/src/Makefile.am index 79ea959..2fd521f 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -59,11 +59,10 @@ module_LTLIBRARIES = $(LIBGLAMOREGL) libglamoregl_la_DEPENDENCIES = libglamor.la libglamoregl_la_LDFLAGS = -avoid-version -module libglamoregl_la_LIBADD = $(EGL_LIBS) $(GLX_SYS_LIBS) $(GBM_LIBS) libglamor.la -libglamoregl_la_SOURCES = glamor_eglmodule.c $(top_srcdir)/src/glamor_egl.c +libglamoregl_la_SOURCES = glamor_eglmodule.c glamor_egl.c libglamoregl_la_CFLAGS = \ $(AM_CFLAGS) \ $(GLX_DEFINES) \ - -I$(top_srcdir)/src \ $(LIBDRM_CFLAGS) \ $(EGL_CFLAGS) \ $(GBM_CFLAGS) commit 083c1bbbe2cae697e4448e2065a337bf78897cbc Author: Gaetan Nadon <mems...@videotron.ca> Date: Tue Dec 10 11:13:31 2013 -0500 Make: remove cruft copied over from the X server makefiles In toplevel makefile: nostdinc: only xserver, no other X modules aclocaldir: no local macros to install xkb_path: xserver only "Gross hack": xserver only In src/makefile: SOLARIS_ASM_CFLAGS; server only XORG_INCS: undefined variable DIX_CFLAGS: undefined variable Signed-off-by: Gaetan Nadon <mems...@videotron.ca> Reviewed-by: Zhigang Gong <zhigang.g...@linux.intel.com> diff --git a/Makefile.am b/Makefile.am index e5bb407..ee5e85f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,18 +1,10 @@ -AUTOMAKE_OPTIONS=nostdinc ACLOCAL_AMFLAGS = -I m4 SUBDIRS = src conf -aclocaldir = $(datadir)/aclocal - pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = glamor-egl.pc glamor.pc -DISTCHECK_CONFIGURE_FLAGS=\ - --with-xkb-path=$(XKB_BASE_DIRECTORY) \ - --with-xkb-bin-directory=$(XKB_BIN_DIRECTORY) \ - --with-xkb-output='$${datadir}/X11/xkb/compiled' - .PHONY: ChangeLog INSTALL INSTALL: @@ -22,7 +14,3 @@ ChangeLog: $(CHANGELOG_CMD) dist-hook: ChangeLog INSTALL - -# gross hack -relink: all - $(AM_V_at)$(MAKE) -C hw relink diff --git a/src/Makefile.am b/src/Makefile.am index 50cfe97..79ea959 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,19 +1,12 @@ lib_LTLIBRARIES = libglamor.la -# Override these since glamor doesn't need them and the needed files aren't -# built (in hw/xfree86/os-support/solaris) until after glamor is built -SOLARIS_ASM_CFLAGS="" - if GLAMOR_GLES2 libglamor_la_LIBADD = $(GLESV2_LIBS) else libglamor_la_LIBADD = $(GL_LIBS) endif -AM_CPPFLAGS = \ - $(XORG_INCS) - -AM_CFLAGS = $(CWARNFLAGS) $(XORG_CFLAGS) $(DIX_CFLAGS) $(LIBDRM_CFLAGS) +AM_CFLAGS = $(CWARNFLAGS) $(XORG_CFLAGS) $(LIBDRM_CFLAGS) libglamor_la_LDFLAGS = -version-info 0:0:0 commit 2aa9f50ad12bb996e58ca14270a92fb4795a2868 Author: Gaetan Nadon <mems...@videotron.ca> Date: Tue Dec 10 11:13:30 2013 -0500 Makefile: remove redundant distribution directives The pc.in specified in AC_CONFIG_FILES are always distributed SUBDIRS do not contain variables so DIST_SUBDIRS not required autogen.sh should not be distributed in tarballs. Signed-off-by: Gaetan Nadon <mems...@videotron.ca> Reviewed-by: Zhigang Gong <zhigang.g...@linux.intel.com> diff --git a/Makefile.am b/Makefile.am index 541d57c..e5bb407 100644 --- a/Makefile.am +++ b/Makefile.am @@ -8,8 +8,6 @@ aclocaldir = $(datadir)/aclocal pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = glamor-egl.pc glamor.pc -EXTRA_DIST = glamor-egl.pc.in glamor.pc.in autogen.sh - DISTCHECK_CONFIGURE_FLAGS=\ --with-xkb-path=$(XKB_BASE_DIRECTORY) \ --with-xkb-bin-directory=$(XKB_BIN_DIRECTORY) \ @@ -25,8 +23,6 @@ ChangeLog: dist-hook: ChangeLog INSTALL -DIST_SUBDIRS = src conf - # gross hack relink: all $(AM_V_at)$(MAKE) -C hw relink commit 89ee837c24de4d21205a8d1584adb2c3544dc6a9 Author: Gaetan Nadon <mems...@videotron.ca> Date: Tue Dec 10 11:13:29 2013 -0500 autoconf: fix warning by replacing the deprecated AC_HELP_STRING Signed-off-by: Gaetan Nadon <mems...@videotron.ca> Reviewed-by: Zhigang Gong <zhigang.g...@linux.intel.com> diff --git a/configure.ac b/configure.ac index 7646aaf..b1c4c7f 100644 --- a/configure.ac +++ b/configure.ac @@ -66,7 +66,7 @@ LIBGBMv9="gbm >= 9" # Define a configure option for an alternate input module directory AC_ARG_WITH(xorg-module-dir, - AC_HELP_STRING([--with-xorg-module-dir=DIR], + AS_HELP_STRING([--with-xorg-module-dir=DIR], [Default xorg module directory [[default=$libdir/xorg/modules]]]), [moduledir="$withval"], [moduledir="$libdir/xorg/modules"]) @@ -76,7 +76,7 @@ AC_SUBST([moduledir]) # Define a configure option for an alternate X Server configuration directory sysconfigdir=`$PKG_CONFIG --variable=sysconfigdir xorg-server` AC_ARG_WITH(xorg-conf-dir, - AC_HELP_STRING([--with-xorg-conf-dir=DIR], + AS_HELP_STRING([--with-xorg-conf-dir=DIR], [Default xorg.conf.d directory [[default=from $PKG_CONFIG xorg-server]]]), [configdir="$withval"], [configdir="$sysconfigdir"]) commit 023de5809520c782730a8baaa57768c70aa65a3d Author: Gaetan Nadon <mems...@videotron.ca> Date: Tue Dec 10 11:13:28 2013 -0500 configure.ac: the product in the url should be "xorg" The component is glamor, but the product is "xorg". Signed-off-by: Gaetan Nadon <mems...@videotron.ca> Reviewed-by: Zhigang Gong <zhigang.g...@linux.intel.com> diff --git a/configure.ac b/configure.ac index 5246dbb..7646aaf 100644 --- a/configure.ac +++ b/configure.ac @@ -23,9 +23,9 @@ # Initialize Autoconf AC_PREREQ([2.63]) -AC_INIT([glamor-egl], +AC_INIT([glamor-egl], [0.5.1], - [https://bugs.freedesktop.org/enter_bug.cgi?product=glamor], + [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [glamor-egl]) AC_CONFIG_SRCDIR([Makefile.am]) commit 18da2b06f76369dfcc81aaa54603e813f168d509 Author: Gaetan Nadon <mems...@videotron.ca> Date: Tue Dec 10 11:13:27 2013 -0500 README: fix typos and update information - Fix a few typos - Update the bottom section as glamor is a component of xorg and not a product - Provide glamor information following the same boiler plate pattern as all the other xorg modules Signed-off-by: Gaetan Nadon <mems...@videotron.ca> Reviewed-by: Zhigang Gong <zhigang.g...@linux.intel.com> diff --git a/README b/README index fd53d90..e6a5bbc 100644 --- a/README +++ b/README @@ -22,16 +22,16 @@ It consists of two packages: functions to create and initialize OpenGL/EGL context. -It’s somehow hardware independently. And could be a building +It’s somehow hardware independent. And could be a building block of any X server’s DDX driver: Xorg’s DDX driver could leverage glamor-egl package to create an egl context without any native X system. This package can support every platform which has OpenGL and gbm and drm libraries. - Now the xf86-intel-video driver uses glamor as one of its + Now the xf86-video-intel driver uses glamor as one of its option. When you build it with --enable-glamor, then it - will use glamor as its rendering enginee. + will use glamor as its rendering engine. Why glamor ---------------------------------------------- @@ -65,7 +65,7 @@ according to the rendering request. Normally, it will prepare a serial of hardware dependent command, and then upload the command to the GFX device through DRM interface. -Glamor just providess the third access method: +Glamor just provides the third access method: Each pixmap has a normal texture object. Bind the texture object to a frame buffer object. Writing shaders according to the rendering type and then call GL functions to render @@ -78,20 +78,22 @@ the normal 2D driver. Where to get more information about the driver ---------------------------------------------- - http://www.freedesktop.org/wiki/Software/Glamor +Please submit bugs & patches to the Xorg bugzilla: -Mailing list for communication with users and developers of -glamor: + https://bugs.freedesktop.org/enter_bug.cgi?product=xorg - Note: Subscription is required before posting, but anyone is - free to subscribe. See instructions (and archives) here: +All questions regarding this software should be directed at the +glamor mailing list: - http://lists.freedesktop.org/mailman/listinfo/glamor + http://lists.freedesktop.org/mailman/listinfo/glamor -To report bugs encountered with the driver, see: +The master development code repository can be found at: - TBD. + git://anongit.freedesktop.org/git/xorg/driver/glamor -To see bugs that are targeted to be fixed in the next release: + http://cgit.freedesktop.org/xorg/driver/glamor + +For more information on the git code manager, see: + + http://wiki.x.org/wiki/GitPage - TBD. commit 00ebe938e996f2fd12e1b193e46aa5cf8e02c374 Author: Gaetan Nadon <mems...@videotron.ca> Date: Tue Dec 10 11:13:26 2013 -0500 COPYING: update the file to reflect the licenses in the source code Signed-off-by: Gaetan Nadon <mems...@videotron.ca> Reviewed-by: Zhigang Gong <zhigang.g...@linux.intel.com> diff --git a/COPYING b/COPYING index 86240e3..52627be 100644 --- a/COPYING +++ b/COPYING @@ -1,4 +1,5 @@ -Copyright © 2010,2011 Intel Corporation +Copyright © 2008-2011 Intel Corporation +Copyright 2012,2013 Red Hat, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), @@ -18,3 +19,123 @@ THE AUTHORS OR COPYRIGHT HOLDERS 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. + +Copyright © 1998 Keith Packard + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Keith Packard not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Keith Packard makes no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + +Copyright © 2008 Red Hat, Inc. +Partly based on code Copyright © 2000 SuSE, Inc. + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Red Hat not be used in advertising or +publicity pertaining to distribution of the software without specific, +written prior permission. Red Hat makes no representations about the +suitability of this software for any purpose. It is provided "as is" +without express or implied warranty. + +Red Hat DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL Red Hat +BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of SuSE not be used in advertising or +publicity pertaining to distribution of the software without specific, +written prior permission. SuSE makes no representations about the +suitability of this software for any purpose. It is provided "as is" +without express or implied warranty. + +SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE +BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +Copyright (C) 1999-2008 Brian Paul 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 and this permission notice 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 +BRIAN PAUL 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. + +Copyright (C) 1998 The XFree86 Project, 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 and this permission notice 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 THE +XFREE86 PROJECT 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 the XFree86 Project shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization from the +XFree86 Project. + +Copyright 2011,2012 Zhigang Gong. + +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 +on the rights to use, copy, modify, merge, publish, distribute, sub +license, 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 and this permission notice (including the next +paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL +ADAM JACKSON 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. commit 5af26e11a0d12cd1fe95f35785588572794a95cc Author: Gaetan Nadon <mems...@videotron.ca> Date: Tue Dec 10 11:13:25 2013 -0500 .gitignore: use default X.Org toplevel gitignore Same pattern as all other modules. This module was not git ignoring any file. Signed-off-by: Gaetan Nadon <mems...@videotron.ca> Reviewed-by: Zhigang Gong <zhigang.g...@linux.intel.com> diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2b8c0e4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,68 @@ +# GNU Build System (Autotools) +aclocal.m4 +*.announce +autom4te.cache/ +autoscan.log +build-aux/ +ChangeLog +compile +config.cache +config.guess +config.h +config.h.in +config.log +config-ml.in +config.py +config.status +config.status.lineno +config.sub +configure +configure.scan +depcomp +.dirstamp +INSTALL +install-sh +libtool +ltmain.sh +Makefile +Makefile.in +mdate-sh +missing +mkinstalldirs +stamp-h? +# Edit Compile Debug Document Distribute +*~ +*.[0-9] +*.[0-9]x +*.bak +*.bin +core +.deps/ +*.dll +*.exe +*.gcda +*.gcno +*.gcov +*.kld +*.ko +*.ko.cmd +*.lai +.libs/ +*.l[oa] +*.[oa] +*.objq +*.patch +*.pc +*.pdb +*.pyc +py-compile +*.pyo +*.so +symlink-tree -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/e1wtwnb-0000za...@moszumanska.debian.org