xf86-video-intel: Changes to 'refs/tags/2.18.0'

Chris Wilson ickle at kemper.freedesktop.org
Fri Feb 24 03:27:59 PST 2012


Tag '2.18.0' created by Chris Wilson <chris at chris-wilson.co.uk> at 2012-02-24 11:27 -0800

Intel 2.18.0 release

Changes since 2.17.0:
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.

---
 Makefile.am                                     |    1 
 NEWS                                            |   26 
 autogen.sh                                      |   14 
 configure.ac                                    |   45 
 m4/.gitignore                                   |    5 
 src/Makefile.am                                 |   18 
 src/common.h                                    |   17 
 src/i965_video.c                                |  596 +-
 src/intel.h                                     |  101 
 src/intel_display.c                             |   32 
 src/intel_dri.c                                 |  213 
 src/intel_driver.c                              |   64 
 src/intel_driver.h                              |    3 
 src/intel_glamor.c                              |  231 
 src/intel_glamor.h                              |   67 
 src/intel_list.h                                |  392 +
 src/intel_memory.c                              |   86 
 src/intel_module.c                              |   34 
 src/intel_shadow.c                              |   24 
 src/intel_uxa.c                                 |  164 
 src/intel_video.c                               |    2 
 src/legacy/i810/i810.h                          |    1 
 src/legacy/i810/i810_dga.c                      |    1 
 src/legacy/i810/i810_dri.c                      |    1 
 src/legacy/i810/i810_hwmc.c                     |    1 
 src/legacy/i810/i810_video.c                    |    1 
 src/render_program/Makefile.am                  |   78 
 src/render_program/exa_sf.g5a                   |   99 
 src/render_program/exa_sf.g5b                   |    7 
 src/render_program/exa_sf_mask.g5a              |   99 
 src/render_program/exa_sf_mask.g5b              |    7 
 src/render_program/exa_wm_ca.g5a                |   38 
 src/render_program/exa_wm_ca.g5b                |    4 
 src/render_program/exa_wm_ca_srcalpha.g5a       |   37 
 src/render_program/exa_wm_ca_srcalpha.g5b       |    4 
 src/render_program/exa_wm_mask_affine.g5a       |   31 
 src/render_program/exa_wm_mask_affine.g5b       |    4 
 src/render_program/exa_wm_mask_projective.g5a   |   53 
 src/render_program/exa_wm_mask_projective.g5b   |   16 
 src/render_program/exa_wm_mask_sample_a.g5a     |   49 
 src/render_program/exa_wm_mask_sample_a.g5b     |    3 
 src/render_program/exa_wm_mask_sample_argb.g5a  |   49 
 src/render_program/exa_wm_mask_sample_argb.g5b  |    3 
 src/render_program/exa_wm_noca.g5a              |   38 
 src/render_program/exa_wm_noca.g5b              |    4 
 src/render_program/exa_wm_src_affine.g5a        |   31 
 src/render_program/exa_wm_src_affine.g5b        |    4 
 src/render_program/exa_wm_src_projective.g5a    |   49 
 src/render_program/exa_wm_src_projective.g5b    |   16 
 src/render_program/exa_wm_src_sample_a.g5a      |   48 
 src/render_program/exa_wm_src_sample_a.g5b      |    3 
 src/render_program/exa_wm_src_sample_argb.g5a   |   46 
 src/render_program/exa_wm_src_sample_argb.g5b   |    2 
 src/render_program/exa_wm_src_sample_planar.g5a |   32 
 src/render_program/exa_wm_src_sample_planar.g5b |    5 
 src/render_program/exa_wm_write.g5a             |   55 
 src/render_program/exa_wm_write.g5b             |    6 
 src/render_program/exa_wm_xy.g5a                |   52 
 src/render_program/exa_wm_xy.g5b                |    4 
 src/render_program/exa_wm_yuv_rgb.g5a           |   98 
 src/render_program/exa_wm_yuv_rgb.g5b           |   12 
 src/sna/Makefile.am                             |   20 
 src/sna/blt.c                                   |  302 +
 src/sna/compiler.h                              |    8 
 src/sna/gen2_render.c                           |  955 ++-
 src/sna/gen3_render.c                           | 1090 ++--
 src/sna/gen4_render.c                           |  835 ++-
 src/sna/gen5_render.c                           | 1102 ++--
 src/sna/gen6_render.c                           | 1492 ++++-
 src/sna/gen6_render.h                           |   19 
 src/sna/gen7_render.c                           | 1598 +++++-
 src/sna/gen7_render.h                           |  280 -
 src/sna/kgem.c                                  | 2916 ++++++++---
 src/sna/kgem.h                                  |  232 
 src/sna/kgem_debug_gen3.c                       |    8 
 src/sna/kgem_debug_gen4.c                       |   27 
 src/sna/kgem_debug_gen5.c                       |   27 
 src/sna/kgem_debug_gen6.c                       |   50 
 src/sna/kgem_debug_gen7.c                       |   36 
 src/sna/sna.h                                   |  217 
 src/sna/sna_accel.c                             | 6114 ++++++++++++++++++------
 src/sna/sna_blt.c                               |  855 ++-
 src/sna/sna_composite.c                         |  167 
 src/sna/sna_damage.c                            | 1008 ++-
 src/sna/sna_damage.h                            |  178 
 src/sna/sna_display.c                           |   46 
 src/sna/sna_dri.c                               |  173 
 src/sna/sna_driver.c                            |    5 
 src/sna/sna_glyphs.c                            |  119 
 src/sna/sna_gradient.c                          |   20 
 src/sna/sna_io.c                                |  971 +++
 src/sna/sna_reg.h                               |    1 
 src/sna/sna_render.c                            | 1189 +++-
 src/sna/sna_render.h                            |   85 
 src/sna/sna_render_inline.h                     |   72 
 src/sna/sna_tiling.c                            |  399 +
 src/sna/sna_trapezoids.c                        | 1036 +++-
 src/sna/sna_video.c                             |   10 
 src/sna/sna_video_hwmc.c                        |    5 
 src/sna/sna_video_textured.c                    |   50 
 test/.gitignore                                 |    1 
 test/Makefile.am                                |    1 
 test/render-copy-alphaless.c                    |  285 +
 uxa/Makefile.am                                 |    6 
 uxa/uxa-accel.c                                 |  321 +
 uxa/uxa-glamor.h                                |   65 
 uxa/uxa-glyphs.c                                |   23 
 uxa/uxa-priv.h                                  |   15 
 uxa/uxa-render.c                                |  234 
 uxa/uxa-unaccel.c                               |   58 
 uxa/uxa.c                                       |   53 
 uxa/uxa.h                                       |   21 
 112 files changed, 21412 insertions(+), 6614 deletions(-)
---


More information about the xorg-commit mailing list