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>

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>

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>

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>

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>

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>

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>

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>

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>

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>

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>

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>

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>

commit 75ea1b30117450ff1b2b34bc14acbcf4f466694d
Author: Dave Airlie <airlied@redhat.com>
Date:   Fri Dec 13 11:33:46 2013 +1000

    glamor: fix leak in xv code.
    
    This loop needed to go one higher, not sure if this fixes the leak
    MrCooper was seeing on irc, but it fixes a leak.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
    Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit 89a62fb9363da243f55917eb4f01f441dc4ef8df
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Sun Dec 8 16:43:08 2013 -0500

    Fix glamor_egl->egl_create_image_khr makes pointer from integer
    
    This is a warning, but a real problem can occur on some system.
    
    Reported-by: Fabio Pedretti <fabio.ped@libero.it>
    Reviewed-by: Axel Davy <davyaxel@free.fr>
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
    Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit 6f285c23b1663a0c3ac12d5fceeec465e90717f5
Author: Axel Davy <axel.davy@ens.fr>
Date:   Sun Dec 8 11:30:32 2013 +0100

    Fix configure to disable building Dri3 support when GBM v9 is missing
    
    Signed-off-by: Axel Davy <axel.davy@ens.fr>
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
    Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit 16ca8679b5e3b9e2937ab911397e78576fd23c45
Author: Axel Davy <axel.davy@ens.fr>
Date:   Thu Dec 5 08:49:15 2013 +0100

    Add DRI3 support to glamor
    
    This implements some DRI3 helpers to help the DDXs using
    glamor to support DRI3.
    
    Signed-off-by: Axel Davy <axel.davy@ens.fr>
    Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit 71e7168d7af236e43cea0658b612129bb1d46ff7
Author: Zhigang Gong <zhigang.gong@intel.com>
Date:   Tue Nov 19 15:16:57 2013 +0800

    Fixed some compilation warning/error or error checking.
    
    There is one compilation error ,cast int to pointer, when built without
    libgbm, reported by Gaetan Nadon.
    And some error checking after memory allocation, reported by Seth Arnold.
    There are still some similar issues in the largepixmap implementation.
    They are relatively more complicate due to the heavy usage of RegionXXX
    APIs which may allocate implicitly. Will fix them in the future.
    
    Signed-off-by: Zhigang Gong <zhigang.gong@intel.com>
    Tested-by: Gaetan Nadon <memsize@videotron.ca>

commit b418b13126108fe83628825b5015f348914ad5f5
Author: Axel Davy <axel.davy@ens.fr>
Date:   Mon Nov 18 22:52:22 2013 +0100

    Allow to create textured pixmaps from gbm_bo without using gem names
    
    This implements glamor_egl_create_textured_pixmap_from_gbm_bo,
    which is similar to glamor_egl_create_textured_pixmap, except
    it takes a gbm_bo as argument.
    
    Signed-off-by: Axel Davy <axel.davy@ens.fr>
    Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit 8d242b32416fb860400ef9e9c5cf617f6875db87
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Wed Nov 13 09:57:23 2013 -0500

    config: replace deprecated use of AC_OUTPUT with AC_CONFIG_FILES
    
    Fix Automake warning: AC_OUTPUT should be used without arguments.
    www.gnu.org/software/autoconf/manual/autoconf.html#Configuration-Files
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
    Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit 890a773884037bac39f221e062c90e589df9a3f1
Author: Fabio Pedretti <fabio.ped@libero.it>
Date:   Mon Nov 4 12:08:42 2013 +0100

    glamor: remove unused variable
    
    Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit 1f385690efb73e6384f1aec8541d92510946a6fd
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Wed Nov 6 10:25:27 2013 +0100

    fixup picture in SetWindowPixmap
    
    When creating a window with recordmydesktop running, the following may happen:
    
    create picture 0x1cd457e0, with drawable 0x1327d1f0
    (SetWindowPixmap is called)
    destroy picture 0x1cd457e0, with drawable 0x1cd65820
    
    Obtaining format for pixmap 0x1327d1f0 and picture 0x1cd457e0
    ==7989== Invalid read of size 4
    ==7989==    at 0x8CAA0CA: glamor_get_tex_format_type_from_pixmap (glamor_utils.h:1252)
    ==7989==    by 0x8CAD1B7: glamor_download_sub_pixmap_to_cpu (glamor_pixmap.c:1074)
    ==7989==    by 0x8CA8BB7: _glamor_get_image (glamor_getimage.c:66)
    ==7989==    by 0x8CA8D2F: glamor_get_image (glamor_getimage.c:92)
    ==7989==    by 0x29AEF2: miSpriteGetImage (misprite.c:413)
    ==7989==    by 0x1E7674: compGetImage (compinit.c:148)
    ==7989==    by 0x1F5E5B: ProcShmGetImage (shm.c:684)
    ==7989==    by 0x1F686F: ProcShmDispatch (shm.c:1121)
    ==7989==    by 0x15D00D: Dispatch (dispatch.c:432)
    ==7989==    by 0x14C569: main (main.c:298)
    ==7989==  Address 0x1cd457f0 is 16 bytes inside a block of size 120 free'd
    ==7989==    at 0x4C2B60C: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==7989==    by 0x228897: FreePicture (picture.c:1477)
    ==7989==    by 0x228B23: PictureDestroyWindow (picture.c:73)
    ==7989==    by 0x234C19: damageDestroyWindow (damage.c:1646)
    ==7989==    by 0x1E92C0: compDestroyWindow (compwindow.c:590)
    ==7989==    by 0x20FF85: DbeDestroyWindow (dbe.c:1389)
    ==7989==    by 0x185D46: FreeWindowResources (window.c:907)
    ==7989==    by 0x1889A7: DeleteWindow (window.c:975)
    ==7989==    by 0x17EBF1: doFreeResource (resource.c:873)
    ==7989==    by 0x17FC1B: FreeClientResources (resource.c:1139)
    ==7989==    by 0x15C4DE: CloseDownClient (dispatch.c:3402)
    ==7989==    by 0x2AB843: CheckConnections (connection.c:1008)
    ==7989==
    (II) fail to get matched format for dfdfdfdf
    
    The fix is to update the picture pointer when the window pixmap is changed,
    so it moves the picture around with the window rather than the pixmap.
    
    This makes FreePicture work correctly.
    
    Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71088
    Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit 1957b7d713e5408f397412d4beb1317c84ded7ce
Author: Zhigang Gong <zhigang.gong@linux.intel.com>
Date:   Sat Nov 2 00:08:11 2013 +0800

    Fixed an incorrect printf format.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=69573
    
    Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit 7b8d184bc268ad70b89d2940d6cc7bb517b250b6
Author: Brian Paul <brianp@vmware.com>
Date:   Sat Oct 19 16:10:54 2013 -0600

    Remove useless return statement
    
    Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit 2cefae213c15fb381b49b74b2cdd6cb514c63a7d
Author: Brian Paul <brianp@vmware.com>
Date:   Sat Oct 19 16:10:53 2013 -0600

    Remove redundant dispatch->glEnable(GL_TEXTURE_2D)
    
    The same call was already made a few lines earlier.
    
    Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit 655e900025d903c2c9606ddaea1e8d5d94ea1a40
Author: Brian Paul <brianp@vmware.com>
Date:   Sat Oct 19 16:10:52 2013 -0600

    Fix _glamor_set_spans() bug (re-used 'n' variable)
    
    n was used as a function parameter.  But inside the for (i=1..n) loop,
    n got reassigned as REGION_NUM_RECTS() and then decremented to zero by
    the while loop.  This caused the for loop to only iterate once instead
    of 'n' times.
    
    This patch renames the n parameter to numPoints.
    
    Found by code inspection.  Untested.
    
    Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit 16c86bd3d8ba92c50fc96efb5a39a7725a16d785
Author: Alex Deucher <alexdeucher@gmail.com>
Date:   Fri Sep 27 17:47:14 2013 -0400

    glamor: enable Xv by default
    
    Also move the configure option out of the middle of
    the debug option handling.
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit ba209eeef20b210ba95e4c8bbe0f84b83589d5b5
Author: Grigori Goronzy <greg@chown.ath.cx>
Date:   Wed Oct 2 00:37:57 2013 +0200

    glamor_render: fix PictFilters
    
    Add Fast/Good/Best and appropriately map to Nearest and
    Bilinear. Additionally, add a fallback path for unsupported filters.
    
    Notably, this fixes window shadow rendering with Compiz, which uses
    PictFilterConvolution for some odd reason.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
    Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit 773bf99a078207cc7c796d5dd33cccfcfe727ff1
Author: Grigori Goronzy <greg@chown.ath.cx>
Date:   Wed Oct 2 00:37:56 2013 +0200

    Use GL_STATIC_DRAW for element index buffer
    
    The buffer never changes anyway.
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
    Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit 2b37fc5c7ba3eb438b76470a9212f2c3d067e859
Author: Grigori Goronzy <greg@chown.ath.cx>
Date:   Wed Oct 2 00:37:55 2013 +0200

    Use glDrawRangeElements instead of glDrawElements
    
    This lets us explicitly specify the range of vertices that are used,
    which the OpenGL driver can use for optimization. Particularly,
    it results in lower CPU overhead with Mesa-based drivers.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
    Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit 0bf74791b93cd6a96ef0ba95c0e17bcf9aba5834
Author: Zhigang Gong <zhigang.gong@linux.intel.com>
Date:   Fri Sep 27 05:25:54 2013 +0800

    Shoud return null subpixmap if we fail to get a valid map address.
    
    The patch is prepared by Raul Fernandes.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=86693
    Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit bad96d415525b12add517b09a26b52c2c36979f7
Author: Dave Airlie <airlied@redhat.com>
Date:   Mon Sep 23 06:42:24 2013 +0100

    glamor: add initial Xv support
    
    This does YV12 and I420 for now, not sure if we can do packed without
    a GL extension.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit 83f87f3bb8a0c18c3218695b1eb14065a82e8819
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Fri Sep 20 10:41:10 2013 +0200

    Reset traps_count and ptrap when necessary for the next trapezoid cliprect
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=64912
    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
    Reviewed-by: He Junyan <junyan.he@inbox.com>
    Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit 29c0907d413ad5be2af3480d008018cd7f5a9e85
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Tue Sep 17 13:25:02 2013 +0200

    Fix RegionContainsRect test for PutImage
    
    The return value of RegionContainsRect() is not a boolean but an enum
    indicating that the region contains the rectangle completely, partially
    or not at all. We can only take the PutImage fastpath when the region
    contatins the rectangle completely.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=65964
    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
    Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit d3d166779e1a1698e017de9c4f4496bf3c5bbc0e
Author: Zhigang Gong <zhigang.gong@linux.intel.com>
Date:   Mon Aug 26 15:03:51 2013 +0800

    Bump to 0.5.1.
    
    The change in this version is only about bug fix and package build fix.
    
    Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit 0777a81fb3551b8d06c40c81bcd0ccd69dfcd836
Author: Christian König <christian.koenig at amd.com>
Date:   Mon Aug 26 14:57:47 2013 +0800

    Use GBM_LIBS and GBM_CFLAGS
    
    Signed-off-by: Christian König <christian.koenig at amd.com>
    Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>

commit 81aadb8ae204f58d77a948c8624f1e72659dcdf0
Author: Armin K <krejzi@email.com>
Date:   Wed Mar 13 18:49:33 2013 +0100

    Don't use AC_PROG_LIBTOOL
    
    Autoconf only needs libtool macros which are copied when
    autoreconf is run. There is no need for looking for
    "libtool" program in PATH. This properly disables static
    libraries from being built and installed.
    
    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>

commit f2d7f1cf351bdc3a8a00fe564cd6a937db3b4e19
Author: Armin K <krejzi@email.com>
Date:   Wed Mar 13 18:49:32 2013 +0100

    First attempt to make libglamor.so shared versioned library
    
    As recommended by Michel in this thread reply:
    http://lists.freedesktop.org/archives/glamor/2013-March/000305.html
    
    v2: Correct shared library location in glamor.pc.in
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=62259
    
    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>

commit c7241f097ddb4d3bfb832f6b4ee6fafe8b4d2cfe
Author: Armin K <krejzi@email.com>
Date:   Wed Mar 13 18:28:58 2013 +0100

    Properly dist necesary headers
    
    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>

commit 3cd34ba9f0708ab7d816eeee80139257fafcb4ad
Author: Armin K <krejzi@email.com>
Date:   Wed Mar 13 18:28:57 2013 +0100

    Silence Automake 1.13 warnings
    
    warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
    
    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>

commit 61879504f86c5cb326cc06a5873283234cfbbcd2
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Wed Mar 13 17:15:33 2013 +0100

    glamoregl: Use xf86ScreenToScrn()
    
    Fixes crashes when glamor is used for a GPU screen with xserver 1.13 or
    newer.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57200#c17
    
    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
    Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>

commit c0729336ae35dcc7e46bcf840d6e9a056d5cdd26
Author: Dave Airlie <airlied@redhat.com>
Date:   Sat Dec 29 06:42:30 2012 +0000

    glamor_utils: fix unlikely define use
    
    using a define across a split line expression is failure, compiling
    with warnings shows this up.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit c6d9cb1eb4962a15f8bbc869e9fef6d1464165af
Author: Dave Airlie <airlied@redhat.com>
Date:   Sat Dec 29 06:42:10 2012 +0000

    glamor: add compiler.h
    
    This is also required for distchecking.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit 4a0ac3ff00d70b13e8483d50657187c7abdfc110
Author: Dave Airlie <airlied@redhat.com>
Date:   Sat Dec 29 06:28:17 2012 +0000

    glamor: fix make distcheck part 1
    
    This just adds the headers, then it falls over on the sdk_HEADERS
    as it overrides proper install paths by the looks of it.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit f1457c1c59efdadbad25f01dce9433643d688844
Author: Zhigang Gong <zhigang.gong@linux.intel.com>
Date:   Tue Nov 13 10:08:02 2012 +0800

    glamor_compositerects: Need to initialize region before fallback.
    
    As we need to call DamageRegionAppend even for fallback path,
    we must initialize the region before do that. Pointed by
    Igor Vagulin.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=56940
    
    Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit beeddaae1da253d1a442228a75f80ef40a0204ac
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Wed Oct 31 16:56:00 2012 +0100

    Don't use glBlitFramebufferEXT for overlapping copies.
    
    According to the GL_EXT_framebuffer_blit spec, the result of doing so is
    undefined. But we need well-defined results. :)
    
    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>

commit 9b8a791290af0add84269efdb315f9f58798f6d2
Author: Zhigang Gong <zhigang.gong@linux.intel.com>
Date:   Fri Aug 10 13:46:42 2012 +0800

    Bump to version 0.5.
    
    Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit 047c1375d6d08ac53839d0149dbbc03258f28d6a
Author: Zhigang Gong <zhigang.gong@linux.intel.com>
Date:   Wed Aug 8 20:43:38 2012 +0800

    Increase vbo size to 64K verts.
    
    This commit will benefit vertex stressing cases such as
    aa10text/rgb10text, and can get about 15% performance gain.
    
    Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>
    Acked-by: Junyan <junyan.he@linux.intel.com>

commit 43cabf3f7c84e00d8480136d2ed5108d84ca392b
Author: Zhigang Gong <zhigang.gong@linux.intel.com>
Date:   Wed Aug 8 20:11:43 2012 +0800

    Silence compilation warnings.
    
    After increase to gcc4.7, it reports more warnings, now
    fix them.
    
    Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>
    Tested-by: Junyan He<junyan.he@linux.intel.com>

commit a991ea45a60b0566adf9e6c15809fd4f49af7129
Author: Zhigang Gong <zhigang.gong@linux.intel.com>
Date:   Wed Aug 8 20:08:12 2012 +0800

    glamor_largepixmap: Fixed a bug in repeat clipping.
    
    If the repeat direction only has one block, then we need to set the
    dx/dy to cover all the extent. This commit also silence some compilation
    warnings.
    
    Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit aa2b71332143fe7d62b3c3f16462f8335e3a7844
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Tue Aug 7 18:16:58 2012 +0200

    Prefer KHR_surfaceless_context EGL extension over KHR_surfaceless_opengl/gles2.
    
    Current Mesa Git only advertises the former instead of the latter.
    
    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
    Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit 67fb454c47903d4dc9b439f2c5af73a331cbc3cb
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Tue Aug 7 18:13:32 2012 +0200

    Print space between name of missing EGL extension and 'required'.
    
    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
    Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit 801192caf1444d50d905de9c6133abe7de869894
Author: Junyan He <junyan.he@linux.intel.com>
Date:   Tue Aug 7 05:01:59 2012 +0800

    Fallback to pixman when trapezoid mask is big.
    
     The trapezoid generating speed of the shader is relatively
     slower when the trapezoid area is big. We fallback when
     the trapezoid's width and height is bigger enough.
     The big traps number will also slow down the render because
     of the VBO size. We fallback if ntrap > 256
    
    Signed-off-by: Junyan He <junyan.he@linux.intel.com>
    Reviewed-By: Zhigang Gong <zhigang.gong@linux.intel.com>

commit ded419455c67846d75944c75d623d6e1c510db9f
Author: Zhigang Gong <zhigang.gong@linux.intel.com>
Date:   Thu Aug 2 18:07:07 2012 +0800

    glamor_glyphs: When dst arg point to a NULL buffer, dont't flush.
    
    This is a corner case, when we render glyphs via mask cache, and
    when we need to upload new glyphs cache, we need to flush both the
    mask and dest buffer. But we the dest arg may point to a NULL buffer
    at that time, we need to check it firstly. If the dest buffer is NULL.
    Then we don't need to flush both the dest and mask buffer.
    
    This commit fix a potential crash.
    
    Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit f233aeef15ca357c9a0a770687d13b6560871420
Author: Zhigang Gong <zhigang.gong@linux.intel.com>
Date:   Wed Aug 1 18:27:29 2012 +0800

    glamor_trapezoid: workaround a glsl like problem.
    
    It seems that the following statement cann't run as expected on SNB.
    bool trap_left_vertical = (abs(trap_left_vertical_f - 1.0) <= 0.0001);
    
    Have to rewrite it to another style to let the vertical edge trapezoid
    to be rendered correctly.
    
    Reviewed-by: Junyan He <junyan.he@linux.intel.com>
    Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit 79d369f161c78185483bf8fdeed77f79430d4a1e
Author: Junyan He <junyan.he@linux.intel.com>
Date:   Fri Jul 20 05:52:57 2012 +0800

    Fix the problem of VBO leak.
    
     In some cases we allocate the VBO but have no vertex to
     emit, which cause the VBO fail to be released. Fix it.
    
    Signed-off-by: Junyan He <junyan.he@linux.intel.com>

commit 1f50d3f368c9e7135576ecb376fbaef34fd22132
Author: Junyan He <junyan.he@linux.intel.com>
Date:   Fri Jul 20 05:52:50 2012 +0800

    Just use the shader to generate trapezoid if PolyMode == Imprecise
    
     The precise mode of trapezoid rendering need to sample the trapezoid on
     the centre points of an (2*n+1)x(2*n-1) subpixel grid. It is computationally
     expensive in shader, and we use inside area ratio to replace it.
     The result has some difference, and we just use it if the polymode == Imprecise.
    
    Signed-off-by: Junyan He <junyan.he@linux.intel.com>

commit 1315ff92e2e19811cfb9a8bddab8e40bca5cd4e5
Author: Junyan He <junyan.he@linux.intel.com>
Date:   Fri Jul 20 05:52:43 2012 +0800

    Change the trapezoid render to use VBO.
    
     Because some uniform variables need to be set for every
     trapezoid rendering, we can not use vbo to render multi
     trapezoids one time, which have performance big loss.
     We now add attributes which contain the same value to bypass
     the uniform variable problem. The uniform value for one
     trapezoid will be set to the same value to all the vertex
     of that trapezoid as an attribute, then in FS, it is still
     a constant.
    
    Signed-off-by: Junyan He <junyan.he@linux.intel.com>

commit ab212d3b90cd288da46af43390feacb489db77b1
Author: Zhigang Gong <zhigang.gong@linux.intel.com>
Date:   Mon Jul 16 17:27:22 2012 +0800

    Added the missed header file for xorg 1.13 compat.
    
    Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit 726ad264f485ce1d39aa387e93ac224fb46ed059
Author: Zhigang Gong <zhigang.gong@linux.intel.com>
Date:   Mon Jul 16 11:25:09 2012 +0800

    Synch with xorg 1.13 change.
    
    As xorg 1.13 change the scrn interaces and remove those
    global arrays. Some API change cause we can't build. Now
    fix it.
    
    Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit e51e16e64b1b87a6eb96c5993183475ad8a88cfd
Author: Zhigang Gong <zhigang.gong@linux.intel.com>
Date:   Fri Jul 13 09:20:02 2012 +0800

    gles2: Fixed the compilation problem and some bugs.
    
    Previous patch doesn't set the offset to zero for GLESv2
    path. Now fix it.
    
    This patch also fix a minor problem in pixmap uploading
    preparation. If the revert is not REVERT_NORMAL, then we
    don't need to prepare a fbo for it. As current mesa i965
    gles2 driver doesn't support to set a A8 texture as a fbo
    target, we must fix this problem. As some A1/A8 picture
    need to be uploaded, this is the only place a A8 texture
    may be attached to a fbo.
    
    This patch also enable the shader gradient for GLESv2.
    The reason we disable it before is that some glsl linker
    doesn't support link different objects which have cross
    reference. Now we don't have that problem.
    
    Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit 5247854b57c3d931b5ad593a8c12b6978e6865d0
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Thu Jul 12 18:57:06 2012 +0800

    Stream vertex data to VBOs.
    
    Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit 12c5d248a3efe5afb06f0dc246b207cc497e9420
Author: Michel D=C3=A4nzer <michel.daenzer@amd.com>
Date:   Wed Jul 11 15:01:15 2012 +0800

    Fix translation of clip region for composite fallback.
    
    Fixes incorrectly clipped rendering. E.g. the cursor in Evolution
    composer windows became invisible.
    
    Signed-off-by: Michel Daenzer <michel.daenzer@amd.com>
    Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit 1aeca388c9ff9d8cbdfbdd552abe764d36c73f40
Author: Zhigang Gong <zhigang.gong@linux.intel.com>
Date:   Wed Jul 4 17:59:25 2012 +0800

    glamor_glyphs: Don't merge extents for different lists.
    
    If we merge all lists's extent together, than we may have
    some fail overlap checking. Here is a simple:
    A E
    B F
    C
    D
    
    The first list has vertical "ABCD". And the second list
    has two char "EF". When detecting E, it can successfully
    find it doesn't overlap with previous glyphs. But after
    that, the original code will merge the previous extent with
    E's extent, then the extent will cover "F", so when detecting
    F, it will be treated as overlapped.
    
    We can simply solve this issue by not merge extent from different
    list. We can union different list's extent to a global region.
    And then do the intersect checkint between that region and
    current glyph extent, then we can avoid that fail checking.
    
    Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit 73d33dd2400772ad47a57dad2c2fa93caebccc80
Author: Zhigang Gong <zhigang.gong@linux.intel.com>
Date:   Tue Jul 3 18:24:07 2012 +0800

    glamor_copyarea: Use blitcopy if current state is not render.
    
    Practically, for pure 2D blit, the blit copy is much faster
    than textured copy. For the x11perf copywinwin100, it's about
    3x faster. But if we have heavy rendering/compositing, then use
    textured copy will get much better (>30%)performance for most
    of the cases.
    
    So we simply add a data element to track current state. For
    rendering state we use textured copy, otherwise, we use blit
    copy.
    
    Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit 1ec81c73bf4660d87b9cfa281647ca6cbda68f2e
Author: Zhigang Gong <zhigang.gong@linux.intel.com>
Date:   Tue Jul 3 18:11:12 2012 +0800

    glamor_glyphs: Use cache picture to store mask picture if possible.
    
     By default, mask picture is newly created, and each time we need to
     clear the whole mask picture, and then composite glyphs to the mask
     picture and then composite the mask picture to destination.
    
     Testing results shows that the filling of the mask picture takes a
     big portion of the rendering time. As we don't really need to clear
     the whole region, we just need to clear the real overlapped region.
    
     This commit is to solve this issue. We split a large glyphs list to
     serval lists and each list is non-overlapped or overlapped.
    
     we can reduce the length of overlapped glyphs to do the glyphs_via_mask
     to 2 or 3 glyphs one time for most cases. Thus it give us a case to allocate a
     small portion of the corresponding cache directly as the mask picture.
     Then we can rendering the glyphs to this mask picture, and latter we
     can accumulate the second steps, composite the mask to the dest with
     the other non-overlapped glyphs's rendering process.
     It also make us implement a batch mask cache blocks clearing
     algorithm to avoid too frequently small region clearing.
    
     If there is no any overlapping, this method will not get performance gain.
     If there is some overlapping, then this algorithm can get about 15% performance
     gain.
    
    Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit 4c368b12c1af317c79469f8b6b809997d1769080
Author: Zhigang Gong <zhigang.gong@linux.intel.com>
Date:   Wed Jun 27 12:53:40 2012 +0800

    glamor_compositerects: Implement optimized version.
    
    Don't call miCompositeRects. Use glamor_composite_clipped_region
    to render those boxes at once.
    Also add a new function glamor_solid_boxes to fill boxes at once.
    
    Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit ecc70624ca77478a46e9fb9487d76c74c6be1d8f
Author: Zhigang Gong <zhigang.gong@linux.intel.com>
Date:   Tue Jun 26 20:00:21 2012 +0800

    optimize: Use likely and unlikely.
    
    Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit 622bfc174ab0c8a04146bd5fb754e96bc51d38c0
Author: Zhigang Gong <zhigang.gong@linux.intel.com>
Date:   Tue Jun 26 19:56:27 2012 +0800

    create_pixmap: use texture for large glyphs.
    
    As we only cache glyphs smaller than 64x64, we need to use
    texutre for the large glyphs.
    
    Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit 033349420f53cdbbdda37b3975c498a0dc885cf6
Author: Zhigang Gong <zhigang.gong@linux.intel.com>
Date:   Tue Jun 26 17:19:16 2012 +0800

    glamor_copyarea: Fixed a bug introduced by 996194...
    
    Default return value should be FALSE.
    
    Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit f3cff9975b1969b91b85f329be9fa925a9137f34
Author: Zhigang Gong <zhigang.gong@linux.intel.com>
Date:   Tue Jun 26 16:24:32 2012 +0800

    glamor_glyphs: Slightly performance tuning.
    
    As glamor_glyphs never fallback, we don't need to keep the
    underlying glyphs routines, just override the ps->glys
    
    Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit 593bd206bf2794dc1450e8e7d20142b8d0ca074b
Author: Zhigang Gong <zhigang.gong@linux.intel.com>
Date:   Tue Jun 26 15:39:24 2012 +0800

    glamor_render: Don't allocate buffer for vbo each time.
    
    We can reuse the last one if the last one is big enough
    to contain current vertext data. In the meantime, Use
    MapBufferRange instead of MapBuffer.
    
    Testing shows, this patch brings some benefit for
    aa10text/rgb10text. Not too much, but indeed faster.
    
    Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit e44ce79d719ece8997c777329834c5293fc668b8
Author: Zhigang Gong <zhigang.gong@linux.intel.com>
Date:   Tue Jun 26 13:09:05 2012 +0800

    glamor_largepixmap: Walkaround for large texture's upload.
    
    I met a problem with large texture (larger than 7000x7000)'s
    uploading on SNB platform. The map_gtt get back a mapped VA
    without error, but write to that virtual address triggers
    BUS error. This work around is to avoid that direct uploading.
    
    Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>

commit fc3674fbf40cbe5ddb3e3a29ce86be7db743892b
Author: Zhigang Gong <zhigang.gong@linux.intel.com>
Date:   Mon Jun 25 23:24:37 2012 +0800

    glamor_render: Optimize the two pass ca rendering.
    
    For the componentAlpha with PictOpOver, we use two pass
    rendering to implement it. Previous implementation call
    two times the glamor_composite_... independently which is
    very inefficient. Now we change the control flow, and do
    the two pass internally and avoid duplicate works.
    
