[Intel-gfx] [ANNOUNCE] xf86-video-intel 2.16.901

Chun-Yu Shei cshei at cs.indiana.edu
Mon Oct 31 00:30:08 CET 2011


I had to disable sna in 2.16.0 when running compiz or I'd get some 
graphics corruption, and the problem seems to still exist in 2.16.901 as 
well.  Here's a screenshot I just took on the RC with sna enabled: 
http://i.imgur.com/UtQpv.png

I'm on a ThinkPad X220 (i5-2540M) running Gentoo with the following:

pixman 0.23.6
mesa 7.11
libdrm 2.4.26
xorg-server 1.10.4

Similar reports:

http://forums.gentoo.org/viewtopic-t-890280-highlight-sna.html
http://forums.gentoo.org/viewtopic-t-898012-highlight-sna.html

Is there anything I can do to help track this down?

Chun-Yu

On 10/30/2011 12:57 PM, Chris Wilson wrote:
> This is the first release candidate in preparation for the upcoming
> 2.17.0 release. We will appreciate any feedback we can get from
> testing of this snapshot.
>
> The basis of this release are to push out a couple of critical stability
> fixes for SandyBridge and IvyBridge. There is very little else to see
> here. Those 200+ other commits do not exist...
> -Chris
>
> Bugs fixed in this snapshot (compared to 2.16.0)
> --------------------------------------------------
>
>   * Workaround blitter hang on SandyBridge and IvyBridge
>     https://bugzilla.kernel.org/show_bug.cgi?id=27892
>     https://bugs.freedesktop.org/show_bug.cgi
>
>   * Workaround pipe control issues on SandyBridge
>
>   * Use correct maximum PS thread count on IvyBridge
>
>   * Protect against failed pixmap allocation for XV
>     https://bugs.freedesktop.org/show_bug.cgi?id=40439
>
> Complete list of changes since 2.16.0
> -------------------------------------
>
> Chris Wilson (252):
>        sna/damage: Take advantage of marking all-damaged
>        sna/gradient: Use a high-precision ramp for a color step rather than fallback
>        sna/trapezoids: Speedup tor rasteriser
>        sna/render: allow CLAMP_TO_EDGE for outside samples of extract regions as well
>        sna/gen3: reset blend state after applying CA pass
>        sna/display: Destroy shadow data
>        sna/dri2: Add some debug around the use of the Resource database
>        sna: Clear structures across server reset
>        sna/video: Flush the video state at the end of the operation
>        sna/accel: Simplify single pixel read-back
>        sna/trapezoids: Reduce imprecise sampling to 4x4
>        sna/trapezoids: Use the tor scan converter to compute the low precision mask
>        video: check that the pixmap exists before use
>        sna/video: Defend against PutImage to a broken screen
>        sna: Cleanup up the cache upon close
>        sna: Free the buffers immediately upon release
>        sna: Retain the GTT space used for an upload buffer
>        sna/trapezoids: Allocate sufficient space for a8 mask for mono traps
>        sna/trapezoids: Reject invalid traps after projecting onto the sample grid
>        sna/trapezoids: Refactor to project the trapezoid only once
>        sna/gen6: Prefer the BLT ring, except for copies on behalf of DRI
>        sna: Use the shadow buffer for PutImage
>        sna/trapezoids: Edges may lie out of bounds
>        sna: Add missing implementation for Triangles
>        sna/trapezoids: Check for alignment after projection
>        sna/gen2: Improve batch decoder.
>        sna/gen2: Flush the batch when we run out of vertex space
>        sna/gen3: Do not assume video updates are always vsync'ed
>        sna/traps: Use the trapezoid path for AddTraps
>        sna/trapezoids: Fast upload path for gpu busy bo
>        sna/trapezoids: Hook up Imprecise AddTraps in lieu of spans
>        sna: Record git-tree used for compilation
>        sna: Prefer memcpy_blt over fbBlt
>        sna/gen5: Prefer BLT for solids
>        sna/gen3: Use a clear pattern for ill-defined radial gradients
>        sna: Mark the bo as reusable after extracting the handle from the buffer
>        gitignore: add git_version.h
>        sna/trapezoids: Prevent a memleak if feed lots of degenerate boxes
>        sna: Fix compilation without timerfd()
>        sna: Provide a direct lookup cache of alpha values
>        sna: Use single precision for computing the texcoord scale factor
>        sna/gen6: Prefer RENDER for copies as it compacts better
>        sna: Avoid the call overhead for the trivial clip case
>        sna/gen5: Avoid bitfields for simple assignments
>        sna/gen5: Fix debug compilation
>        sna/accel: Use correct enum for requesting a write-buffer
>        sna: Don't clear the kernel-needs-flush flag if we emit a MI_FLUSH
>        sna: Reuse the smallest bo that fits the request
>        sna/trapezoids: Implement a mono-rasteriser to skip opacity spans
>        sna/video: Stop advertising unsupported Xv attributes
>        video: Stop advertising unsupported Xv attributes
>        sna: Add a couple of debug statements for why we may not flush the scanout
>        sna/debug: Assert that BLT commands on gen2/3 are properly fenced
>        sna: Clear the list of buffers upon server regen
>        sna/gen3: Reset the shader after playing video
>        sna: assert that the memcpy upload path points to valid regions
>        sna: Yet another s/x/y/ typo
>        sna/trapezoids: Amalgamate adjacent mono spans
>        configure: Introduce --with-builderstring
>        sna: Remove bad assert
>        sna: Debug option to disable tiling
>        sna: Can't free bo from the active list
>        sna/glyphs: Correct offset of fallback-via-mask glyphs
>        sna/glyphs: Disable the glyph cache for debugging
>        sna: Add debug option to force allocaiton of gpu-only pixmaps
>        sna/trapezoids: Ensure we do not overrun the vertical edges for mono
>        sna: Apply the screen offset for direct upload of a composited pixmap
>        sna: perform a warnings reduction pass
>        sna: compile fixes for debugging
>        sna/trapezoids: Fix overflow during sorting of mono edge step
>        sna: Move an assertion to the point of import
>        sna: Use pot buckets for active cache
>        sna/dri: Play with marking bo reusable
>        sna/dri: Bump DRI2INFOREC_VERSION
>        sna: move an assert
>        sna/accel: fix assert to include the offset of copy
>        sna/accel: Only skip undamaging the GPU for reads
>        sna/accel: Always subtract the enlarged region from the outstanding GPU damage
>        sna/accel: Use the PolyFillRect to handle tiled spans
>        sna: Add a debug option to disable caching
>        sna/glyphs: Convert all sub-8bpp masks to a8
>        sna/gen5: Debug option to disable state caching
>        sna: Paranoid debug flush after every op (as well as before)
>        sna/kgem: Check all operation bo in a single amalgamation
>        sna/glyph: Avoid useless attempt at GPU glyph rendering to a1 destinations
>        sna/glyphs: Add glyphs directly onto a client temporary buffer
>        sna/accel: Debug option to force CPU fallbacks
>        sna/accel: Fix s/x/y/ typo in computing relative drawing coordinates
>        sna/gen7: Fix up a couple instances of my inability to count
>        sna/gen7: Confusion reigns as trying to fix errors found by an outdated checker
>        sna: Check for request retires after every batch
>        sna/gen6: Fix offset of Scan-Line-Compare register
>        sna/io: Only mark the buffer as LAST if we know we will flush the IO
>        sna: Sort partials by remaining space
>        sna/accel: Use the mi*Line routines to convert the line into spans for gpu bo
>        sna/accel: Convert segments into spans similarly to PolyLine
>        sna/accel: Use miPolyArc to convert arcs into spans for gpu bo
>        sna/accel: Don't attempt converting to spans if we will only fallback
>        sna/accel: Micro-optimise sna_fill_spans_blt
>        sna/accel: Only disable the flush migitration if nothing changed
>        sna/accel: Add an compile option to disable use of spans
>        sna/accel: Add a compile option to force flushing on every blockhandler
>        sna/accel: Only throttle after flushing
>        sna/accel: Correct syntax for constifying BoxPtr
>        sna/blt: Use SETUP_MONO to reduce the number of fill relocations
>        sna/blt: SETUP_BLT needs 9 dwords of batch space, not 3!
>        sna/blt: Suppress repeated SETUP_BLT
>        sna: Move the source to the GPU if it is reused
>        sna/gen[23]: Fix compilation with debugging enabled
>        sna: Increase reserved space in batch to accommodate gen5 workaround
>        sna: Use BLT operations to avoid fallbacks in core glyph rendering
>        sna: Support a fast composite hook for solitary boxes
>        sna/gen6: Add render support for fill-one-box
>        sna/gen7: Add render support for fill one
>        sna/gen3: avoid applying zero offset to common spans
>        sna/trapezoid: Perform the NULL check for damage in the caller
>        sna: Mark the spans render functions as fastcall
>        sna: use correct insertion point for sorting partials
>        sna/accel: If the data is already on the GPU, use it for the source
>        sna: Enable single fill fast path for PolySegment
>        sna/gen3: Avoid RENDER/BLT context switch for fill boxes
>        sna: Micro-optimise checking for singular clip boxes
>        sna: More micro-optimisation of messing around with clip regions
>        sna: And free the clip after creation for PolySegments
>        sna: compare against the right array of cache buckets
>        Remove vestigial includes from DRI1
>        sna/gen2: Trim some surplus state commands
>        sna/blt: Check for reloc overflow when initialising solid fills
>        sna/accel: Check for reloc overflow when adding a new glyph run
>        sna/accel: Correctly offset the damage intersection for glyph runs
>        sna/accel: Actually apply the clip to the glyph extents
>        sna/accel: Fix sense of nothing-to-do due to clipping
>        sna: Ensure that the scanout is flushed before we sleep
>        sna/tiling: Hook up composite_box
>        sna/trapezoids: Fallback if the composite operation is not supported
>        sna/blt: Add a pair of operator reductions for opaque fills
>        Remove a couple of trivial compile warnings for unused variables
>        sna/gen7: Add missing tail to 3DSTATE_SBE
>        sna/gen2: Fix fill-one-box
>        sna/gen2: Eliminate redundant diffuse and rectlist emission
>        sna/accel: Fall-forward for handling a non-copy CopyArea to a dst gpu bo
>        sna/accel: Upload source to GPU for !copy CopyAreas
>        sna: Simplify busy tracking by trusting the bo->gpu flag
>        sna: Prefer to accelerate non-RENDER operations if already using the GPU
>        sna: Defer CPU fallback if fb calls into mi
>        configure: Add a check for pixman version
>        sna/gen3: Improve reduction of render operator to blt
>        sna/gen3: Store floats_per_rect alongside floats_per_vertex
>        sna/gen3: Micro-optimise gen3_rectangle_begin()
>        snb,ivb: Workaround unknown blitter death
>        sna/damage: Clear damage->all when subtracting
>        sna/gen3: Remove memset(0) from fill_boxes
>        sna: Improve debug output for mi/fb fallbacks
>        sna/accel: Implement a simpler path for CopyArea between the same pixmaps
>        sna: Fast path common colour conversions
>        sna/gen5: Rearrange the BLT->RENDER workaround
>        sna/gen3: More removal of memset(0)
>        sna/gen3: Use immediates for black/white solid sources
>        sna: Only retire the flush handler if nothing was submitted within the period
>        sna: Some more debug output for request/bo retirement
>        sna/gen3: Prefer to use the BLT to clear the scratch glyph pixmaps
>        sna/gen3: Prefer to use the BLT where possible for composite ops
>        sna/gen2: Prefer to use the BLT
>        sna/gen2: Precompute floats-per-rect
>        sna/gen6: Micro-optimise gen6_rectangle_begin
>        sna/gen6: Try continuing with the BLT if the last batch was also BLT
>        sna/gen5: Add fill-one implementation
>        sna/gen6: Precompute floats_per_rect
>        sna/gen4: Add fill-one
>        sna/blt: Move the conditional out of the fill-many hotpath
>        sna/gen6: Don't modify composite arguments whilst checking for BLT
>        sna: Micro-optimise fill-spans
>        sna: Use the unlikely wedged() throughout
>        sna: Compute region extents in place to eliminate redundant stack space
>        sna/gen6: Apply the unknown blitter death workaround
>        sna/damage: Avoid reducing the damage for simple tests
>        sna: Enlarge the minimum pixmap size to migrate for Render
>        sna: Don't rewrite the solid colour cache if it hasn't changed
>        sna: Reset the ring flag upon idling
>        sna: The initial aperture check for a set of bo is unlikely to fail
>        sna/blt: Use SCANLINE_BLT for multiple fill boxes
>        sna: Clean up some debug messages for 64bit
>        sna: Add some debug to discern the nature of the Cr fallback
>        sna: Reuse any partial write buffer for readback
>        sna/dri: Perform a little dance to restore the gpu status on release of the bo
>        sna: Actually apply the composite offset for the self-copy
>        sna/damage: Only track the mode globally
>        sna/damage: Stash the last freed damage for quick reallocation
>        sna: Speed-up blitting of unclipped lines
>        sna: Check whether we can blt whilst determining the PolyLine extents
>        sna: Pass a BoxRec to the fill op
>        sna: Remove the memset(0) of the fill op
>        sna: Micro-optimise PolyLine blt
>        sna: Short-circuit GetWindowPixmap() to speed-up pixmap retrieval
>        sna: Fast-path unclipped fill spans
>        sna: Optimise reduce_damage() to handle all-damaged pixmaps
>        sna: Fast path for unclipped rectangles
>        sna: Fast path unclipped points
>        sna: Treat a bo marked as being last seen on the GPU as requiring a flush
>        sna: Fix debug compilation
>        sna: Execute blits directly for PolyRectangle
>        sna/blt: Upload the box using a single 64-bit instruction
>        sna: Flatten the branching for fill-spans
>        sna: Convert diagonal zero-width lines into blits
>        self-copy-damage
>        sna: Use the new fill->boxes for PolyRectangle
>        sna: Use fill->boxes to unroll PolyPoint
>        sna: Use fill->boxes to unroll FillSpans
>        sna: Inline box_intersect()
>        sna/blt: Share the common fill->boxes between blt and render paths
>        sna/blt: Rename the composite paths
>        sna: Handle degenerate copy area whilst wedged
>        sna: Fix debug compilation, again.
>        sna/composite: Discard opaque masks
>        sna/gen2: Cache the last solid colour for spans
>        sna: Suppress an overwritten fill
>        sna/blt: Convert Copy with color 0 into a Clear
>        sna/blt: After submitting the batch, it will be empty
>        sna: Further improve use of fill->boxes for PolyRectangle
>        sna/io: Update batch mode after submitting partial requests
>        sna: Handle singular clip regions for PolyRectangles
>        sna: Clip PolyLines to the current clip box
>        sna: Use fill->boxes for rectilinear blits
>        sna: Use fill->boxes to pack PolyFillRectangle
>        sna: Fix PolyPoint not to always send 512 boxes
>        sna: Fix advance through clip boxes for fill->boxes
>        sna: Tweak zero line spans to include missing last segment
>        sna: Create scratch pixmap on the CPU
>        sna: Use private identifier for internal scratch pixmaps
>        sna: Fast path typically unclipped tiled rects
>        sna/gen2: Reset BLT registers across 2D/3D context switches
>        sna: Faster unclipped spans
>        sna: Call directly into tiled rects for tiled spans.
>        sna: Faster unclipped PolyPoint
>        sna: Faster unclipped PolyFillRect
>        sna: Call miZeroArcLine where appropriate for GPU paths
>        sna: Faster unclipped rectilinear segments
>        sna: Don't flush the render caches if in the process of writing again
>        sna: Retire and search inactive again before creating new buffer
>        sna: Increment clip box when short-circuiting the iteration
>        sna: Further clipping bugs
>        sna: Tweak PolyRectangle blitting
>        sna/genX: Improve reduction of Render operator to BLT alu
>        sna/gen3: Set the src flags for fill
>        sna/composite: Fix incorrect operator reduction for RenderFillRectangles
>        Revert "sna: Don't flush the render caches if in the process of writing again"
>        sna: Push overflow detection to the end of extents
>        sna: Rewrite box32_add_rect() to enable int32_t promotion
>        sna: Fix compilation
>        sna: Convert PolyRectangles to use Box32
>        NEWS: Add release notes for 2.16.901
>        configure: Bump version to 2.16.901
>
> Daniel Vetter (5):
>        snb: implement PIPE_CONTROL workaround
>        i810: kill dead i830 defines
>        i810: rip out PIO access functions
>        i810: use vgahw functions instead of roll-your-own
>        i810: kill mmio vga access helpers
>
> Jeremy Huddleston (1):
>        Use malloc/calloc/realloc/free directly
>
> Kenneth Graunke (1):
>        Fix incorrect maximum PS thread count on IvyBridge
>
> Paulo Zanoni (2):
>        Fix "always false" conditionals
>        Remove useless assertion
>
> Stefan Dirsch (1):
>        Fix array size calculation for intel_pci_probe().
>
> git tag: 2.16.901
>
> http://xorg.freedesktop.org/archive/individual/driver/xf86-video-intel-2.16.901.tar.bz2
> MD5:  ae2c2e7493b1e8caa4926b4b7692fd6c  xf86-video-intel-2.16.901.tar.bz2
> SHA1: 2ff7b124029f25b67394e98c72e9a9ecc618f55e  xf86-video-intel-2.16.901.tar.bz2
>
> http://xorg.freedesktop.org/archive/individual/driver/xf86-video-intel-2.16.901.tar.gz
> MD5:  31a673a7eec88f612b2e74c1196637bc  xf86-video-intel-2.16.901.tar.gz
> SHA1: 9db74ef6246e8a59d95847a0b7387a7b150c2ef3  xf86-video-intel-2.16.901.tar.gz
>
>
>
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx



More information about the Intel-gfx mailing list