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.freedesktop.org/archives/intel-gfx/attachments/20120224/f0ed033f/attachment-0001.pgp>