[ANNOUNCE] xf86-video-intel 2.18.0

Chris Wilson chris at chris-wilson.co.uk
Fri Feb 24 03:47:33 PST 2012


Time passes, a few more bugs have crept out of the woodwork that are a
compelling reason to update.

Bugs fixed in this release (compared to 2.17.0)
-----------------------------------------------

* Limit maximum object size so that all of the source, mask and
  destination can be mapped into the aperture simultaneously by basing the
  limit on the mappable aperture size rather than the size of the total
  GATT.

* Incorrect clipping of polygons
  https://bugs.freedesktop.org/show_bug.cgi?id=43649
  Regression from 2.15.901

* Limit number of VMA cached to avoid hitting the per-process VMA limit
  There still is a residual bug in that we seem to have so many objects
  floating around in the first place and that still leads to exhaustion
  of system limits.
  https://bugs.freedesktop.org/show_bug.cgi?id=43075
  https://bugs.freedesktop.org/show_bug.cgi?id=40066

* Latency in processing user-input during continuous rendering

Other News
----------

As you may have noticed, we now have two additional experimental
acceleration backends, SNA and Glamor. SNA is a continuation of the
traditional DDX model and has a specialised renderer to try and exploit
the full limits of the available hardware. Glamor is an alternate that
hands over all the rendering to a new library that tries to leverage
OpenGL to accelerate the drawing operations. Both require you to have an
uptodate graphics stack (with additional restrictions on how you have
compiled mesa and the xserver for glamor) and to opt in by either
compiling with --enable-sna or with --enable-glamor.

Have fun,
-Chris

Chris Wilson (678):
      Revert "Disable adding normal RTF modes for an eDP"
      glamor: Include glamor cflags and libs for atypical builds
      sna/gen7: minor tidy of redundant defines
      sna/gen7: Correct shifts for surface state
      sna/gen7: Apply recent SNB tuning as applicable
      sna: Avoid the NULL damage deref
      sna: Micro-optimise sna_push_pixels_solid_blt()
      sna/gen4: Use the special composite rect emission for fill_one()
      sna: Correct end-point adjustment for stippling PolySegment
      uxa: Make the glamor/uxa transition more verbose
      sna/gen4,gen5: Fix typo and only emit a flush if the video source is dirty
      sna/gen5: Use the BLT rather than flush when copying
      sna: Always call retire following a mmap
      sna: Tweak cancellation of deferred flush
      sna/gen5: Remove the unused SIP
      src/sna/gen5: Replace the precompiled shaders
      sna: Use Y-tiling for source pixmaps
      sna: Downgrade Y-tiling if we must use the BLT
      sna/video: Check for Xv presence in the server before initialising
      sna/gen2: Wire up NO_COMPOSITE for debugging
      sna/gen5: Use the same prefer_blt_fill() switch for fill-one
      sna/gen5+: Prefer using the BLT when either src or dst is untiled
      sna: Avoid the double application of drawable offsets for tiled spans
      sna: Round up stride to alignment for TLB miss checking
      sna: Disabling tiling if the bo would be smaller than a page
      sna: Discard the gpu-bo is the entire pixmap is written to by the CPU.
      sna: Only check for all-damaged CPU bo if we may discard the GPU bo
      sna/gen6+: Only use BLT if the untiled bo will cause per-pixel TLB misses
      sna: Use 64-bit mov (when available) for bitmap glyphs
      sna: Eliminate empty glyphs during format conversion
      sna: Don't try to guess when the kernel believes a buffer to be flushed
      sna: Tidy kgem_choose_tiling()
      sna: Pass the pixmap to sna_replace()
      sna: Use the correct pitch when creating an untiled active buffer
      sna: Always reduce tiling for thin pixmaps
      sna/gen6: Set the batch mode prior to checking limits and flushing
      sna: Fix assertion around flushing of mmap(PROT_READ)
      sna/render: Fix check for "migrate whole pixmap"
      sna/gen5: Handle cpu-bo for render targets
      sna: Align pwrite to transfer whole cachelines
      sna: Move the preservation of the io handle into the common destroy path
      sna: Reuse the full size of an old handle for io
      uxa: Reset size limits based on AGP size
      uxa: Fix runtime linking of previous commit
      uxa: Ensure that we can fallback with all of (src, mask, dst) as GTT mappings
      sna: Pass the current value of the batch offset to the kernel relocator
      sna: Remove one redundant retire
      sna: use tight pitches for a8
      uxa: Unmap the buffer after swrast
      sna: Prefer to use our pixmap upload paths
      sna: Beware flushing partial buffers before they are written
      sna/gen2: Avoid readbacks for unsupported sources
      sna/gen3: Reduce readbacks on dst for unsupported sources
      sna/gen4: Reduce dst readbacks for unsupported sources
      sna/gen5: Reduce dst readbacks for unsupported sources
      sna/gen6: Reduce dst readbacks for unsupported sources
      sna/gen7: Reduce dst readbacks for unsupported sources
      sna/trapezoids: Fix detection of rectilinearity after projection
      uxa/video: Use the common bo allocations and upload
      uxa: Fix clip processing for uxa_fill_spans()
      sna: Discard bo for idle private pixmaps
      sna: Use the coarse monotonic clock to coalesce wakeup events
      sna: s/MONOTONICE/MONOTONIC/
      sna: Fallback to ordinary monotonic clock if coarse is not supported
      sna: Use a single definition for the inactive cache timeout
      sna/trapezoids: First try the scan converter for fallbacks
      sna/trapezoids: Try to render traps onto a8 destinations in place
      sna/gen[23]: Fixup render targets with pitches below hw minimum
      sna: Remove assertions that external bo are not busy
      sna: Only use the 64-byte pitch alignment for scanout
      sna: Transfer the whole bo for a replacement XCopyArea
      sna/dri: Prefer using the BLT for DRICopyRegion on pre-SNB
      sna: Be more pessimistic with CPU sources
      sna: Remember to assign a new unique id for the replaced bo
      sna/gen5: Remove a redundant format check
      sna: Implement a VMA cache
      uxa/video: Correct the offset of the binding table in the surface buffer
      sna: Only transfer unpinned buffers
      sna: Only transfer the bo if the src/dst are of matching size
      sna/gen3: Ensure that depth read/writes are disabled before first use
      sna: Update computation of untiled pitch to cater for CREATE_SCANOUT
      sna: Restrict pitch alignment on 945gm to 64 bytes
      sna: Add some more debug messages for VMA caching
      sna: Enable hooking up of valgrind during debugging
      sna/composite: Make the check for a no-op earlier and clearer
      sna/gen3: Move the video dst_bo to make the conditional clearer
      sna/gen6: Tidy the usage of the max pipeline size
      sna/gen6: Only use CPU bo for a render target if untiled
      sna: Remove bo transference for whole XCopyArea
      sna: We need to remap the gpu_only mmap prior to every use
      sna: Fix a typo, end statements with semi-colons
      sna: Defer allocation of memory for larger pixmap until first use
      sna: Experiment with creating the CPU pixmap using an LLC BO
      sna: Use the CPU bo as a render source if compatible and no GPU bo
      sna: Enable memcpy uploads to SHM pixmaps
      sna/gen2: Check for unhandled pitches in the render pipeline
      sna: Force a suitable minimum stride for 3D temporaries
      sna/gen2: Tidy checking against too large pixmaps for the 3D pipeline
      sna: Double-check that the submitted buffers were not purged
      sna: Set the refcnt on the replacement bo
      configure: Link the extra valgrind debugging to --enable-debug
      uxa: Wakeup 3s after the last rendering to reap the bo-cache
      uxa: Cap the maximum number of VMA cached
      sna: Fix a debugging assert
      sna: Debug fixup for non-LLC systems
      sna: Allow the debugger to map bo from the batch during kgem_submit()
      sna: Mark upload buffers as unaccessible upon submission
      sna: Protect against deferred malloc failures for pixel data
      uxa/glamor: Silence a compiler warning for some unused code
      sna/damage: Guard against malloc failures
      sna/blt: Add a missing allocation check upon the source CPU pixmap
      sna: Use a static request and synchronous rendering in case of malloc failure
      sna: Use the provided bo for blitting rather than assume priv->gpu_bo
      sna: Close any handles after bo allocation failures
      sna: Skip glyphs if we fail to allocate pixel data for them
      sna: Check allocation of pixman_image_t
      sna: Add some DBG() around Y-to-X fallbacks
      sna: Fix DBG crash whilst pruning inactive GPU buffers
      uxa/glamor: Always notify glamor that the glyph has been unrealized
      uxa/glamor: Allocate a fbPixmap with storage for fallbacks
      sna: silence warning for unused 'priv'
      sna: More missing move-to-cpu allocation checks
      sna: cap the number of times we attempt to resubmit the batch upon EBUSY
      uxa: Move the region creation beyond the call into glamor
      sna/gen3: Check for upload failure of video bo
      sna: Clean up caches stored upon the batch bo
      uxa: Explicitly check for libdrm_intel in configure
      src/gen4+: Add support for depth 15 render copies/fills
      sna/gen4+: disable the blend unit for PictOpSrc
      sna: Clean up compiler warnings for shadowed variables
      sna: Suppress an overwritten XY_SRC_COPY
      sna: Wrap I915_GEM_GET_PARAM with valgrind markup
      sna/gen3: Initialise missing value of need ca pass for fill_boxeS()
      sna: Discard GPU damage first before choosing where to fill_boxes()
      sna/gen3: Enforce a minimum width of 2 elements for the render target
      sna: Map the upload buffer using an LLC bo
      sna: Search through the inactive VMA cache for potential upload bo
      sna: Upload to large pixmaps inplace
      sna: Simplify write domain tracking
      sna: Tune the default pixmap upload paths
      sna: Upload images in place from CopyArea
      sna/gen5+: First try a blt composite if the source/dest are too large
      sna/gen5: If we need to flush the composite op, check to see if we can blit
      sna/gen2+: If we use the BLT to prepare the target, try using BLT for op
      sna/gen3: Tidy checks against hardcoded maximum 3D pipeline size
      sna/gen[23]: Try BLT if the source/target do no fit in the 3D pipeline
      sna/gen[67]: check for context switch after preparing source
      sna: Explicitly handle errors from madv
      sna/gen5: Tidy checking against hardcoded maximum 3D size
      Silence uxa-only compilation
      sna: Only upload to the source GPU bo if we need tiling to avoid TLB misses
      sna: Hint likely usage of CPU bo
      sna: Retire if the inactive vma list is empty
      sna: Only retire for the VMA search if there are cached VMA
      sna: Purge all evicted bo
      sna: Use a safe iterator whilst searching for inactive linear bo
      sna: When freeing vma, first see if the kernel evicted any
      sna: clear the request list when reusing a flushing bo
      sna: the active cache is not marked as purgeable, so skip checking it
      sna: Distinguish between GTT and CPU maps when searching for VMA
      sna: Continue searching the linear lists for CPU mappings
      sna/gen[23]: We need to check the batch before doing an inline flush
      sna: Restore CPU shadow after a GTT memory
      sna: Reset the GTT mapping flag when freeing the shadow pointers
      configure: Bump the required pixman version
      sna: Tune the inplace cross-over point to be half-cache size
      sna: Remove the forced inplace upload
      sna: Create a GPU bo for accelerated core drawing
      sna: Tweak the rendering priorities
      sna: Discard all damage when replacing pixmap contents
      sna: Drop the is-mapped flag after operating via the GPU
      sna: Avoid the GPU readback with READ==0 move_to_cpu
      sna: Always pass the damage to sna_drawable_use_gpu_bo()
      sna: Don't mark mapping as synchronous by default
      sna: Don't immediately check for region intersection after subtract
      sna: Fixup the refcnt to avoid an assert
      sna: Tidy up some recent valgrind complaints with reuse of scratch pixmaps
      sna: Explicitly handle depth==1 scratch pixmaps
      sna: Implement extended fallback handling for src == dst copies
      sna: Do not use Y-tiling for composite back pixmaps
      sna/render: If the pixmap already has a GPU bo, use it for the source
      sna: Improve a debug message
      sna: Only upload tiny pixmaps on the second use
      sna: Treat all exported bo as potentially active
      sna: Always readback untiled bo in place
      sna: Intiialise pixmap size before use
      sna: Drop suggested tiling parameter when creating bo
      sna: Avoid fallbacks for convolutions by rendering the convolved texture
      sna/gen2+: Prefer to use the CPU if we have a source alphamap and CPU pictures
      sna: flatten source alphamaps
      sna: Setup the pixmap correctly in order to attach our private
      sna: Reduce damage after complete solid fills
      sna: Mark fresh GPU only bo as being all damaged
      sna: discard damage-all even for width|height==0 operations
      sna: Bump the inactivity timeout
      sna: Cancel the immediate batch submit once handled in the block handler
      sna: Age active wholly damaged GPU buffers more slowly
      sna/gen2+: Reuse source channel for mask where possible
      sna: Free the additional bindings on proxies
      sna: Trim the unused pages from the batch between the last command and surface
      sna: Silence unsigned comparison against 0
      sna: Don't align pwrite to cachelines for doing discontiguous copies
      sna: Pass usage-hint to move-to-gpu
      sna/glyphs: Create GPU bo for large enough destination surfaces with glyphs
      sna: Discard any GPU damage when overwriting with trapezoids
      sna: Avoid forced creation of GPU bo for tiny operations and dirty pixmaps
      sna: Search the inactive VMA cache first for a linear mapping
      sna: Tune region upload inplace threshold
      sna: Remove the independent tracking of elts from boxes
      sna: Cheaply reduce damage when subtracting and removing the entire damage
      sna: reset the pixmap on the initial clear after being swapped out
      sna: Clear the CPU damage for other overwriting rectangular blits as well
      sna: Promote an unattached pixmap to the GPU for inplace copies
      sna: Create a GPU for a streaming write
      sna: Check that the copy dst is attached before replacing damage
      sna/damage: Fix the is-contained test
      sna: We can always compare the box to be subtracted against the dirty extents
      sna: Fix damage reduction by adding new boxes to the tail of the box list
      sna: Encourage large operations to be migrated to the GPU
      sna: use indirect uploads if the bo was last known to be unmappable
      sna: Use shadow if the GPU is busy or not immediately mappable
      sna: Jump straight to the fallback copy routines if the dst is not attached
      sna: Inline the common portion of sna_get_pixel_from_rgba()
      sna: Only call move-to-gpu on scanout flush if we have cpu damage to move
      sna: Tweak damage not to reduce if it will not affect the outcome of reducing to all
      sna: Move the is-mappable check into the callers of region_inplace()
      sna: Increase the minimum alignment constraint for g33
      sna: Mark the glyph cache as being unpageable
      sna: Don't force the creation of a GPU bo if it will be untiled
      sna: Rearrange damage for tail-call optimisations
      sna: Don't discard empty glyphs, just skip them
      sna: Skip zero-sized glyphs
      sna: Add some more debugging to find the source of a read-boxes error
      uxa: Remove concept of global FB ownership made obsolete by GEM and KMS
      sna: Perform clip mask compositing inplace
      sna: Refactor common code for testing gpu busyness of a pixmap
      sna: Do not create glyph caches if the gpu is wedged
      sna: Fix debug message for read-boxes
      sna/dri: Update set_bo() for change of bo ownership transfer during page-flip
      uxa: Depend upon DRI2 not DRI
      sna: Be paranoid and check for errors from mmapping the bo
      sna: Reset the source counter upon dirtying the shadow pixmap
      sna: Only update the damage region as necesary for contains-box
      sna: Allow uploading inplace to a freshly created GPU bo
      sna: Tune disarming of the scanout flush timer
      sna: Fix DBG for no intersection with damage
      sna: Remove redundant use-gpu-bo clause
      sna: Defer the initial source upload if the GPU bo will be untiled
      sna: compare tiling against minimum width for relevancy
      sna: Tweak throttling to be run before going idle
      sna: Make sure the shadow pixmap is suitable for scanout
      sna: Implement tiled uploads for small stipples larger than patterns
      sna: Update pixmap->devKind for GTT mappings
      sna: Implement inplace trapezoidal addition (for clipmasks)
      uxa: the video destination should be in the render write domain
      uxa/video: Clear all state structures before uploading
      Revert "sna: Increase the minimum alignment constraint for g33"
      sna: Move some checks against programming errors to asserts
      sna: Eliminate one union pass when reducing damage-add
      sna: Delete some redundant code
      sna: Tune blt routine
      sna: Keep a freelist of buffers
      sna: Prefer not to force the creation of gpu bo for pixmap uploads
      sna/gen3: Check for a non-NULL bo before incrementing its ref in reuse_source()
      sna/damage: Mark the box as packed so that the embedded_box is aligned correctly
      sna: Use a cheaper no-reduction damage check for simply discarding further damage
      sna: Avoid unnecessary call overhead for read-only move-to-cpu
      sna/trapezoids: Pass the sna pointer to the callees
      sna/gen3: Prefer to use the blitter for solid fills
      sna: Delete the last buffer if destroyed without being used on the GPU
      sna: Force tiling on medium pitches if not reduced for other reasons
      sna: Always search for an exact active match first from the bo-cache
      sna: Inline checks for over-sized buffers during pixmap creation
      sna: Discard mask and source for PictOpClear
      sna/gen3: Remove incorrect premultiplication of solid component-alpha mask
      sna: Fix typo during partial list deletion
      sna: Guard against NULL damage deref
      sna: Limit batch to a single page on 865g
      sna: Carefully free the freed_pixmap upon exit
      sna: The batch is counted in dwords, not bytes!
      sna: Force creation of ordinary pixmaps when wedged.
      sna: Only allow mappable pixmaps to be mapped
      sna: Prevent creation of bo purely for GTT mapping when wedged
      sna: Always prefer to use cacheable operations after the GPU is wedged
      sna: Align tiled stipple uploads with the stipple pixmap correctly
      sna: Expand small stipples into 8x8 patterns
      sna: Only request page size allocations for the replacement buffer
      sna: Mark tiny CPU pixmaps as completely dirty
      sna/damage: Fix reduction to copy the boxes correctly
      sna: Fix assertion as we may want to create active bo with cpu mappings
      sna: Use the created cpu-bo for upload and download
      sna: Don't perform a deferred attachment for vmapping if not supported
      sna: Immediately upload oversized glyphs
      sna: Deferred attachment to a pixmap needs to mark the pixmap as entirely dirty
      sna: Check the composite-rectangles will be on the GPU before forcibly attaching
      sna: Try doing a cheap is-contained check before reducing damage
      sna: Attach to the pixmap for source counting when deferring uploads
      sna: Throttle, throttle, throttle.
      sna/trapezoids: Try creating the trapezoids mask inplace if not using spans
      sna: Avoid switching rings for uploading data
      sna: Avoid operating inplace if we have pending CPU damage
      sna: Mark the upload as having acquired the GTT mapping
      sna: Enable using the render pipeline for uploads to Y-tiled pixmaps
      sna: Check for usable pixmap before deference its private
      sna: Add more debugging to use-gpu-bo
      sna: Make sure that we do not attach to SHM pixmaps in ignorance
      sna: Only mark the pixmap as GTT mapped if the private owns the pixels
      sna: Check that the GTT is no longer mapped before ensuring the shadow pointer
      sna: Quickly handle the common case of using a GPU source pixmap
      sna: Quickly handle the common case of using a CPU source pixmap
      sna/gen6: Enable reuse of source Picture
      sna: Only force a batch continuation if the scanout is written to
      sna/gen6: Only force BLT if the src and dst overlaps for self-copy
      sna: Rearrange use-cpu-bo to avoid reducing GPU damage
      sna: The condition for automatically using the GPU source is no CPU damage
      sna: Only need to remove the pixmap from the dirty CPU list when clearing damage
      sna/trapezoids: Use a slightly faster miTrapezoidBounds()
      sna: Pass the real destination pixmap to sna_write_boxes()
      sna: fast path move-to-cpu of an all-damaged CPU bo
      sna/trapezoids: Add debug markers for move-to-cpu
      sna/gen6: Tidy emission of CC state (blending)
      sna/gen6: Reuse current no-blending setup for PictOpClear
      sna: Only force a pipeline flush for a change of destination, not sources
      sna: Optimise sna_poly_segment() for the frequent no-op case
      sna: always skip active search when requested for find an inactive bo
      sna: Support performing alpha-fixup on the source
      sna: Also mark a bo created by force-to-gpu as being all-damaged
      sna/blt: Amalgamate many PolyFillRect of single boxes
      sna: Pad upload buffers to ensure there are an even number of rows
      sna: Prevent reuse of scanlines after the buffer is destroyed
      sna: Missing chunks from last commit
      sna: Do not move-to-gpu for sna_copy_boxes if we have a cpu bo
      sna: Trim usage of vmapping
      sna: Do not upload an untiled GPU bo if we already have a CPU bo
      sna/trapezoids: Don't risk stalling for inplace SRC trapezoids
      sna/gen[67]: Hook into the clear operation for glyph masks
      sna: Bubble sort the partial buffer list back into order after trimming padding
      sna: Tune cache size for cpu bo cache
      sna: Add ricer stripes to memcpy_xor
      Removed deprecated xf86PciInfo.h includes
      sna/io: Combine small uploads into single writes
      sna: mark the cpu bo used for the upload buffer as in CPU domain
      sna/gen2: Add poor-man's linear gradient support
      sna/blt: Rearrange to reduce a out-of-bounds copy to a clear
      sna/gen2: Eliminate some switching between logic op and blend
      sna/gen2: Try to avoid creating a bo for solid colours
      sna: Rearrange buffer allocation to prefer llc bo over vmaps
      sna: Allow for xRGB uploads to replace their target bo
      sna: Replace the free-inactive-gpu-bo with the generic code
      sna: Destroy the counter damage after a reduction-to-all
      sna: Shrink upoads buffers
      sna/gen[23]: Tile render fill to oversized bo
      sna: Disable the inline xRGB to ARGB upload conversion
      sna: Add reminder about possible future tiling optimisations
      sna: Release the stale GTT mapping after recreating the bo with new tiling
      sna: Make the check for a single fill-rectangle clearer before modifying damage
      sna: Shrink the partial upload buffers before compacting the batch
      sna: A partial read buffer is allowed to be in the GPU domain
      sna: Align the small upload buffers to 2 texels, and the pitch to dwords
      sna: Check needs-flush status immediately upon destroy
      sna: Amalgamate small replacements into upload buffers
      sna/gen6: Add a vertex program for a simple (affine, no rotation) spans
      sna: Add assertions to track requests
      sna: Mark the bo as no longer in the GPU domain after clearing needs_flush
      sna: Explicitly retire the bo following a serialisation point
      sna/gen6: Special case spans with no transform
      sna: Use a minimum alignment of 64
      sna: Mark upload pixmaps as being wholly GPU damaged
      sna: Choose a stride for the indirect replacement
      sna: Store damage-all in the low bit of the damage pointer
      sna: Don't drop expired partial bo immediately, wait until dispatch
      sna: Prevent shrinking a partial buffer stolen for a read
      sna: Disable the min alignment workaround
      sna: Don't call RegionIntersect for the trivial PutImage
      sna/video: Fix for changes in damage api
      sna: Replace the open-coded bubble sort of the partial list
      sna: Align the partial buffer contents to cachelines
      sna: Prevent 60Hz wakeups if the client stops in mid-render
      sna: Improve a DBG message
      sna: Only shrink a partial buffer if it is no longer used.
      sna: Re-enable min-alignment workaround on pre-SNB hw
      sna: Update for removal of backwards compatible miWideDash
      sna: Dump batch contents for debugging before modification
      sna: Use the GPU bo if it is all damaged
      sna: Pass a hint that we may like to perform the fallback in place
      sna/damage: Fix union of extents with dirty damage but no region
      sna: Reorder composite-done to destroy mask bo before source bo
      sna/dri: Hook up a compile option to switch colour buffers to Y-tiling
      sna: Correct iteration counter for stippled blits
      sna: Decouple from CPU dirty list after removing all CPU damage
      sna: Decouple dirty pixmaps from list if we fail to upload them
      Include <xorgVersion.h> to repair build
      sna: Relinquish the GTT mmap on inactive buffers if moved out of the aperture
      sna: Experiment with GTT mmapped upload buffers
      sna: Use top_srcdir to detect .git rather than top_builddir
      sna: Be more lenient in not forcing to the GPU if the sources have CPU damage
      sna/trapezoids: Quieten the debugging of the gory details of the rasteriser
      sna: Hint whether we prefer to use the GPU for a pixmap
      sna: Remove the short-circuiting of all-damage in move_to_cpu
      sna: Reverse the chronological sort order of inactive vma entries
      sna: Upload continuation vertices into mmapped buffers
      sna: Pass render operation to flush and avoid the implicit flush-on-batch-end
      sna/gen5: Disable render glyphs_to_dst
      sna/glyphs: Cache the glyph image on the fallback path as well
      sna: Ensure that the batch mode is always declared before emitting dwords
      sna: Be more lenient wrt switching rings if the kernel supports semaphores
      sna/gen6: Tidy markup for when using the BLT is truly preferrable
      sna/gen6: Allow greater use of BLT
      sna/gen[23]: Check for room in the batch before emitting pipeline flushes
      sna: Do not assume that the mappable aperture size is a power of two
      sna: Discard read buffers after use
      sna: Fix read back of partial mmapped buffers
      sna/gen2: Check reused source for validity
      sna/gen3: Check reused source for validity
      sna/gen4: Check reused source for validity
      sna/gen5: Check reused source for validity
      sna/gen6: Check reused source for validity
      sna/gen7: Check reused source for validity
      sna: Prefer read-boxes inplace again
      sna: Various DBG typos
      sna: Restore the kgem_create_map() symbol
      sna: Defer ring switching until after a period of idleness
      sna: Be a little more lenient wrt damage migration if we have CPU bo
      sna: Fast path move-area-to-cpu when the pixmap is already on the cpu
      sna: Use indirect uploads rather than teardown existing CPU maps
      sna: Tidy search through active bo cache
      sna/video: Increase the level of paranoia
      sna: Don't track an unmatching tiled bo when searching the linear cache
      sna: Use the prefer-GPU hint for forcing allocation for core drawing
      sna: Optimise call to composite with single box
      sna/gen6: Force a batch submission after allocation failure during composite
      sna: On LLC systems quietly replace all linear mmappings using the CPU
      sna/gen[23]: Remark the destination bo as dirty after flushing
      sna/gen6: Restore the non-pipelined op after every WM binding table update
      sna/gen[4567]: x1r5g5b5 is only a render target, not sampler
      sna/gen[45]: clear the state tracker before setting the formats
      sna: Correct assertion for a partial read buffer
      sna: correct adjust of a stolen 2d read buffer
      sna: Cap pwrite buffer alignment to 64k
      sna: Add a render ring detiling read path
      sna: Add DBG breadcrumbs to gradient initialisation
      sna: Add some DBG breadcrumbs to put_image upload paths
      sna: Mark the freshly allocated CPU bo as in the CPU domain
      sna: Mark GPU as all-damaged discarding the CPU bo to prevent stalls
      sna: Track whether damage is a complete representation of the dirt
      sna: Restore orginal shadow pointer before uploading CPU damage
      sna: Fix increment of damage boxes after updating for rectangles
      intel: Trivially remove a piece of XAA dependency for shadow
      sna: Restore use of shadow pixmaps by default without RENDER support
      sna: Prevent switching rings with render disabled
      sna: Add valgrind markup for tracking CPU mmaps
      sna: Fix some tracking of to-be-flushed dri pixmaps
      sna/gen6: Don't assume that a batch mode implies a non-empty batch
      sna: Remove defunct debugging option
      sna: Update bo->tiling during search_linear_cache
      sna: Debug uploads
      sna: Almagamate writes based on the total number of bytes written
      sna/gen3: Set the batch mode for emitting video state
      sna: Check number of boxes to migrate during move-to-cpu
      sna: Make sure we create a mappable GPU bo when streaming writes
      sna/damage: Fast path singular regions
      sna: Fine grained fallback debugging for core drawing routines
      sna: Clip damage area with source extents for fallback
      sna: Demote MOVE_READ if the GC operation covers the clip
      sna/damage: Always mark the damage as dirty when recording new boxes
      sna: filter out degenerate segments whilst drawing unclipped PolySegment
      sna: Micro-optimise line extents for zero line width
      sna: Only use the blitter to emit spans if we cannot stream the updates
      sna: Also check for the inplace hint when migrating the whole pixmap
      sna: Only use the blitter to emit wide spans if we cannot stream the updates
      sna: Tweak move-to-cpu to ignore inplace hint if its already on the CPU
      sna: BLT use dword pitch only for tiled surfaces
      sna/gen7: Forward port recent changes from gen6
      sna: Move the flush to the backends
      sna/gen6: Force a CS stall for changing samplers
      sna/gen6: Reduce the sampler stall if already stalling for drawrect
      sna/gen6: Do not enable blending on video sources
      sna/gen6: Cleanup non-pipelined w/a
      sna/gen3: Set bo to NULL for render_fill_one
      sna: Copy the glyphs metrics before checking for an empty glyph
      sna: Cleanup PolyText and ImageText fallback debugging
      sna/gen3: Add DBG markup for tracking target state
      sna: Give kgem_create_buffer_2d a unique id
      sna: Check the blt composite op is within the source bounds
      sna: Use full usage flags for moving the dst pixmap for a copy
      sna: Pass inplace hint for sna_copy_boxes fallback
      sna: Avoid a common readback after clearing
      sna: Add some more DBG along the downsampling source extraction path
      sna: Incude prefer-gpu hint in decision to upload CPU textures
      sna: Correct image buffer size when uploading a downsampled image
      sna: Correct the offsets for performing partial downsampling on the GPU
      sna/gen6: stall before blending dirty pixels from the render cache
      sna: Remove assertion that all flushing list members are in the GPU domain
      sna: Assert that the subtract operation does reduce an all-damaged
      sna: Only subtract the fillrect from the CPU damage if it covers the drawable
      sna: Apply composite offset to copy-clear GPU path
      sna: Align the origin of downsampling subregion to an even pixel
      sna: Mark GPU bo as busy when drawing to an all-damaged pixmap for core
      sna: Wrap gc->ops->FillPolygon
      sna: Switch to using spans based on use_wide_spans()
      sna: Use a streamlined sna_fill_spans for when we know we want to use the gpu
      sna: Wrap gc->ops->PolyFillArc
      sna: Pass the reduce clip region to sna_fill_spans__cpu
      sna: Override sna_fill_spans for PolyArc
      sna: Specialise PolyPoint for callback from miZeroPolyArc
      sna: Prefer to always use span generation for PolyArc
      sna: Override sna_fill_spans for PolyLine
      sna: Provide a fast path for miZeroLine for PolyLine
      sna: Override sna_fill_spans for PolySegment
      sna: Provide a fast path for miZeroLine for PolySegment
      sna: Guard against being passed n==0 to FillSpans
      sna: Reduce GC to solid if possible along general spans path
      sna: Prefer mi span filling functions to call through to the GPU
      sna: Refactor tests for a solid gc to use the new function
      sna: Abort search for a linear bo if we encounter a purged buffer
      sna: Split the active bo cache into per-tiling caches
      sna: Track a proxy's dirty status upon itself rather than the target
      sna: Use the reduced ROP from the fbGC to accurately determine readback
      sna: Revise use of the inplace hint to favour small cacheable operations
      sna: A deferred attachment will never have a CPU bo
      sna: Silence the compiler with a few DBG format warnings
      sna: Do not discard CPU damage for a partial copy
      sna: Trim the clipped Segment to the right length
      sna: Add more assertions for copy errors
      sna: handle negative modulus for tiled blits
      sna: Use RepeatPad to avoid sampling the border color when downsampling
      sna/gen3: Apply damage to video pixmap
      sna: Reduce the assertion that we would have hinted to operate inplace
      sna: Mutate a temporary copy of the GC->ops so we don't alter new GCs
      sna: Install CPU handler for PolyLine for miPolySegment callback
      sna: Add more damage-is-contained asserts
      sna: Handle malloc failures when downsampling
      sna: Don't attempt to create pixmaps for dpeths smaller than 8
      sna: Enable clipping for mi FillSpans gpu callback
      sna: Set up GC for general FillArc to FillSpans callback
      sna: mark the pixmap as no longer clear after rendering video
      sna: Only reset devPrivate.ptr if owned by the CPU bo when freeing
      sna: Reduce number of reads required to inspect timers
      sna: Clear GPU damage first when moving a clear pixmap to the CPU
      sna: Clip GetImage to drawable so that damage migration is within bounds
      sna: Print source and destination regions for CopyArea fallback for DBG
      sna: Set the source clip for CopyArea fallback correctly
      sna: Apply source clipping to sna_copy_plane()
      sna: Only shrink partial buffers that are being written to
      sna: Handle self-copies for CopyPlane
      sna: Run the miHandleExposures for no-op CopyPlane
      sna: Silence compiler warning for a potential uninitialised return on error
      sna: Round up buffer allocations when downsampling
      sna: GetImage is allowed to read a window's border
      sna: Map freshly created, unbound bo through the CPU
      sna/gen2+: Do not force use of GPU if the target is simply cleared
      sna: Correct offset for moving drawable regions to the CPU
      sna: Apply the same migration flags for the dst alphamap as for the dst pixmap
      sna: Experiment with creating large objects as CPU bo
      sna: Use the cpu bo where possible as the source for texture extraction
      sna: Tweak aperture thresholds for batch flushing
      sna: Apply any previous transformation when downsampling
      sna: Search the buckets above the desired size in the bo cache
      sna/gen3: Use cpu bo if already in use
      sna: Add FORCE_FALLBACK debugging hook for PutImage
      sna: Prevent mapping through the GTT for large bo
      sna: Allow gen4+ to use larger GPU bo
      sna/gen2+: Include being unattached in the list of source fallbacks
      sna: Avoid fbBlt for the easy GetImage cases
      sna: Remove extraneous clipping from GetImage
      sna/video: Simplify the gen2/915gm check
      sna/video: Add some more DBG breadcrumbs to the textured PutImage
      sna/glyphs: Check that we attached to the cache pixmaps upon creation
      sna: Ensure that we have a source bo for tiled fills
      sna: Consolidate routines to choice destination bo
      sna/video: Add some DBG messages to track the error paths
      sna: Mark diagonal lines as partial write
      sna: Experiment with a partial source
      sna: Use a proxy rather than a temporary bo for too-tall but thin targets
      sna/video: Ensure the video pixmap is on the GPU
      sna: Limit inplace upload buffers to maximum mappable size
      sna: Guard against the upload buffer growing past the maximum bo size
      sna: Allow ridiculously large bo, up to half the total GATT
      sna: Determine whether to use a partial proxy based on the pitch
      sna: Ignore map status and pick the first inactive bo for reuse
      sna: Always create a GPU bo for copying from an existent source GPU bo
      sna: Handle GPU creation failure when uploading subtexture
      sna: Fix the "trivial" fix to improve error handling
      sna: Limit the tile size for uploading into large pixmaps
      sna: Add a tiled fallback for large BLT copies
      sna: Detect batch overflow and fallback rather an risk an ENOSPC
      sna: Base prefer-gpu hint on default tiling choice
      sna: Allow creation of proxies to proxies
      sna: Decrease tiling step size in case we need to enlarge the box later
      sna: Allow the creation of render targets larger than the maximum bo cache
      sna: Update the partial buffer allocation size when reusing an old mapping
      sna: Track large objects and limit prefer-gpu hint to small objects
      sna: Discard the cleared GPU buffer upon PutImage to the CPU buffer
      sna: Check that the intermediate IO buffer can also be used for blitting
      sna: Trim tile sizes to fit into bo cache
      sna/dri: We need to reduce tiling on older gen if we cannot fence
      sna: Avoid converting requested Y to X tiling for large pitches on gen4+
      sna: Split the tiling limits between upload and copying
      sna/gen5: Always prefer to emit solid fills using the BLT
      sna/gen6: Prefer to do fills using the BLT
      sna: PolyGlyph supports all of fill/tile/stipple rules
      sna: Fill extents for ImageGlyphs
      sna: Add debugging code to verify damage extents of fallback paths
      sna: Search again for a just-large-enough mapping for inplace uploads
      sna/gen6: Ring switching outweighs the benefits for cairo-traces
      sna: Add a couple of sanity checks that the CPU drawable is on the CPU
      sna: Apply redirection for the render copy into large pixmaps
      sna: Reduce the downsample tile size to accommodate alignment
      sna: Check if the damage reduces to all before performing the migration
      sna/gen6: Reduce PictOpClear to PictOpSrc (with blending disabled)
      sna: Always pass the clear colour for PictOpClear
      sna: Discard the redundant clear of the unbounded area if already clear
      sna: Disable use of xvmc for SNB+
      sna: If we have a CPU bo, do not assert we have shadow pixels
      sna/gen2+: Exclude solids from being classed as requiring an upload
      sna: Use the clipped end-point for recomputing segment length after clipping
      sna: Search all active buckets for a temporary allocation
      sna: Use the proper sna_picture_is_solid() test
      sna: Handle tile alignment for untiled large bo more carefully
      sna: Set the damage for render->copy_boxes to NULL before use
      sna: Mark up the temporary allocations
      sna/tiling: Request Y-tiles if we know we cannot BLT to either the src or dst
      sna: Apply offsets correctly for partial src/dst in large copy boxes
      sna/gen[4-7]: Fix erroneous scale factor for partial large bo render copies
      sna: Relax must-be-blittable rules for gen4+
      sna: Check that we successfully retired an active linear buffer
      sna: Limit max CPU bo size to prevent aperture thrashing on upload
      sna/gen2+: Force upload rather than perform source transformations on the CPU
      sna: Fix retire after readback
      sna/gen7: Mention the depth-stall required before changing VS state
      sna/gen6: Suppress the CS stall for the first command in the batch
      sna/gen6: Prefer the render ring for copies
      Include a local copy of list.h
      Add a missing macro for old xorg/list.h
      Be paranoid about the definition of container_of
      sna/dri: Don't attempt to change tiling if it is a no-op
      sna/dri: Mark bo as reusable after completion of a flip-event
      sna: Upconvert fallback trapezoids to a8
      sna/trapezoids: Presume that Precise mono rasterisation adheres to the spec
      sna: Correct tile sizes for Y-tiling on i915g
      sna/dri: Ensure the domain tracking is reset when releasing bo used for swaps
      sna: When reversing line-drawing direction, use the clipped endpoint
      sna: Trim clipped lines to end within bounds
      sna: Move sync'ing of CPU bo after allocation to first write
      sna: gen4+ suffer no penalty for changing tiling
      sna: Restore the shadow pixels when reducing CPU damage to all
      sna: Split up/down edge walking in order to handle endpoint clipping
      sna: Fix use of RegionInit() for singular regions
      sna/dri: Update for AsyncSwap interface changes
      uxa: Remove DPRINTF stubs
      uxa: Silence compiler warning for const arguments
      sna: Short-circuit repeated calls to force-to-gpu
      sna/dri: Improve error handling of failing to create a DRI2 pixmap
      sna/dri: Ensure that we reattach to the DRI2 front buffer after modeswitch
      sna: Skip the CPU synchronization when marking a pixmap as inactive
      sna: Mark the pixmap as active for the force-to-gpu short-circuit
      uxa: Prevent laggy applications by throttling after rendering
      sna/dri: Queue a flush on the back DRI2 when enqueing a flip
      sna: Clear the scanout flag after releasing the scanout pixmap
      sna/gen3+: Only flush the vertices after checking for end-of-batch
      sna/gen3+: Re-emit composite state after flushing CA vertices
      sna/gen5: Remove CA glyph workaround
      sna: Ensure we restore the shadow pixels before uploading CPU data
      sna/trapezoids: Only the inplace PictOpIn is unbounded
      sna: Clear the flush flag on release of scanout/dri
      sna/gen3+: Flush the vertices during vertex-finish
      sna/blt: Avoid clobbering the composite state if we fail to setup the BLT
      sna/gen4: Fix vertex flushing across batch flushing
      sna: Use a CPU mapping if the bo is already in the CPU domain
      sna/gen3+: Force a batch flush when run out of CA vbo
      sna/gen3: Refactor get_rectangles() to emit composite state and retry
      sna/gen6: Refactor get_rectangles() to re-emit state after a flush
      sna/gen5 Refactor get_rectangles() to re-emit state after a flush
      sna/gen7 Refactor get_rectangles() to re-emit state after a flush
      sna/gen4 Refactor get_rectangles() to re-emit state after a flush
      sna/gen3: Silence the compiler complaining with DBG enabled
      uxa: Add a option to disable the bo cache
      configure, NEWS: Bump version to 2.18.0 for release

Eugeni Dodonov (1):
      sna: check for LLC support

Gaetan Nadon (1):
      Revert "Update autotools configuration"

Simon Que (1):
      xf86-video-intel: change order of DPMS operations

Stefan Dirsch (1):
      Make driver backwards compatible for server 1.6.x.

Zhigang Gong (16):
      uxa/glamor: Introduce additional access modes to wrap glamor acceleration
      glamor: Initial commit to introduce glamor acceleration.
      uxa/glamor: Turn on glamor for fill spans and rects
      uxa/glamor: Enable the rest of the glamor rendering routines
      uxa/glamor: Fallback to new glamor pixmap if failed to create textured pixmap.
      uxa/glamor: Remove dead code.
      uxa/glamor: Remove extraneous flush
      uxa/glamor: Let glamor do the GC validation
      uxa/glamor: Route some missing drawing function to glamor
      uxa/glamor: Create glamor pixmap by default.
      uxa/glamor/dri: Fix a typo bug when fixup glamor pixmap.
      uxa/glamor: Refine CloseScreen and InitScreen process.
      uxa/glamor: Use a macro to specify module name.
      uxa/dri: Refine the pageflip processing.
      uxa/glamor/dri: Enable the pageflip support on glamor.
      uxa/glamor/dri: Should fixup the drawable pixmap.

git tag: 2.18.0

http://xorg.freedesktop.org/archive/individual/driver/xf86-video-intel-2.18.0.tar.bz2
MD5:  34f3987ffe86e30c57abc33b7f8030e9  xf86-video-intel-2.18.0.tar.bz2
SHA1: 77fae98e73414140bf214dca5da32bcf079c4463  xf86-video-intel-2.18.0.tar.bz2
SHA256: dce63e33ccfada39ef1e1e6768dfd8edd4c525670dfe56d1c42b2f9570039ffc  xf86-video-intel-2.18.0.tar.bz2

http://xorg.freedesktop.org/archive/individual/driver/xf86-video-intel-2.18.0.tar.gz
MD5:  e7bd15f22c296b77b76c229c2ac1e06d  xf86-video-intel-2.18.0.tar.gz
SHA1: 692cf53f330719ea0c342b36f78bdf2afce2da3d  xf86-video-intel-2.18.0.tar.gz
SHA256: 59fbc5cd9c30259b509d7a0d67ab050a7a945d8a2ba5ef8208d8728d20a74b23  xf86-video-intel-2.18.0.tar.gz

-- 
Chris Wilson, Intel Open Source Technology Centre
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.x.org/archives/xorg-announce/attachments/20120224/f0ed033f/attachment-0001.pgp>


More information about the xorg-announce mailing list