glamor: Changes to 'master'

Zhigang Gong gongzg at kemper.freedesktop.org
Sun Jan 8 22:42:47 PST 2012


New branch 'master' available with the following commits:
commit e5fdb5644d4505cddefaf02566bd35b947436c52
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Thu Jan 5 14:26:01 2012 +0800

    Fixed a configure bug.
    
    Should check the enable-glamor-gles2 before use the variable.
    And should include the config.h as the GLAMOR_GLES2 macro is
    defined there.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit bed6c3076227c97814b4ba21073c41a399fa9d8e
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Wed Jan 4 14:40:24 2012 +0800

    Reduce the double check of pixmap's private pointer.
    
    As we now add the checking to the Macro, we don't need to check
    the pointer outside the Macro.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit 6a92962c90b3d8961aa56a575a3c1b6b56e625fb
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Wed Jan 4 14:37:37 2012 +0800

    get_spans: Check whether have a valid fbo before check format.
    
    If a pixmap is a pure in-memory pixmap, we do not need to
    check its format. Format checking has more overhead than
    checking FBO, so we change to check fbo firtly.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit d7fdec7adedce9bec2371485988ff8f950d501ce
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Wed Jan 4 14:34:39 2012 +0800

    Track all picture's drawable pict format.
    
    Even if a picture's pixmap is a pure in memory pixmap, we still need
    to track its format. The reason is we may need to upload this drawable
    to texture thus we need to know its real picture format.
    
    As to the MACRO to check whether a pixmap is a picture, we should
    check whether the priv is non-NULL before we touch its field.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit 0d6ad1663fa0c1f52cc54bf440df69134b742196
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Wed Jan 4 13:11:52 2012 +0800

    Need to check pixmap priv before touch its field.
    
    As now the pixmap may be allocated by DDX and doesn't have a
    valid pixmap private field. We must check pixmap private
    pointer before touch its field value. If a pixmap doesn't
    have a non-NULL private pointer, it doesn't have a valid
    FBO.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit 163c0db70d5a57b5cb7fed7dc8c1c4c9892a6183
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Sat Dec 31 19:29:17 2011 +0800

    Added more drawing functions.
    
    As we want to take over all the possible GC ops from the DDX
    layer, we need to add all the missed functions.
    This commit also fixed one bug at polylines.
    We simply drop the bugy optimized code now, as it did not
    consider of clip info.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit 6b12b275824af1b04b2d99b4dd6e3b59a5bebfd4
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Sat Dec 31 19:27:33 2011 +0800

    Remove useless output messages.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit de234e3864e46d7951de7feb3b707666351c3291
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Sat Dec 31 19:20:10 2011 +0800

    Fixed a rendering bug at fillspans.
    
    We should not change the points coords when loop for the clip
    rects. Change to use another variable to store the clipped
    coords and keep the original coords. This bug cause some
    XTS failures. Now fix it.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit 499cb827714f8c57f473639d7895f6d494366e36
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Sat Dec 31 19:14:06 2011 +0800

    Fixed a bug at putImage.
    
    fbPutImage wants the input drawable is the target drawable rather
    than the backing pixmap. This bug cause some XTS failures, now
    fix it.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit 27f85fef84f4aab2a13826011e5faabf1a1c6139
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Tue Dec 27 16:44:17 2011 +0800

    Remove the assertion which is not safe sometimes.
    
    The original version assumes that each drawable pixmap should
    have a valid private pixmap pointer. But this is not true after
    we create this libglamor. As the DDX layer may create a pure
    software drawable pixmap which doesn't have a private pixmap
    pointer.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit 5c2fd5c92fe32caf749330ee9c75ef2a4da2a6a4
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Tue Dec 27 16:42:32 2011 +0800

    Export glamor_validate_gc to DDX.
    
    This is also a function which may direct access pixmaps which
    may be a glamor only pixmap and DDX doesn't know how to access
    it. We have to export this API to DDX driver and let the DDX
    driver use it to do the validation.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit f089d1eb0b9d0b76834e34f75caac23a83761a66
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Fri Dec 23 16:21:44 2011 +0800

    Flush gl operations when destroy an textured image.
    
    Before destroy an image which was attached to a texture.
    we must call glFlush to make sure the operation on that
    texture has been done.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit 2f9d53f3c3d7fa5585a122afa555c64c165a7422
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Fri Dec 23 16:19:39 2011 +0800

    Add a new API glamor_create_gc.
    
    As at ValidateGC stage, it may need to touch the pixmap directly, for
    example the tile pixmap. We must export this interface to DDX driver
    and let the DDX driver to route the processing to us. As this pixmap
    may be a texture only pixmap, and DDX don't know how to handle it.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit 87d9526be3c4254c4525f73b27597a9c498eca3f
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Fri Dec 23 16:18:22 2011 +0800

    Code cleanup.
    
    Remove useless code, and after a fbCreatePixmap, we
    do not need to modify its header there.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit 7e78c55689e22a0446f40aa5b1ffef0bc80e6bfd
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Fri Dec 23 14:23:56 2011 +0800

    Remove useless egl functions.
    
    We only need to create image fron external name rather
    than use drm_image_mesa to create drm image, so remove
    them.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit 912f4da51a53fa896517ed2a890e3074f1606304
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Fri Dec 16 20:15:33 2011 +0800

    Make sure the devPrivate.ptr of a textured pixmap is NULL.
    
    Just in case when wrongly fallback to DDX layer and cause
    random memory corruption. Pointed out by Chris.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit aa1fa8b8cd4fd50bdd284650b46c75f0805ad98f
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Fri Dec 16 15:04:33 2011 +0800

    Export glamor_create_texture to DDX driver.
    
    If DDX failed to create textured pixmap from its BO's handle,
    it can turn to call this API to create a brand new glamor
    rather than fallback to pure in memory pixmap.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit 00c40cecc0a346b6a522b399600ef82dbbdd8081
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Fri Dec 16 15:02:54 2011 +0800

    Correct the logic of glamor_egl_create_textured_pixmap.
    
    Discussed with Chris and found the previous logic is not
    good. Now change it in this commit, this API will just
    try to create a textured pixmap from the handle provided
    by DDX driver, if failed simply return FALSE without touch
    the pixmap. And the DDX driver can choose how to do next
    step.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit 1a540680e338dbcd69749d2c2b7266c217c22eaf
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Tue Dec 13 22:48:34 2011 +0800

    glamor-for-ddx: Exports all rendering/drawing functions.
    
    This commit exports all the rest rendering/drawing functions
    to the DDX drivers. And introduce some new pixmap type. For
    a pixmap which has a separated texture, we never fallback
    it to the DDX layer.
    
    This commit also adds the following new functions:
    glamor_composite_rects, glamor_get_image_nf which are needed
    by UXA framework. Just a simple wrapper function of miXXX.
    Will consider to optimize them next few weeks.
    
    This commit also Fixed a glyphs rendering bug pointed by Chris.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit d5ecb2678f08806a236773291912e20d6fa3b305
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Mon Dec 12 09:58:03 2011 +0800

    Enable texture dynamic uploading.

commit 8e949784d26d3a834e0dc08f6eaf19c940cdbdf0
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Mon Dec 12 09:49:06 2011 +0800

    Call screen's method to create pixmap.
    
    As we may need to fallback to DDX's rendering path
    during the glyphs, we have to call screen's create pixmap
    method to create pixmap.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit 954f7e8685452f16ee3e4e7144a3acedb079edd2
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Mon Dec 12 09:48:04 2011 +0800

    Fallback if the pixmap is drm only.
    
    Glamor can't do anything with a drm only pixmap.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit ccc8267c32b0da39a9e36fac5e02d1041622df13
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Mon Dec 12 07:09:03 2011 +0800

    Classfy glamor pixmap to different types.
    
    During the integration with intel driver, we introduce two
    new type of pixmap, one is TEXTURE_DRM, the other is DRM_ONLY.
    TEXTURE_DRM means we create a texture bind to the DRM buffer
    successfully. And then the texture and the external BO is
    consistent. DRM_ONLY means that we failed to create a texture
    from the external DRM BO. We need to handle those different
    types carefully, so we have to track them in the data structure.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit 6023b5db10e2dc5a1a01d4c145107ec42df535fb
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Mon Dec 12 06:56:36 2011 +0800

    Call glamor_create_pixmap directly in glamor rendering path.
    
    When glamor is rendering pixmaps, and needs to create some
    temporary pixmap, it's better to use glamor version create
    pixmap directly. As if goes to external DDX's create pixmap,
    it may create a external DRM buffer which is not necessary.
    All the case within glamor scope is to create a texture only
    pixmap or a in memory pixmap.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit 15c8159161f08003d0dcd9c00f2b3fc14dc8eac1
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Sun Dec 11 08:06:13 2011 +0800

    Remove garbage file.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit d640d0b9fccdc13721e3344403b7c49b878fc1ac
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Sun Dec 11 02:26:15 2011 +0800

    Remove the access mode from private pixmap structure.
    
    Change the finish_access to pass in the access mode, and remove
    the access mode from the pixmap structure. This element should
    not be a pixmap's property.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit 51d800c23134459aeada793696837977043f4f36
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Fri Dec 9 16:01:45 2011 +0800

    Can't create KHR image if the depth is uncompatible.
    
    Currently, KHR image only support one color format ARGB32.
    For all other format, we have to fail to create corresponding
    image and texture here.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit 99ff5c26acfcc1ff7cf3836bc09b896712530aac
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Fri Dec 9 15:58:19 2011 +0800

    exports more rendering functions to DDX driver.
    
    Exports all necessary rendering functions to DDx drivers, including
    CopyArea, Glyphs, Composite, Triangles, ....
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit b424581505980fcd6ff53c081c913ca3ce1dd5e1
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Fri Dec 9 14:57:24 2011 +0800

    Override create/destroy picture to track pict format.
    
    When create a piccture, we need to attach a pixmap to it.
    A pixmap only has a depth, which is not sufficant for glamor.
    As in openGL texture only has a few internal formats which
    is not sufficant to represent all the possible picture
    format. So we always transform the picture format to GL_RGBA.
    And when we need to read back the picture, we must know the
    original picture format. So we have to override create
    and destroy picture to track a pixmap's real picture format
    if it is attached to a picture.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit 5a98541a27759aebe10122ffc9ee0b785b396842
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Fri Dec 9 14:56:21 2011 +0800

    Fix the cflags of glamor-egl package.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit 89d49be410483c7bed85ebc4d32ea72889b48e85
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Tue Nov 22 18:28:10 2011 +0800

    Added a missed header file.
    
    Pointed by Chris, we must add xorg-server.h at the top
    of each file before we include any other xorg header files.
    Otherwise, it may cause incorrect XID length.
    
    This commit also fixes one compilation warning in X86_64
    platform.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit c3329fdf17b078d2b995e45aac4d5aca7b641123
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Thu Nov 17 10:54:01 2011 +0800

    Correct the configure.ac to check gbm.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit ca4329b278ea37c9e4d7e162ee2a20c686dce1ba
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Tue Nov 15 20:17:18 2011 +0800

    If caller is not using glamor screen, we can't register
    the block handler.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit cda2a3fae6b5f0a27872d4ef704900ae747816f8
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Tue Nov 15 20:16:16 2011 +0800

    Revert "Disable glamor_tile temporary."
    
    The previous corruption output is caused by GLAMOR/UXA flushing
    issue. Now get fixed.
    
    This reverts commit 0d2d3e4f051e48c3499e1c972e012803a8623526.

commit 0d2d3e4f051e48c3499e1c972e012803a8623526
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Fri Nov 11 14:55:12 2011 +0800

    Disable glamor_tile temporary.
    
    Enable glamor tile cause corrupted output. Need more investigation.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit 714667157f0e27bc861905dd7ef2fe3ac630f3c1
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Fri Nov 11 14:00:39 2011 +0800

    Added more details to introduce GLAMOR in README.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit dac277199e86af1d178f4cb8600d01498acc3a69
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Fri Nov 11 10:26:00 2011 +0800

    Add new version glamor_poly_fill_rect without internal fallback.
    
    If need fallback, this new version just returns FALSE without
    doing anything. It's the caller's responsibility to implement
    fallback method.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit 114bb7359db9d5dfb074dce94eb06d25ffcddd72
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Wed Nov 9 16:09:03 2011 +0800

    Add new version glamor_fillspans without internal fallback.
    
    For the purpose of incrementally intergration of existing intel
    driver, for the GC operations we may don't want to use glamor's
    internal fallback which is in general much slower than the
    implementation in intel driver. If the parameter "fallback" is
    false when call the glamor_fillspans, then if glamor found it
    can't accelerate it then it will just return a FALSE rather than
    fallback to a slow path.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>

commit 584e8d59cd4ed184ed7eef2a110bce3eea834620
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Wed Nov 2 13:44:50 2011 +0800

    Initial version.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>



More information about the xorg-commit mailing list