Commit Graph

3990 Commits

Author SHA1 Message Date
Chris Wilson bc032c9be1 sna: Coalesce reduction of cpu damage
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-11-03 13:06:56 +00:00
Chris Wilson c92671b33e sna: Coalesce reduction of gpu damage
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-11-03 13:06:56 +00:00
Chris Wilson 3b4a508eb0 sna: Translate glyphs into MSBFirst upon initial load
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-11-03 13:06:56 +00:00
Chris Wilson 8a259e34d3 sna: gc->miTranslate is always 1
So we can perform some constant folding and eliminate dead code.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-11-03 12:56:07 +00:00
Chris Wilson 8f68f9e5f8 sna: Trimming is redundant given that we always have a CompositeClip
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-11-03 12:56:07 +00:00
Chris Wilson f4bdd84b84 sna: Simplify the uncommon check for gpu-only damage by using damage-all
The use of a gpu-only scratch bo is uncommon with the core acceleration
routines, and we can eliminate the check for not incrementing the damage
by allocating a damage-all and using the common optimisation of
reduce_damage().

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-11-03 12:56:07 +00:00
Chris Wilson 353fa4218c sna: Don't call into retire unless there are outstanding requests
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-11-03 12:56:07 +00:00
Chris Wilson 6fdd0f254d sna: Use an integer value for the sentinel
clang complains otherwise.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-11-03 12:56:07 +00:00
Chris Wilson 1073c78f6c sna: Pack small 1-bpp uploads into immediate buffers
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-11-03 12:56:06 +00:00
Chris Wilson 73b2ef5a7d sna: gc->pCompositeClip always exists after validate
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-11-03 12:02:52 +00:00
Chris Wilson 6fd0754e9c sna: defer calling fbValidateGC until we fallback
A secondary effect is that this prevents needless migration of the
tiling pixmap which we want to optimistically keep on the GPU.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-11-02 19:32:31 +00:00
Chris Wilson 6f8875e216 sna: Wait an extra interval before switching off periodic updates
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-11-02 15:41:40 +00:00
Chris Wilson def6b5e733 sna: Only execute the accel block handler if we are about to block
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-11-02 14:47:12 +00:00
Chris Wilson 088b875aff sna: Use the packed 8x8 stipple for non-repeating small rectangles
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-11-02 13:11:04 +00:00
Chris Wilson 0c373db73d sna: Fix the 8x8 stippled pattern origin
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-11-02 12:43:55 +00:00
Chris Wilson 9cdf8be550 sna: Add clipped stippled upload support
For xsnow!

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-11-02 12:17:31 +00:00
Chris Wilson 6553c9e1cb sna: Quieten a fewer compiler sign compare warnings
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-11-02 10:03:45 +00:00
Chris Wilson 42e2036cda sna: Use bo for scratch pixmaps allocated by the dix/mi routines
Now that we have the rudiments of accelerated deep-plane copies, we can
begin to benefit from using BO for the core dix/mi routines like
ShmPutImage.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-11-01 21:12:02 +00:00
Chris Wilson 45cc952994 sna: Fix debugging assertions for Composite
When comparing drawable clip extents against pixmap boundaries we need
to include the pixmap screen offset on a Composited desktop.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-11-01 21:12:02 +00:00
Chris Wilson ebc9f3966d sna: Accelerate deep-plane copy
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-11-01 21:12:02 +00:00
Chris Wilson e0fd07bc25 sna: Accelerate XYPixmap upload when using GXcopy
Mostly for the lols.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-11-01 21:12:02 +00:00
Chris Wilson 22c43efe6b sna: Implement 8x8 stippled rect fills
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-11-01 21:12:02 +00:00
Chris Wilson c58b7643e9 sna: Accelerate 1bpp uploads
These still get used (see Wine and Swing) by applications which like to
do "crisp" 1-bit rendering on the client side and then put onto the
scanout. So avoid the readbacks, and push them through the BLT instead. It
turns out to be faster than using fb too, bonus!

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-11-01 21:12:02 +00:00
Chris Wilson 8939ddbc27 sna: Improve rendering of thin segments
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-10-31 19:15:01 +00:00
Chris Wilson 98b830a975 sna: Improve rendering of thin lines
Reported-by: Clemens Eisserer <linuxhippy@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42443
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-10-31 19:11:31 +00:00
Chris Wilson 6a5834ae56 sna/gen3: Fix invalid assert
SHADER_CONSTANT is expected here, the other IMMEDIATES however should
have already been handled.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-10-31 16:27:43 +00:00
Chris Wilson e12375d05b sna: Fix a few minor cut'n'paste errors
Use the constant value [last_box-box] where applicable.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-10-31 14:25:20 +00:00
Chris Wilson 20a4f53395 sna: Apply the GPU damage for clipped PolyFillRectangles
Reported-by: Clemens Eisserer <linuxhippy@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42425
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-10-31 14:14:40 +00:00
Chris Wilson 7172f28c2b sna: Fix placement of clipped wide PolyRectangle
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-10-31 12:53:35 +00:00
Chris Wilson 59535d0e1c sna: Set the flush interval based on output vrefresh
Rather than a blank 25Hz, use twice the vblank interval to hopefully
avoid bad values.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-10-31 12:31:23 +00:00
Chris Wilson 9a2e59bfba sna: Fix reversal of zero/wide for PolyRectangle
Reported-by: Clemens Eisserer <linuxhippy@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42414
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-10-31 11:56:53 +00:00
Chris Wilson b1287e4934 sna/video: Fix copy region for cropped video
Reported-by: Clemens Eisserer <linuxhippy@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42412
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-10-31 11:27:36 +00:00
Chris Wilson b4ab412cb3 sna/blt: Optimise fill with GXcopy and pixel==0 to a GXclear
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-10-31 10:37:43 +00:00
Chris Wilson 088728ad26 sna/blt: Don't idiotically override alu for pixel==0 and track alu
Another classic and utterly stupid mistake. At least I was consistent in
my error.

Reported-by: Clemens Eisserer <linuxhippy@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42414
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-10-31 10:05:43 +00:00
Chris Wilson 9c399c74ad sna: Add an option to disable the delayed flush
Section "Device"
  Option "DelayedFlush" "False"
EndSection

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-10-31 09:22:43 +00:00
Chris Wilson c8860ce26e sna: Report whether anything was retired to the inactive list
So that we can skip a fresh search of the inactive list if nothing
changed.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-10-30 23:26:33 +00:00
Chris Wilson a7adcc8e47 sna: Stash the last scratch pixmap
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-10-30 23:10:27 +00:00
Chris Wilson c8d4f5d32a sna: Correct PolyRectangle verticals to be the end-point not the length
Fixes an off-by-one in the drawing of the rectangles caused by a
too-literal translation of the rectangles into boxes.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-10-30 21:41:08 +00:00
Chris Wilson 5c45622b88 uxa/glyphs: Fallback rather than fail to render with a non-solid Source
Reported-by: Uli Schlachter <psychon@znc.in>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=31819
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-10-30 17:49:19 +00:00
Chris Wilson e6eb803cb4 sna: Loop over all clip rects for glyph blt rather than fallback
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-10-30 17:44:26 +00:00
Chris Wilson 1eefb75c91 sna: Don't mess with NDEBUG
This is set in configure and redefining it later inside the C files just
leads to trouble and broken compilation.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-10-30 17:17:36 +00:00
Chris Wilson 7237374a03 configure: Bump version to 2.16.901 2011-10-30 16:46:10 +00:00
Chris Wilson 0a78a75e75 NEWS: Add release notes for 2.16.901 2011-10-30 16:45:46 +00:00
Daniel Vetter c7552cb819 i810: kill mmio vga access helpers
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-10-30 17:46:07 +01:00
Daniel Vetter e8b8adeab3 i810: use vgahw functions instead of roll-your-own
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-10-30 17:46:06 +01:00
Daniel Vetter 4aeea489ed i810: rip out PIO access functions
All the io done at init time is already converted to libpciaccess

Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-10-30 17:46:06 +01:00
Daniel Vetter e735636194 i810: kill dead i830 defines
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-10-30 17:46:06 +01:00
Chris Wilson bb840ee09f sna: Convert PolyRectangles to use Box32
For the same overflow protection.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-10-30 16:13:04 +00:00
Chris Wilson af52e234a7 sna: Fix compilation
Remember to drink coffee and compile "obvious" fixes before pushing.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-10-30 15:34:34 +00:00
Chris Wilson 23b314729c sna: Rewrite box32_add_rect() to enable int32_t promotion
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-10-30 15:24:21 +00:00