[PULL] glamor import

Eric Anholt eric at anholt.net
Mon Dec 30 23:09:28 PST 2013


Background: I'm picking the glamor work back up, trying to bring it in
tree so it's useful beyond just the Xorg DDX.  I don't think we can do
review on all of the past history, so I'm hoping to do a merge and
then get reviewed cleanups to that code.

Here's a pull request for the glamor series I originally wrote, plus
the code Zhigang Gong wrote inside the X Server tree that I was able
to find, plus a rebase of the external glamor tree onto that so that
it's all inside of the X Server with the most complete history I could
come up with.

For the internal code, I chose not to filter-branch -- instead, the
outside-of-glamor-core changes just get reverted in commit
7982eca622bbc4b6a4845801a77da8a16138004a so that we don't merge to a
broken tree state.  I think I used a no-commit revert of the revert when
first generating the new Xephyr changes, so I think it's useful like
this.

The external tree code contains everything up to
fb4d046c04002851a5e895726461509983f633e7 with everything outside of
the src/ tree filter-branched out:

    git filter-branch -f --tree-filter "find . -type f | grep -v src/
    | xargs rm; mv src glamor"

I didn't want to have the changes for the external README, or the
external configure.ac included.

If we decide that this is the pull request for the core code we want,
I have some other commits ready to get into the review pipeline for
bringing the code in line with the current coding style, then a series
for making Xephyr work with glamor, then a series for building a
usable Xorg module (tested with the modesetting driver with partial
DRI2 and DRI3 support so far)

I think I've got some significant improvements in the pipeline to the
glamor <-> driver API, too.  There's still a lot to be done, but my goal
is for accelerated rendering for your X Server to be trivial to set up,
because it *should* be.

The following changes since commit 4d62646142718024b0981eb4f1fd0131e829161f:

  Merge remote-tracking branch 'jeremyhu/master' (2013-12-16 09:27:57 -0800)

are available in the git repository at:

  git://people.freedesktop.org/~anholt/xserver glamor-external-rebase

for you to fetch changes up to 4dd62d7807b47efbc9065ae8f17f73e1ec6e9d26:

  libglamoregl: remove -I$(top_srcdir)/src (2013-12-18 11:23:54 -0800)

----------------------------------------------------------------
Armin K (3):
      Silence Automake 1.13 warnings
      Properly dist necesary headers
      First attempt to make libglamor.so shared versioned library

Axel Davy (2):
      Allow to create textured pixmaps from gbm_bo without using gem names
      Add DRI3 support to glamor

Brian Paul (3):
      Fix _glamor_set_spans() bug (re-used 'n' variable)
      Remove redundant dispatch->glEnable(GL_TEXTURE_2D)
      Remove useless return statement

Chris Wilson (3):
      Do not reduce a composite to a copy if we need to sample outside of the source
      Use CLAMP_TO_BORDER in copy_n_to_n so we can sample outside of the source
      Fixup glx support

Christian König (1):
      Use GBM_LIBS and GBM_CFLAGS

Dave Airlie (5):
      glamor: fix make distcheck part 1
      glamor: add compiler.h
      glamor_utils: fix unlikely define use
      glamor: add initial Xv support
      glamor: fix leak in xv code.

Eric Anholt (102):
      Add build infrastructure for glamor.
      More ephyr/glamor glue.
      Add exa/glamor to _DEPENDENCIES so the bin gets rebuilt with the libs.
      glamor: Use -lgl for Xephyr if GLX is unset.
      glamor: Start trying to hook up the rendering bits
      glamor: Use a nicer struct initializer for gcops.
      glamor: glFlush from the blockhandler so rendering happens.
      glamor: first real attempt at rendering.
      ephyr: merge the host glamor bits into hostx.
      add fill files, merge with first real attempt at rendering.
      ephyr: Make sure a glamor-using window is created with a glx visual.
      ephyr: Use GLEW.
      glamor: Fix up block/wakeup handler.
      glamor: remove gratuitous flush.
      glamor: Fix up DrawPixels arguments to bear some relation to reality.
      glamor: Move to using shader objects.
      glamor: Add getspans implementation.
      glamor: Maybe fix up the format/type for setspans.
      glamor: Create FBOs for pixmaps.
      glamor: Fill out glamor_get_color_4f_from_pixel() a bit.
      glamor: Add untested support for tile filling.
      glamor: Free resources when destroying pixmaps.
      glamor: Add stub Composite support.
      glamor: Fill in 1 and 24-bit getspans.
      glamor: Add more solid_fail_regions for software fallbacks.
      glamor: Add trapezoids code.
      glamor: Add 8bpp to get/setspans.
      glamor: Add untested putimage support.
      glamor: Add ALU support to solid, tile, and putimage.
      glamor: Hook up miGetImage to fix some invalid accesses.
      glamor: Move setspans to a separate file.
      glamor: Fix memory leak in getspans.
      glamor: Fix bad fallthrough in getspans (accessing invalid memory).
      glamor: Give setspans the same format support as getspans.
      glamor: add alu support to setspans.
      glamor: Move planemask to a function in case I decide to fill it in.
      glamor: Fix some screen_xy offsets to be the right way around.
      glamor: Add clipping to setspans.
      glamor: Start adding render acceleration support.
      glamor: make the polylines complaint a little more useful.
      glamor: Add untested PutImage XYBitmap support.
      glamor: Add untested PutImage 1bpp XYPixmap support.
      glamor: Accelerate PolyFillRect using glamor_fill instead of spans.
      glamor: Add untested copyarea implementation
      glamor: Add support for solid source pictures.
      glamor: Fix pixmap private getter in copyarea.
      glamor: Add prepare/finishaccess code based on UXA.
      glamor: Fix the type for copyarea.
      glamor: Move glamor_poly_lines to a separate file.
      glamor: Add fallbacks for glamor_copy_area().
      glamor: Add fallbacks for Render.
      glamor: Use GL_MESA_pack_invert to avoid complexity in prepare_access.
      glamor: Add glamor_prepare_access_gc() from UXA.
      glamor: Add fallback support to glamor_set_spans().
      glamor: Add fallback support to glamor_put_image().
      glamor: Fix up the access flags for glamor_prepare_access().
      glamor: Fix the row length of 1bpp prepare_access.
      ephyr: Hook the glamor into damage and draw into the backbuffer.
      glamor: Add fallback support for glamor_get_spans().
      glamor: Add check for EXT_bgra which we rely on.
      glamor: All the fallbacks in the world.
      glamor: Replace the glDrawPixels in glamor_finish_access with GLSL.
      glamor: Use the pixmap stride in fallbacks instead of trying to guess it.
      glamor: Fix prepare_access on 1bpp data.
      glamor: Enable fill acceleration and flip opposite for pixmaps too.
      glamor: Add CopyWindow implementation so it doesn't crash.
      glamor: Add acceleration for copyarea not from the screen.
      glamor: Pull in UXA code for dumping some composites down to copy_n_to_n.
      glamor: Provide more information about the operands to fallback composites.
      glamor: Split the copy path out into its own function.
      glamor: Align stride of fallback pixmap data to 32 bits.
      glamor: Set active texture in finishaccess drawing.
      glamor: Restore planemask to all-on when finishing a fill.
      glamor: Fix up and enable accelerated composite.
      glamor: Add the glyph cache from UXA (de-camelCased).
      glamor: Rework the Render shader setup to be easily modified, like cairo-gl.
      glamor: Don't try to CopyArea from a Solid source picture.
      glamor: Set active texture on glamor_copy_n_to_n setup.
      glamor: Add support for accel of x8r8g8b8 source pictures.
      glamor: Implement glCopyPixels based src == dest CopyArea acceleration
      glamor: Fix screen_x/screen_y handling for compositing.
      glamor: Fix off-by-one in CopyPixels CopyArea path.
      glamor: Fix and enable tile fill acceleration (aka the root weave).
      glamor: Fix up the wide/non-solid lines fallback.
      glamor: Enable glamor_fill_spans().
      glamor: Fix and enable glamor_get_spans().
      glamor: Fix render source transforms.
      glamor: Fix and enable ZPixmap PutImage acceleration.
      glamor: Add support for a1 composite sources.
      glamor: Fix up the fallback message for no texture present on compositing.
      glamor: Add a little mechanism for only printing fallbacks when they happen.
      glamor: Rework shader setup to make extending the IN types easier.
      glamor: Add support for component alpha rendering.
      glamor: Convert the shaders path to handling glamor_composite_rect_t.
      glamor: Use glamor_composite_with_shader once per group of glyphs.
      glamor: Use a VBO to accumulate multiple glyph quads at once.
      glamor: Replace the immediate mode in glamor_fill() with glDrawArrays().
      glamor: Fix the segfault at screen fini.
      glamor: Reduce the noise from wide lines "fallback".
      glamor: Add support for using EXT_framebuffer_blit to do CopyArea.
      Revert changes outside of glamor from the glamor branch.
      Merge branch 'glamor-gongzg-merge'

Fabio Pedretti (1):
      glamor: remove unused variable

Gaetan Nadon (3):
      Fix glamor_egl->egl_create_image_khr makes pointer from integer
      Make: remove cruft copied over from the X server makefiles
      libglamoregl: remove -I$(top_srcdir)/src

Grigori Goronzy (3):
      Use glDrawRangeElements instead of glDrawElements
      Use GL_STATIC_DRAW for element index buffer
      glamor_render: fix PictFilters

Junyan He (21):
      Fixup For list.h change in xorg
      glamor_utils: Add some assistant functions to compare pixmaps/pictures.
      Prepare for modification of gradient using shader.
      Add the feature of generating linear gradient picture by using shader.
      Add the feature for radial gradient using shader.
      Fix the problem of memory leak in gradient pixmap generating.
      Fix the bug caused by gradient picture set the stops at the same percentage.
      Extract the gradient related code out.
      Fix a bugy macro definition.
      Fix the problem of set the same stop several times.
      Fix the problem of vertical and horizontal case error in linear gradient.
      Fix the problem of x_source and y_source causing radial error
      Add macro of vertex setting for triangle stripe
      Modilfy the composite logic to two phases
      Add the trapezoid direct render logic
      Use the direct render path for A1
      Fix a bug for trapezoid clip
      Change the trapezoid render to use VBO.
      Just use the shader to generate trapezoid if PolyMode == Imprecise
      Fix the problem of VBO leak.
      Fallback to pixman when trapezoid mask is big.

Kristian Høgsberg (1):
      glamor ddx driver using EGL on KMS

Li Peng (1):
      glamor: check driver support GEM or not

Maarten Lankhorst (1):
      fixup picture in SetWindowPixmap

Michel D=C3=A4nzer (1):
      Fix translation of clip region for composite fallback.

Michel Dänzer (7):
      Stream vertex data to VBOs.
      Print space between name of missing EGL extension and 'required'.
      Prefer KHR_surfaceless_context EGL extension over KHR_surfaceless_opengl/gles2.
      Don't use glBlitFramebufferEXT for overlapping copies.
      glamoregl: Use xf86ScreenToScrn()
      Fix RegionContainsRect test for PutImage
      Reset traps_count and ptrap when necessary for the next trapezoid cliprect

Peng Li (1):
      glamor_gl_dispatch: fix the dispatch initialization on GLES2.

RobinHe (2):
      Create the file glamor_triangles.c
      Use shader to generate the temp trapezoid mask

Zhenyu Wang (3):
      glamor: Use function pointer to get extenstion calls
      glamor: Require libdrm CFLAGS for building
      glamor: Fix direct call for glEGLImageTargetTexture2DOES

Zhigang Gong (299):
      glamor: Fixed some compiling and linking errors.
      glamor: Fixed one conflict data type(XID) bug.
      glamor: Call glamor_composite_rects only when enable RENDER.
      glamor: Merged with latest xserver.
      glamor: Fixed one linking error.
      glamor: Fixed one segfault bug when close screen.
      glamor:  Resolved merge conflictions with Kristian's glamor-ddx patch.
      glamor: Add glamor-ddx driver to the build tree.
      glamor: Add new feature which is to flip output on y axis.
      glamor-ddx: Migrate the code to latest mesa library.
      glamor-ddx: Fix a compiling error. Need revisit.
      glamor-ddx: Move the cursor EGL image to crtc strcture.
      glamor: Silent compilation warnings due to some deprecated APIs.
      glamor-ddx: Fixed one bug when a client reset the connection.
      glamor: Switch to software fb for too large pixmap.
      glamor: glamor_set_alu should enable GL_COLOR_LOGIC_OP.
      glamor: Add fallback code path for glamor_fill.
      glamor-ddx: Remove debug message when moving cursor.
      glamor: Use buffer object as much as possible.
      glamor: Don't write back read only pixmap to fbo.
      glamor: improve glamor_finish_access.
      glamor: Don't use glamor_pixmap_type currently.
      glamor: Optimize glamor_finish_access.
      glamor: Don't print those fallback messages by default.
      glamor: Optimize composite when soure/mask is xrgb.
      glamor: Use software fb for 1bpp pixmap.
      glamor: Add render triangles support.
      glamor: Silence compilation warnings.
      glamor: For non-supported fill style fallback to fbFill.
      glamor: Fallback to fbPolylines for diagonal poly_line.
      glamor: Simplify fill acceleration for spans/polyfillrect by only clipping once.
      glamor : Add dynamic texture uploading feature.
      glamor: Concentrate and reduce some coords processing code.
      glamor: Don't always fallback everything when change window attr.
      glamor: Initialize pixmap private's container to correct value.
      glamor: Fixed one bug when enable dynamic pixmap uploading.
      glamor: Move the blend set up after the pixmap uploading.
      glamor: Don't need to read dest if op is SRC or CLEAR.
      glamor: Prepare/finish access once if src equal to dst.
      glamor: Change to use system memory for write only access.
      glamor: Reduce one extra copy in glamor_trapezoids.
      glamor: Don't map the vbo to system memory.
      glamor: Add one option to force create a cpu memory pixmap.
      glamor: Reduce source pixmap's size.
      glamor: Fix the coords calculation in glamor_fill.
      glamor: Reduce source or mask picture size if possible.
      glamor: Remove one extra area copy in glamor_glyph.
      glamor: Fix one typo bug in glamor_tile.
      glamor: silence compilation warnings.
      glamor: convert if too large source or mask .
      glamor-ddx: Reinit crtc if we need to reopen the card.
      glamor-ddx: Add missed drmmode_crtc_destroy function.
      Revert "glamor: Don't need to read dest if op is SRC or CLEAR."
      glamor: Optimize fallback case for the polylines.
      glamor: Fix multiple crtc setup.
      glamor: Fixed two unintialized warnings.
      glamor: We don't need to check format in compositing.
      glamor: Don't need to pad the tile image if pixmap is ni texture.
      glamor: comment out the message when creating a system memory pixmap.
      glamor: Should return when done gl drawing.
      glamor: Fixed a bug when computing the bounds of boxes.
      glamor: Implement delayed solid filling.
      glamor: Avoid 2D bitblit if possible.
      glamor: Add simple introduction of how to setup glamor xserver.
      glamor: Use small internal texture format if possible.
      glamor: Fix one bug for Xephyr.
      glamor: Change to use official APIs rather than ARB version function.
      glamor-es2: Add gles2 option.
      glamor-es2: Fix some non-es2 functions.
      glamor-es: Use glVertexAttribPointer to replace glVertexPointer.
      glamor: Fix one typo error in README.     Signed-off-by: Zhigang Gong <zhigang.gong at gmail.com>
      glamor_gles2: Use gl_flavor to determine which version of GL.     Signed-off-by: Zhigang Gong <zhigang.gong at gmail.com>
      glamor-es2: Add --enable-glamor-gles2 to build system.
      glamor: Concentrate FBO's creation to one function.
      glamor-ddx: Silence one warning.
      glamor: Remove GLEW dependency.
      glamor: Disable ALPHA8 fbo.
      glamor:  Unify the variable name which used to indicate no alpha.
      glamor: Only fallbac glamor_setspan when we are using gles2.
      glamor: Remove useless glVertexPointer related code.
      glamor: Remove glu3 which is unnecessary.
      glamor-ddx: Hardware cursor's format should be GL_RGBA.
      glamor:  GLES2 doesn't support GL_CLAMP_TO_BORDER.
      glamor: GLES2 doesn't support glEnable/Disable Texture 2D.
      glamor: Add color conversion support by using new shader.
      glamor: Convert pixmap to supported format before getspans.
      glamor: Fix the copy of overlaped region in one pixmap.
      glamor: Add device independent glamor to the installation package.
      glamor-ddx: Add code to check required egl extensions.
      glamor:  egl version 7.11 should be ok for us.
      glamor: Don't need to check status when set the target.
      glamor-dix: Make a glamor dix module.
      glamor: Change to use the original drawable in glamor_fill.
      glamor: Fallback to software fb when repeat is needed.
      glamor-gles2: Add explicit precision qualifiers for gles2.
      glamor-egl: Move EGL surfaceless related code to dix module.
      glamor: Remove the version check for EGL/gles.
      glamor-egl: Fix direct call for glEGLImageTargetTexture2DOES.
      glamor: Change glamor_egl_init API.
      glamor: Move glamor_glyphs_init to create screen resources stage.
      glamor: Improve glyphs cache mechanism.
      glamor: Route UnrealizeGlyph to glamor_glyph_unrealize.
      glamor: Let GLAMOR_DDX implicit GLAMOR.
      glamor: Don't direct call to any gl functions.
      glamor: Re-arrange some macros/definitions in header files.
      glamor-egl: Added new function to create image for a pixmap.
      glamor-ddx: Change naming of glamor ddx module.
      glamor-ddx: Use gbm to allocate front buffer and cursor image.
      glamor-ddx: Fix the broken switching between VTs.
      glamor-egl: Add gbm device support.
      glamor-ddx: Reuse glamor_dix module to handle egl platform.
      glamor-ddx: Don't need to call preInit in screen_init.
      glamor-ddx: Destroy all the pixmap cursors when close current screen.
      glamor: Correct the version check for GLES2.
      ephyr-glamor: Set texture 0 to screen pixmap.
      ephyr-glamor:  Implment gl disptach function for host glx.
      glamor: Refine the screen pixmap initialization for Xephyr.
      glamor-ddx: Don't double free the cursor memory.
      glamor: Check libgbm if enable glamor ddx.
      glamor-ddx: Rename glamor.c to glamor_ddx.c.
      Initial version.
      Add new version glamor_fillspans without internal fallback.
      Add new version glamor_poly_fill_rect without internal fallback.
      Disable glamor_tile temporary.
      Revert "Disable glamor_tile temporary."
      If caller is not using glamor screen, we can't register     the block handler.
      Added a missed header file.
      Override create/destroy picture to track pict format.
      exports more rendering functions to DDX driver.
      Can't create KHR image if the depth is uncompatible.
      Remove the access mode from private pixmap structure.
      Remove garbage file.
      Call glamor_create_pixmap directly in glamor rendering path.
      Classfy glamor pixmap to different types.
      Fallback if the pixmap is drm only.
      Call screen's method to create pixmap.
      Enable texture dynamic uploading.
      glamor-for-ddx: Exports all rendering/drawing functions.
      Correct the logic of glamor_egl_create_textured_pixmap.
      Export glamor_create_texture to DDX driver.
      Make sure the devPrivate.ptr of a textured pixmap is NULL.
      Remove useless egl functions.
      Code cleanup.
      Add a new API glamor_create_gc.
      Flush gl operations when destroy an textured image.
      Export glamor_validate_gc to DDX.
      Remove the assertion which is not safe sometimes.
      Fixed a bug at putImage.
      Fixed a rendering bug at fillspans.
      Remove useless output messages.
      Added more drawing functions.
      Need to check pixmap priv before touch its field.
      Track all picture's drawable pict format.
      get_spans: Check whether have a valid fbo before check format.
      Reduce the double check of pixmap's private pointer.
      Fixed a configure bug.
      glamor-composite: Optimize the computation of composite region.
      glamor-composite: Use glDrawElements to reduce the count of vertices.
      Set filter to GL_NEAREST by default.
      Consolidate the choose of internal texture format to one function.
      glamor_getimage: Add the optimization path of getImage.
      glamor_composite: Allocate VBO on demand.
      Silence a compilation warning.
      Set glamor's initial version to 0.2.0.
      Add glFinish after glFlush.
      Release previous textre/fb when bind a new texture to a pixmap.
      Rearrange data structure and remove unused fileds.
      glamor_create_picture: Fix the format matching method.
      Add debug message for all the uploading path.
      glamor_set_pixmap_texture/screen_pixmap: Remove useless parameters.
      glamor_fbo: Introduce glamor fbo to manage all the fb/tex.
      glamor-fbo-pool: Implement fbo cache mechanism.
      glamor-fbo-pool: Enable to reuse different size fbo/texture.
      glamor_composite: Fix one bug when we have too more vertices.
      glamor_init: Should set gl_flavor before sub-module intialization.
      glamor_render: Add non-Map/Unmap vertex array for GLES.
      glamor_egl: Don't call eglDestroyImageKHR directly.
      glamor_egl: Add support for the platform doesn't have gbm.
      glamor_gles2: Consolidate gles2 pixmap format readable check to one function.
      glamor-pixmap-upload: Create a uploading fbo with a texture only.
      glamor_create_fbo: Concentrate the fbo size/depth checking.
      glamor-fbo: Tweek the cache bucket calculation.
      glamor-gles2: Fixup the pixmap before read back if it is not readable.
      Refine CloseScreen and FreeScreen processes.
      Don't call dixSetPrivate directly.
      glamor_eglmodule: Change module name according to normalize naming rule.
      prepare_access: Don't use fbo after it was downloaded.
      glamor_fill/tile: Fixed a tileX/tileY calculation bug.
      glamor_dump_pixmap: Add helper routine to dump pixmap.
      glamor_picture: Fix the wrong order of header file.
      glamor_pixmap: Should bind unpack buffer to 0 after the uploading.
      GLX: Enable glx support.
      glamor_tile/composite: Modify fs to re-calculate texture coords.
      glamor_render: Only recalculate texture for repeat case.
      glamor_fbo: Fix a bug when create No gl FBO pixmap.
      glamor_copyarea: Don't use GL_CLAMP_TO_BORDER when GLES2 enabled.
      For DRI swap buffers.
      glamor_fill: Should restore alu to GXcopy.
      glamor_fbo: Added one macro to disable fbo cache.
      glamor_render: Disable gradient shader conversion due to bug.
      glamor_utils: Added debug function to dump depth 15/16 pixmap.
      gles2: Fixed color conversion for the formats except 1555 and 2101010.
      gles2: Added 1555/2101010 formats support.
      glamor_putimage: Reuse the function in pixmap.c to do the uploading.
      glamor_set_alu: Fallback for non GXcopy ops with GLES2.
      render: Enable more componentAlpha support.
      getimage: Enable getimage by default.
      glamor_set_alu: Added GXclear support at glamor_solid.
      glyphblt/polyops: Use miFunctions by default.
      glamor_color_convert: Let the caller to provide destination buffer.
      glamor_es2_pixmap_read_prepare: Just prepare the required region.
      glamor_download_sub_pixmap_to_cpu: New function to download subregion.
      fallback_optimize: Prepare for downloading/uploading subregion.
      glamor_polyfillrect: Optimize fallback path.
      glamor_polyfillrect: Fixed a potential bug if fallback at glamor_fill.
      glamor_getimage: Use glamor_download_sub_pixmap_to_cpu to get image.
      glamor_pixmap_upload_texture: Support to upload a sub region of data.
      glamor_upload/download: fix 1bpp bug.
      glamor_polylines: Don't fallback for non-solid fill.
      glamor_pixmap_ensure_fbo: Should allocate tex if we don't have one.
      glamor_gl: Use GL_ALPHA for depth 8 pixmap.
      Don't need to set GL_PACK_ROW_LENGTH/GL_UNPACK_ROW_LENGTH.
      glamor_pixmap_priv: Always return a valid private pixmap.
      Fixed a unbalanced glamor_put_dispatch.
      glamor_putimage: Reuse copy area to do the clipped copy.
      Fixed a stride problem for textured_drm pixmap.
      glamor_put_sub_pixmap: Change to use glamor_upload_sub_pixmap.
      glamor_render: Don't download whole picture when fallback.
      glamor_getspans: Reuse glamor_download_sub_pixmap.
      code clean up.
      glamor_setspans: Reuse glamor_upload_sub_pixmap.
      glamor_upload_pixmap: Use glTexImage2D for a fully update.
      pending_op: Remove the pending operations handling.
      glamor_getimage: Don't fallback to miGetImage.
      Fixed one potential texture size mismatch problem.
      glamor_putimage: Optimize for direct uploading and fallback path.
      gradient: Disable gradient for gles2.
      Disable A8 texture format for GLES2.
      glamor_copyarea: Don't access a DRM only pixmap.
      gradient: Don't need fixup flag when creating pixmap.
      glamor_render.c: Fixed repeatPad and repeatRelect.
      Fixed a1 bug.
      glamor_fbo: Added a threshold value for the fbo cache pool.
      glamor_render: Have to use eaxct size pixmap for transformation.
      glamor_copyarea: Return earlier if have zero nbox.
      glamor_blockhandler: Don't do glFinish every time.
      glamor_render: Fix the repeat none for GLES2.
      Remove unecessary header file.
      Added --enable-debug configuration option.
      Added some copyright and author information.
      Fixed one typo bug when fixup a mask picture.
      Fixed an uninitialized problem at gradient shader functions.
      Fixed all unused variables warnings.
      We should not call gradient finalization code if we disable it.
      Added strict warning flags to CFLAGS.
      Remove the texture cache code.
      glamor_set_destination_pixmap_priv_nc: set drawable's width x height.
      glamor_largepixmap: first commit for large pixmap.
      largepixmap: Implement infrastructure for large pixmap.
      largepixmap: Enable glamor_composite.
      glamor_putimage: Correct the wrong stride value.
      glamor_getimage: should call miGetimage if failed to get sub-image.
      largepixmap: Add transform/repeat/reflect/pad support.
      largepixmap: Support self composite for large pixmap.
      largepixmap: Fix the selfcopy issue.
      Enable large pixmap by default.
      trapezoid: Fallback to sw-rasterize for largepixmap.
      copyarea: Cleanup the error handling logic.
      glamor_glyphs: Before get upload to cache flush is needed.
      glamor_emit_composite_vert: Optimize to don't do two times vert coping.
      gles2_largepixmap: force clip for a non-large pixmap.
      glamor_fbo: fix a memory leak for large pixmap.
      glamor_create_pixmap: Allocate glyphs pixmap in memory.
      glamor_render: Don't fallback when rendering glyphs with OpOver.
      glamor_glyphs: Detect fake or real glyphs overlap.
      glamor_composite_glyph: Optimize glyphs with non-solid pattern.
      glamor_render: Optimize the two pass ca rendering.
      glamor_largepixmap: Walkaround for large texture's upload.
      glamor_render: Don't allocate buffer for vbo each time.
      glamor_glyphs: Slightly performance tuning.
      glamor_copyarea: Fixed a bug introduced by 996194...
      create_pixmap: use texture for large glyphs.
      optimize: Use likely and unlikely.
      glamor_compositerects: Implement optimized version.
      glamor_glyphs: Use cache picture to store mask picture if possible.
      glamor_copyarea: Use blitcopy if current state is not render.
      glamor_glyphs: Don't merge extents for different lists.
      gles2: Fixed the compilation problem and some bugs.
      Synch with xorg 1.13 change.
      Added the missed header file for xorg 1.13 compat.
      glamor_trapezoid: workaround a glsl like problem.
      glamor_glyphs: When dst arg point to a NULL buffer, dont't flush.
      glamor_largepixmap: Fixed a bug in repeat clipping.
      Silence compilation warnings.
      Increase vbo size to 64K verts.
      glamor_compositerects: Need to initialize region before fallback.
      Shoud return null subpixmap if we fail to get a valid map address.
      Fixed an incorrect printf format.
      Fixed some compilation warning/error or error checking.

 glamor/Makefile.am             |   71 ++
 glamor/compat-api.h            |  107 ++
 glamor/compiler.h              |   59 ++
 glamor/glamor.c                |  628 ++++++++++++
 glamor/glamor.h                |  432 ++++++++
 glamor/glamor_addtraps.c       |   65 ++
 glamor/glamor_compositerects.c |  278 ++++++
 glamor/glamor_copyarea.c       |  676 +++++++++++++
 glamor/glamor_copyplane.c      |   72 ++
 glamor/glamor_copywindow.c     |   58 ++
 glamor/glamor_core.c           |  612 ++++++++++++
 glamor/glamor_debug.h          |  116 +++
 glamor/glamor_egl.c            |  860 ++++++++++++++++
 glamor/glamor_eglmodule.c      |   52 +
 glamor/glamor_fbo.c            |  590 +++++++++++
 glamor/glamor_fill.c           |  364 +++++++
 glamor/glamor_fillspans.c      |  113 +++
 glamor/glamor_getimage.c       |  101 ++
 glamor/glamor_getspans.c       |   95 ++
 glamor/glamor_gl_dispatch.c    |  118 +++
 glamor/glamor_gl_dispatch.h    |  138 +++
 glamor/glamor_glext.h          |   64 ++
 glamor/glamor_glyphblt.c       |  118 +++
 glamor/glamor_glyphs.c         | 1806 +++++++++++++++++++++++++++++++++
 glamor/glamor_gradient.c       | 1584 +++++++++++++++++++++++++++++
 glamor/glamor_largepixmap.c    | 1324 +++++++++++++++++++++++++
 glamor/glamor_picture.c        |  131 +++
 glamor/glamor_pixmap.c         | 1433 +++++++++++++++++++++++++++
 glamor/glamor_polyfillrect.c   |  127 +++
 glamor/glamor_polylines.c      |  135 +++
 glamor/glamor_polyops.c        |   85 ++
 glamor/glamor_priv.h           | 1047 ++++++++++++++++++++
 glamor/glamor_putimage.c       |  363 +++++++
 glamor/glamor_render.c         | 2135 ++++++++++++++++++++++++++++++++++++++++
 glamor/glamor_setspans.c       |  111 +++
 glamor/glamor_tile.c           |  325 ++++++
 glamor/glamor_trapezoid.c      | 1819 ++++++++++++++++++++++++++++++++++
 glamor/glamor_triangles.c      |   80 ++
 glamor/glamor_utils.h          | 1835 ++++++++++++++++++++++++++++++++++
 glamor/glamor_window.c         |  103 ++
 glamor/glamor_xv.c             |  645 ++++++++++++
 glamor/glapi.h                 |  121 +++
 42 files changed, 20996 insertions(+)
 create mode 100644 glamor/Makefile.am
 create mode 100644 glamor/compat-api.h
 create mode 100644 glamor/compiler.h
 create mode 100644 glamor/glamor.c
 create mode 100644 glamor/glamor.h
 create mode 100644 glamor/glamor_addtraps.c
 create mode 100644 glamor/glamor_compositerects.c
 create mode 100644 glamor/glamor_copyarea.c
 create mode 100644 glamor/glamor_copyplane.c
 create mode 100644 glamor/glamor_copywindow.c
 create mode 100644 glamor/glamor_core.c
 create mode 100644 glamor/glamor_debug.h
 create mode 100644 glamor/glamor_egl.c
 create mode 100644 glamor/glamor_eglmodule.c
 create mode 100644 glamor/glamor_fbo.c
 create mode 100644 glamor/glamor_fill.c
 create mode 100644 glamor/glamor_fillspans.c
 create mode 100644 glamor/glamor_getimage.c
 create mode 100644 glamor/glamor_getspans.c
 create mode 100644 glamor/glamor_gl_dispatch.c
 create mode 100644 glamor/glamor_gl_dispatch.h
 create mode 100644 glamor/glamor_glext.h
 create mode 100644 glamor/glamor_glyphblt.c
 create mode 100644 glamor/glamor_glyphs.c
 create mode 100644 glamor/glamor_gradient.c
 create mode 100644 glamor/glamor_largepixmap.c
 create mode 100644 glamor/glamor_picture.c
 create mode 100644 glamor/glamor_pixmap.c
 create mode 100644 glamor/glamor_polyfillrect.c
 create mode 100644 glamor/glamor_polylines.c
 create mode 100644 glamor/glamor_polyops.c
 create mode 100644 glamor/glamor_priv.h
 create mode 100644 glamor/glamor_putimage.c
 create mode 100644 glamor/glamor_render.c
 create mode 100644 glamor/glamor_setspans.c
 create mode 100644 glamor/glamor_tile.c
 create mode 100644 glamor/glamor_trapezoid.c
 create mode 100644 glamor/glamor_triangles.c
 create mode 100644 glamor/glamor_utils.h
 create mode 100644 glamor/glamor_window.c
 create mode 100644 glamor/glamor_xv.c
 create mode 100644 glamor/glapi.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20131230/dca95e72/attachment-0001.pgp>


More information about the xorg-devel mailing list