[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

glamor-egl: Changes to 'debian-unstable'



 .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 <tjaalton@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.gong@gmail.com>
Date:   Fri Jan 24 20:55:08 2014 +0800

    Bump to version 0.6.0.
    
    Signed-off-by: Zhigang Gong <zhigang.gong@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.gong@gmail.com>
Date:   Fri Jan 24 21:39:13 2014 +0800

    Silent some compilation warnings.
    
    Signed-off-by: Zhigang Gong <zhigang.gong@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 <awatry@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 <awatry@gmail.com>
    Reviewed-by: Zhigang Gong <zhigang.gong@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.daenzer@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.daenzer@amd.com>
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
    Reviewed-by: Zhigang Gong <zhigang.gong@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(&region);
 	} 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(&region);
+fail_noregion:
 	dispatch = glamor_get_dispatch(glamor_priv);
 	glamor_set_alu(dispatch, GXcopy);
 	glamor_put_dispatch(glamor_priv);

commit 580aa0524a99ce80d3f556de4aa1a10b1f7f8de4
Author: Anthony Waters <awaters1@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 <awaters1@gmail.com>
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
    Reviewed-by: Zhigang Gong <zhigang.gong@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 <memsize@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 <memsize@videotron.ca>
    Reviewed-by: Zhigang Gong <zhigang.gong@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 <memsize@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 <memsize@videotron.ca>
    Reviewed-by: Zhigang Gong <zhigang.gong@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 <memsize@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 <memsize@videotron.ca>
    Reviewed-by: Zhigang Gong <zhigang.gong@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 <memsize@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 <memsize@videotron.ca>
    Reviewed-by: Zhigang Gong <zhigang.gong@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 <memsize@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 <memsize@videotron.ca>
    Reviewed-by: Zhigang Gong <zhigang.gong@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 <memsize@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 <memsize@videotron.ca>
    Reviewed-by: Zhigang Gong <zhigang.gong@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 <memsize@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 <memsize@videotron.ca>
    Reviewed-by: Zhigang Gong <zhigang.gong@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 <memsize@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 <memsize@videotron.ca>
    Reviewed-by: Zhigang Gong <zhigang.gong@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


Reply to: