-
Notifications
You must be signed in to change notification settings - Fork 3
/
NEWS
2112 lines (1527 loc) · 78.5 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Release 2.21.14 (2013-08-04)
============================
A few updates for the top-end Haswell systems (notably GT3 and GT3e
systems), in particular, setting the appropriate thread counts for the
larger GPU and handling a few scaling issues with the emedded DRAM. More
important than the performance tuning though is a fix for a critical
issue encountered by a few people on gen4/gen5 systems.
* Initial performance tuning for HSW:GT3e
* Fix a crash with Planetary Annihilation
* Disable triple buffering for compositors
* Reserve space in the exec buffer array for deferred VBOs.
https://bugs.freedesktop.org/show_bug.cgi?id=67504
Release 2.21.13 (2013-07-27)
============================
A minor release to repair the build for non-Linux systems, and to undo a
few more regressions.
* Avoid potential memory corruption with allocations of very small
depth 1 bitmaps.
* Fix source clipping whilst computing copy extents and exposures.
[Regression from 2.21.12]
https://bugs.freedesktop.org/show_bug.cgi?id=66970
* Use /proc/cpuinfo if cpuid4 is not available (old hardware or old
gcc), and repair the build on systems without cpuid.
[Regression from 2.21.12]
* Fix performance regression on Ironlake from inadvertently flushing
after every operation.
[Regression from 2.21.11]
https://bugs.freedesktop.org/show_bug.cgi?id=67157
* Fix conflict handling when probing initial KMS configuration for
ZaphodHeads.
[Regression from 2.21.11]
https://bugs.freedesktop.org/show_bug.cgi?id=67176
* Stop being overly restrictive and rejecting stale DRI2 buffers.
(DRI2 is inherently racy in that the client may have completed and
submitted rendering to buffers that are now invalid on the server.
This race is magnified by bugs within the Xserver where it forgets
to notify the DRI2 clients of certain invalidation events.)
https://bugs.freedesktop.org/show_bug.cgi?id=67210
* Handle a failure to use a GTT mmap for a pixmap upload and try
an alternative method before giving up.
Release 2.21.12 (2013-07-14)
============================
In this release, we clear up the teething troubles from preserving the KMS
configuration, notably external connections on Haswell and plugging in new
outputs after startup were broken. Besides these regression fixes, there
are a couple of fixes for some long standing issues, such as incorrect
rendering on gen2, an infinite loop with very, very large pixmaps and a
slight improvement to the tempermental gen4.
* Allow untiled scanouts again (required for large extended desktops on
gen2 and gen3).
[Regression from 2.21.11]
* Use the correct count of the number of dirty damage boxes for the quick
check on whether the existing damage contains the requested area.
The danger is that we may get a false result and skip migration and so
cause pixmap corruption (in the unlikely event that the application
frequently causes fallbacks).
[Regression from 2.21.11]
https://bugs.freedesktop.org/show_bug.cgi?id=66430
* Fix initial connection probing for multi-function encoders, such as the
external connections on Haswell.
[Regression from 2.21.11, initial connection probing]
https://bugs.freedesktop.org/show_bug.cgi?id=66488
* Fix gen2 rendercopy into a8 surfaces, for example, glyph uploads into
the glyph cache.
* Fix detection of user overrides for initial connection configuration.
The code used the xorg-server-1.15 values, having missed the
introduction of ZoomModes into that release.
[Regression from 2.21.11, initial connection probing]
* Always initialise the gamma ramp, even on unconnected CRTCs.
https://bugs.freedesktop.org/show_bug.cgi?id=66563
[Regression from 2.21.11, initial connection probing]
* Some more tuning of the gen4 vertex corruption workaround. The root
cause behind the GPU using incorrect texture coordinates is still
not solved, but by reducing the maximum number or rectangles in
flight through the GPU we reduce the likelihood of corruption.
* Fix compilation with gcc-4.5
[Regression from 2.21.11]
* Avoid integer overflow when performing tiled uploads and operations
on very large (>28k pixels wide or tall pixmaps)
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1200766
Release 2.21.11 (2013-06-30)
============================
An eventful week. What started with a regression with some builds of
firefox on some machines lead ultimately to the discovery of an older
kernel bug. Aside from the work to fix the image bug and a few other
older bugs that were reported and resolved this week, there is also a
(hopefully) subtle change to the initial configuration of displays. In
the absence of user overrides in xorg.conf, the DDX will try to preserve
the same display configuration as used by the kernel, which hopefully
will be the same configuration as setup by the BIOS. The result should
be a boot sequence that does not resize at all (aka fastboot) - until
the display manager takes over and loads a completely different
configuration!
* Add reference counting of drmMaster for ZaphodHeads
https://bugs.freedesktop.org/show_bug.cgi?id=66041
* Add a GPU flush before changing blend modes on Ironlake
https://bugs.freedesktop.org/show_bug.cgi?id=51422
* Fix occasional missing images for inplace uploads
[regression from 2.21.10]
https://bugs.freedesktop.org/show_bug.cgi?id=66059
* Add missing utility files to the tarball and remove a few unused ones
* Initialise PolyPoint operand state before calling miWideDash
https://bugs.freedesktop.org/show_bug.cgi?id=66104
* Fix redirection handling for rendering into large surfaces
https://bugs.freedesktop.org/show_bug.cgi?id=66168
https://bugs.freedesktop.org/show_bug.cgi?id=66249
* Fix compilation of UXA with xorg-xserver < 1.10
[regression from 2.20.0]
* Fix consideration of gradients for deciding when to migrate render
operations
[performance regression from 2.21.10, the bug itself is older]
https://bugs.freedesktop.org/show_bug.cgi?id=66297
Also fixed this week was:
commit 22fd5ca947b58901927d100d2b1aa0f1672b3435
Author: Chris Wilson <[email protected]>
Date: Fri Jun 28 16:54:08 2013 +0100
drm/i915: Only clear write-domains after a successful wait-seqno
which affects kernels 3.7 - 3.10, coming to a stable kernel near you soon.
Release 2.21.10 (2013-06-22)
============================
Fixes missing support for Xv (with the textured video adaptor) on
Haswell, and an old bug with wide monitors on various generation. Along
with a few other regression fixes and performance tweaks for various
corner cases.
* Do not lose track of fast pageflips across mode changes
[regression from 2.20.8]
* Fix listing of Visuals for Xv
[regression from 2.21.8]
https://bugs.freedesktop.org/show_bug.cgi?id=65479
* Improve coherency of concurrent CPU accesses to a pixmap
https://bugs.freedesktop.org/show_bug.cgi?id=61628
* Set sampler swizzling for textured video on Haswell
https://bugs.freedesktop.org/show_bug.cgi?id=65699
* Apply scanout stride limits
https://bugs.freedesktop.org/show_bug.cgi?id=65099
* Undo the self-copy for cloned pixmaps for loimpress's animations
[regression from 2.21.7]
https://bugs.freedesktop.org/show_bug.cgi?id=65665
Release 2.21.9 (2013-06-06)
===========================
Consolidating the copy-on-write support, hopefully cleaning up the last of
the regressions.
* Restore vsync on textured videos.
[regression from 2.21.8]
https://bugs.freedesktop.org/show_bug.cgi?id=65048
* Fix incorrect ordering of possible_clones with certain outputs, which
can lead to attempting to incorrectly clone 2 outputs and failing to
light them up.
[regression from 2.20.10]
* Fix performance regression from not promoting large fills to the GPU
[regression from 2.21.7]
* Undo the pixmap clone before performing a DRI2CopyRegion
[regression from 2.21.7]
https://bugs.freedesktop.org/show_bug.cgi?id=65250
Release 2.21.8 (2013-05-27)
===========================
A quick release to cleanup a few regressions from the introduction of
copy-on-write support, notably hitting wine applications and a memory
leak for firefox.
* Only mark a PolyFillRect operation as replacing if it is unclipped
https://bugs.freedesktop.org/show_bug.cgi?id=64841
* Prevent potential NULL dereference of damage when checking COW support
* Fix invalidation of clone after dirtying the pixmap via the CPU
* Prevent discarding an operation before requiring it for a fallback
* Fix memory leak from replacing the clone under certain circumstances
https://bugs.freedesktop.org/show_bug.cgi?id=64978
Release 2.21.7 (2013-05-21)
===========================
A couple of weeks turned into a month and a couple of weeks... Amidst
the usual bug fixes, we have added the complete set of Haswell PCI IDs -
hopefully future proofing ourselves against being surprised by new
products. We can also now use the correct term for the top of the range
Haswell variants, GT3.
* Fix several assertion failures hit by Jiri Slaby.
* Allow XvMC to also target overlay/sprite planes.
* Throw in a paranoid MI_FLUSH between BLT and RENDER operations on
Ironlake.
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1168066
* Prevent reuse of old framebuffers after a resize.
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1157678
* Fix compilation with --enable-valgrind and no --enable-debug
* Improve partial migration of render sources.
* Fix origin of trapezoids.
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1178020
* Introduce copy-on-write support for cloning pixmaps. The ultimate
goal here is to efficiently support the TearFree mode of operation,
but this provides immediate benefits with firefox - most importantly
because of the inefficient way it now implements scrolling.
Release 2.21.6 (2013-04-06)
===========================
A surprising highlight of this release is a little refresh to the KMS
support for OpenBSD. OpenBSD now has its own KMS implementation which is
mostly compatible with the interface in Linux, with one or two tweaks
supplied by Mark Kettenis. This release continues to cleanup behaviour
for Haswell.
* Workaround a failure by the xserver to invalidate DRI buffers
following a pixmap change for XComposite redirection.
https://bugs.freedesktop.org/show_bug.cgi?id=62614
* Fix computation of clip extents for stippling
https://bugs.freedesktop.org/show_bug.cgi?id=62618
* Support KMS on OpenBSD, by Mark Kettenis
* Clean up sockets upon CloseScreen (making ourselves better behaved
for muxed setups).
* Fix the tests for AVX/AVX2 support in CPUID and remember to check for
OS support as well.
* Report a monotonic UST value for undisplayed drawables rather than 0
by Daniel Kurtz
* Fix video playback on gen4 through a complex clip (more gen4 GPU woes)
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1162046
Release 2.21.5 (2013-03-21)
===========================
Haswell reintroduces a command to load the scanline window from the
command stream and so requires its own specialised wait-for-vsync routine
- failure to do so was then causing hangs when trying to do tearfree video
or use a compositor.
* Prevent buffer leak if a non-fullscreen Window is closed with multiple
pending swap events.
* Fix offset transformation for fallback gradient paths.
https://bugs.freedesktop.org/show_bug.cgi?id=62198
* Prevent Glamor from crashing if misconfigured.
Thanks to Michel Dänzer.
* Prevent UXA from crashing if torn down during PreInit.
Thanks to Aaron Plattner.
* Prevent miscompilation with different functional units having different
compiler flags. Some functions were expected to be inlined and so
recompiled with the current target. However, some compilers were
choosing to emit subroutine calls instead without noticing that the
ABI was different between the caller and callee - causing corruption.
https://bugs.freedesktop.org/show_bug.cgi?id=62198
* Fix rendering of CompositeTriFan with recent Xorg.
* Apply the video src-offset fix highlighted in the last release!
A typo prevented the fix from working for gen4+.
https://bugs.freedesktop.org/show_bug.cgi?id=62343
* Fix rendering of multiple glyphs to very large destination surfaces
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1156387
* Fix scanline waits for Haswell
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1156679
Release 2.21.4 (2013-03-11)
===========================
More bugs, more fixes, more releases. A minor new feature being introduced
is the runtime detection of CPU instructions sets along with specialised
paths to take advantage of the available CPU.
* Honour LinearFramebuffer for clumsy PowerXpress integration
* Disable read-read optimisations of mappings whilst the root
cause of a corruption issue remains elusive.
https://bugs.freedesktop.org/show_bug.cgi?id=61628
* Disable 8-bpp framebuffers in UXA as the regressions therein
remain unfixed.
* Restart vertex checks after lock contention
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1124576
* Handle Screen Pixmap recreation whilst exported via PRIME.
* Correct application of scale factors to video source offsets.
https://bugs.freedesktop.org/show_bug.cgi?id=61610
* Chain up CloseScreen so that resources are actually freed across regen
https://bugs.freedesktop.org/show_bug.cgi?id=56608
* Fix Haswell CRW PCI-IDs
* Handle batch submission failure during DRI copies
https://bugs.freedesktop.org/show_bug.cgi?id=61708
* Probe for kernel support of requested Screen depth
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1135403
* Correct GPU limits for early gen2 and gen3 architectures and prevent
an infinite recursion for particular image sizes.
Release 2.21.3 (2013-02-20)
===========================
A few minor bugfixes, another point release.
* Fix tracking of DRI pixmaps and their backing bo across reparenting. If
we tried to execute a SwapBuffers after a Window was reparented, but
before the DRI client has updated its references, then we would end up
manipulating an exported pixmap without a flush flag set. In the worst
case, this would culminate in a segfault in the driver.
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1127497
* Restore the gen4 workarounds for flickering rendering - a few cases still
remain, as the root cause persists.
https://bugs.freedesktop.org/show_bug.cgi?id=60402
* Double check that the device has KMS enabled before claiming. This allows
X to gracefully fallback to VESA/fbdev rather than bailing out.
https://bugs.freedesktop.org/show_bug.cgi?id=60987
* Fix the UXA render programs for projective transforms on Ivybridge.
Release 2.21.2 (2013-02-10)
===========================
Pass the brown paper bags, I need half a dozen or so. That seemingly
innocuous build fix with xorg-1.13 happened to have the little side-effect
of breaking glyph rendering with xorg-1.12 and older on 64-bit machines.
Release 2.21.1 (2013-02-10)
===========================
A fix for a potential GPU hang on 945gm (GMA950) and earlier chipsets,
along with backporting SNA to the packages found in stable distributions
like Debian 6.0 (Squeeze).
* Cleanup compilation warnings from deblint, thanks to Paul Menzel
* Minor build improvements by Damien Lespiau.
* Disable generating span geometry for non-rectilinear spans on gen4
in order to work around and prevent one class of render corruption.
* Prevent cache thrashing and severe performance degradation on LLC
machines for streaming texture updates. However, note the effect was
only observed on just one particular laptop.
* Fix alignment of subsurface proxies for old chipsets.
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1120108
* Repair build against Xserver-1.6 and contemporary packages.
Release 2.21.0 (2013-02-01)
===========================
A few new features:
* Enable render acceleration for Haswell GT1/GT2.
* Enable multi-threaded rasterisation of trapezoids and fallback composition
* Utilise a new kernel interface (v3.9) for processing relocations
along with a few older features from the 2.20.x series:
* PRIME support for hotplug GPUs and hybrid systems
* Support for IvyBridge GT1 machines, aka HD2500 graphics.
* Stable 830gm/845g support, at last!
As usual we have a large number of bug fixes since the last release:
* Prevent a stray relocation being left after a buffer is removed from
a batch, leading to GPU hangs.
* Make the driver more robust against its own failures to submit batches
by falling back to software rendering.
* Fix emission of scanline waits for secondary pipes on gen6/7. Otherwise
you may encounter GPU hangs in MI_WAIT_FOR_EVENT.
* Fix a missing corner pixel when drawing rectangles with PolyLines
https://bugs.freedesktop.org/show_bug.cgi?id=55484
* Don't try to use Y-tiling colour buffers with mesa/i915c as mesa
doesn't support them and wil fallback to software rendering
* Ensure that any cached mmaps are invalidated for a SwapBuffers
https://bugs.freedesktop.org/show_bug.cgi?id=60042
* Correctly handle the composition of rotated displays too large for the
3D pipeline
https://bugs.freedesktop.org/show_bug.cgi?id=60124
* Fix the computation of the planar video frame size
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1104180
Release 2.20.19 (2013-01-20)
============================
A quick release as the last broke USB DisplayLink slave outputs badly. The
performance of those displays was unusable due to an inadvertent change that
caused us to flush the entire scanout over the USB for every drawing
operation.
* Implement the GNOME Build API. A couple of minor changes to make
integrators and distributors lives a little easier, or at least more
consistent.
* Correctly offset inplace trapezoids for subwindows, such as the GTK+
close button after it has a background image uploaded.
* Explicitly prevent ring-switching for synchronized rendering to
scanouts (for vsync).
* Clip dirty region to slave pixmaps (otherwise UDL is nigh unusuable)
https://bugs.freedesktop.org/show_bug.cgi?id=59539
Release 2.20.18 (2013-01-16)
============================
A bunch of miscellaneous fixes for assertion failures and various
performance regressions when mixing new methods for offloads, along with
a couple of improvements for rendering with gen4.
* Remove use of packed unnormalized texture coordinates on gen4/5 as
these GPUs do not support unnormalized coordinates in the sampler.
* Remove dependency upon x86 asm for cross-building to unsupported
architectures.
https://bugs.gentoo.org/show_bug.cgi?id=448570
* Apply damage around PRIME updates in the correct order.
* Correctly read the initial backlight level for when the user
overrides UXA's choice of backlight controller.
* Throttle UXA and prevent it queuing work much faster than the GPU can
complete it. This realised itself in impossible performance figures and
the entire display freezing for several seconds whlist the GPU caught
up. One side effect is that it also caused the DDX to consume more
memory than was required as it could not recycle buffers quick
enough, and in some cases this produces a marked improvement in
performance. Also note on gen2/3 this requires a new libdrm [2.4.41]
in order to prevent a bug causing the DDX to fallback to swrast.
Release 2.20.17 (2012-12-26)
============================
A minor update to prepare for co-operating with the kernel over managing
stability on 830gm/845g. On this pair of chipsets, the kernel will perform
an extra copy of the batchbuffer into reserved memory, which prevents them
from randomly dying. However, that extra copy does have a noticeable
impact upon throughput, so we also have a mechanism for userspace to
opt-out of the kernel workaround and take responsibility for ensuring its
batches are coherent.
* Build fixes against xorg-1.14
https://bugs.freedesktop.org/show_bug.cgi?id=58552
https://bugs.freedesktop.org/show_bug.cgi?id=58406
* Fixed the origin of cropped (textured) video windows (Xv and XvMC)
https://bugs.freedesktop.org/show_bug.cgi?id=23033
* Fix potential corruption when using images larger than ~1GiB
Release 2.20.16 (2012-12-15)
============================
Rejoice! We have found a trick to make 830gm/845g stable at long last.
Ever since the switch to GEM and dynamic video memory, those early
second generation chipsets have been plagued by instability. The lack of
flushing cachelines from the CPU to GMCH was eventually solved by using
an undocmented bit, but 830/845 were still hanging under memory pressure.
These deaths were all due to garbage finding its way into the command
streamer, and they go away if we take a leaf out of the original driver
and never reuse those pages for anything else. So for the first time
ever, I have been able to complete running the test suite on an 845g,
even whilst thrashing the page and buffer caches!
* Run the SF stage as single-threaded on gen4 to workaround a few issues
https://bugs.freedesktop.org/show_bug.cgi?id=57410
* Keep the scanout SURFACE_STATE separate to avoid overriding its
memory access control on gen6/7 (i.e. writes to the scanout need to
be kept out of the render cache)
* Tune batch flushing after an operation to an exported surface under a
compositor.
* Make sure the source is on the CPU for inplace composition of trapezoids
using the CPU
https://bugs.freedesktop.org/show_bug.cgi?id=56825
* Immediately flush in the block hander after a split batch to reduce
latency between the two halves of an operation.
https://bugs.freedesktop.org/show_bug.cgi?id=51718
* Install a fallback config if we fail to install the desired config
at VT switch (i.e. booting, after resume with 3 incompatible pipes on
Ivybridge)
* Pin batches to avoid CS incoherence on 830/845
https://bugs.freedesktop.org/show_bug.cgi?id=26345
Release 2.20.15 (2012-12-03)
============================
And lo, enabling more of the common acceleration paths for gen4 revealed
another lurking bug - something is wrong with how we prepare Y-tiling
surfaces for rendering. For the time being, we can surreptiously disable
them for gen4 and avoid hitting GPU hangs.
* Avoid clobbering the render state after failing to convert the
operation to use the blitter.
https://bugs.freedesktop.org/show_bug.cgi?id=57601
* Disable shadow tracking upon server regeneration, and so fix a crash
if you restart the server whilst a RandR transform (e.g. rotation) is
in effect.
https://bugs.freedesktop.org/show_bug.cgi?id=52255
https://bugs.freedesktop.org/show_bug.cgi?id=56608
Release 2.20.14 (2012-11-26)
============================
The highlight of this release is gen4, from 965g to gm45. Quite an old
bug surfaced in the shader assembly, sparking a chance to review a few
design choices within that backend and experiment on fresh ways to
workaround the remaining issues.
* Avoid using inplace XOR'ed uploads for very large buffers
https://bugs.freedesktop.org/show_bug.cgi?id=57031
* Fix the gen4/5 opacity shader
https://bugs.freedesktop.org/show_bug.cgi?id=57054
* Queue a pending vblank request after flip completion
https://bugs.freedesktop.org/show_bug.cgi?id=56423
* Avoid migrating an uninitialised pixmap for use as a render source
https://bugs.freedesktop.org/show_bug.cgi?id=47597
* Improve handing of texture fallbacks for 830/845.
https://bugs.freedesktop.org/show_bug.cgi?id=57392
Release 2.20.13 (2012-11-11)
============================
Nothing but bug fixes. Many thanks to everyone who took the time to
report their issues, and for their help in improving the driver.
* Sanity check the platform probe points to our expected i915 device
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1069031
* Prevent 16-bit overflow for computing the sample area to upload of
sources for render operations
https://bugs.freedesktop.org/show_bug.cgi?id=56324
* Clamp the drawable box for migration to prevent 16-bit overflow
https://bugs.freedesktop.org/show_bug.cgi?id=56591
* Disable RandR hotplug events if Xinerama is enabled and thereby prevent
a crash upon hotplug
https://bugs.freedesktop.org/show_bug.cgi?id=55260
* Call ValidatePicture before attempting to flatten the alphamaps
https://bugs.freedesktop.org/show_bug.cgi?id=56367
* Clip the trapezoid correctly if it ends on the boundary pixel
https://bugs.freedesktop.org/show_bug.cgi?id=56395
* Make sure the pipeline choice is propagated to the scanline wait
across a batch flush
https://bugs.freedesktop.org/show_bug.cgi?id=47597
* Set the valid drawable box when choosing placement of BLT composite ops
https://bugs.freedesktop.org/show_bug.cgi?id=47597
* Prevent use-after-free when promoting a partial-GPU bo to a full-GPU bo
https://bugs.freedesktop.org/show_bug.cgi?id=56591
* gen4 opacity spans require the per-rectangle workaround
https://bugs.freedesktop.org/show_bug.cgi?id=55500
* Prevent use of invalid damage pointers when redirecting rendering
https://bugs.freedesktop.org/show_bug.cgi?id=56785
Release 2.20.12 (2012-10-20)
============================
More bug reports, more bug fixes! Perhaps the headline feature is
that with a secure batches, coming to a 3.8 kernel near you, we may
finally have the ability to perform updates to the scanout synchronized
to the refresh rate on later SandyBridge and IvyBridge chipsets. It comes
at quite a power cost as we need to keep the GPU out of its power saving
modes, but it should allow legacy vsync to function at last. But this
should allow us to address a longstanding issue with tearing on
SandyBridge+.
* Fix component-alpha rendering on IvyBridge, for example subpixel
antialiased glyphs.
https://bugs.freedesktop.org/show_bug.cgi?id=56037
* Flush before some "pipelined" state changes on gen4. The evidence is
that the same flushes as required on gen5+ are also required for gen4.
https://bugs.freedesktop.org/show_bug.cgi?id=55627
* Prevent a potential crash when forcing a stall on a busy CPU bo
https://bugs.freedesktop.org/show_bug.cgi?id=56180
[Release 2.20.11 contained a typo causing UXA to fail immediately.]
Release 2.20.10 (2012-10-14)
============================
The last couple of weeks have been fairly retrospective, a dive into
prehistory tidying up the earlier generations which lay languishing as
the core progressed and lead to a number of annoying core bugs being
fixed.
* Release DRM master earlier during shutdown so switching between
multiple X servers works automatically.
https://bugs.freedesktop.org/show_bug.cgi?id=55446
* Suppress error propagation from DRI2GetMSC and behave as if the pipe
was simply off to avoid unexpected errors in the clients
https://bugs.freedesktop.org/show_bug.cgi?id=55395
* A few fixes to i8xx batch emission, ensuring that the GPU is always
in a valid state.
https://bugs.freedesktop.org/show_bug.cgi?id=55455
* Prevent a use-after-free during UXA shutdown due to inspecting
the glamor flags after the glamor interface had been freed.
* Prevent a crash combining TearFree and rotations.
https://bugs.freedesktop.org/show_bug.cgi?id=55527
* Correct a missing damage upload along PutImage after using the CPU bo
as a source for the GPU.
https://bugs.freedesktop.org/show_bug.cgi?id=55508
* Fix compilation for older glibc without O_CLOEXEC
https://bugs.freedesktop.org/show_bug.cgi?id=55577
* Fix out-of-tree builds failing to recompile the gen4 assemblies
https://bugs.freedesktop.org/show_bug.cgi?id=55645
* Fix non-standard build host configuration handling for intel-gen4asm
https://bugs.freedesktop.org/show_bug.cgi?id=55646
* Fix a potential batch buffer overflow when replacing the last BLT fill
operation with a copy
https://bugs.freedesktop.org/show_bug.cgi?id=55700
* Flush the render pipeline more frequently on Ironlake as not all
pipelined state changes are.
https://bugs.freedesktop.org/show_bug.cgi?id=51422
* Detect when we need to read the destination for the background raster
op during fallbacks.
https://bugs.freedesktop.org/show_bug.cgi?id=55810
* Avoid a potential deference of an invalid CPU mmap after doing an
inplace tiled upload.
https://bugs.freedesktop.org/show_bug.cgi?id=55812
* Prevent sign extension when packing the upload data for CopyPlane
https://bugs.freedesktop.org/show_bug.cgi?id=55823
* Fix some render corruption with a UDL slave output and pageflipping
Release 2.20.9 (2012-09-29)
===========================
And so it came to pass that a critical bug was uncovered in UXA. The
kernel does not like to pageflip when the pipe is off, yet due to the
delayed nature of a pageflip and the relaxed checking performed by UXA,
we could request a pageflip after turning off the display (DPMS). The
kernel rejected that pageflip and the error handling path failed to
restore sanity, and when the screen came back it was stuck on the image
seen before it went to sleep. (Note that there are also some related
kernel bugs, but this update should prevent the most conspicious of the
freezes.) Many thanks to Timo Aaltonen for his efforts in tracking down
the issue.
In other news:
* Prepare for xorg-1.14, the api is being tweaked again.
* Handle early FreeScreen in UXA.
https://bugs.freedesktop.org/show_bug.cgi?id=55346
* Reenable XvMC support
* Do not replace the GPU bo when uploading into the shadow/CPU copy
https://bugs.freedesktop.org/show_bug.cgi?id=54978
* Fix use of an uninitialised GC when drawing glyphs to a depth=1 pixmap
Release 2.20.8 (2012-09-16)
===========================
Another new small feature, another new release. And a few more bugs
fixed as well! But what is this new feature, do I hear you ask? Why, it
is nothing less than enabling the ValleyView SDV! The lucky person to
have their hands on one will now be able to enjoy X in full TechniColor.
For the rest of us, a few more bugs were fixed with interesting
combinations of software and rendering patterns.
* Add an extra layer of defence against trying to use a non-GEM device
with UXA. This should already be taken care of with the new probe,
but the extra sanity check already existed in the code but was doing
nothing.
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/962892
* Fix computation of valid CRTCs bitmask for ZaphodHead
Some systems can only handle certain outputs on certain pipes
(Screens), and this information was not being propagated through to X
and randr correctly, breaking valid configurations and not detecting
invalid configurations correctly.
* Disable global glyph caching with ZaphodHeads.
The glyph privates need to be Screen private, but at the moment are
global leading to conflicts and invalid rendering with multiple heads.
https://bugs.freedesktop.org/show_bug.cgi?id=54707
* Prevent direct read back of unmappable buffers
https://bugs.freedesktop.org/show_bug.cgi?id=54808
* Tile large uploads whilst replacing the alpha channel
https://bugs.freedesktop.org/show_bug.cgi?id=54808
* Correct the source offset when converting a RENDER composite
operation into a BLT composite operation.
https://bugs.freedesktop.org/show_bug.cgi?id=54868
* Correct a minor typo in flattening alphamaps which caused the
replacement pixmap to often end up with a height of zero.
https://bugs.gentoo.org/show_bug.cgi?id=434860
* Don't discard the CPU damage if only part of is being replaced.
This is most evident when combining software renders like Opera with
accelerated rendering.
https://bugs.freedesktop.org/show_bug.cgi?id=54937
Release 2.20.7 (2012-09-08)
===========================
Continuing the flurry of releases, this week saw the release of
xorg-1.13 bringing with it the first steps towards hotpluggable gpu
support and the ability to offload DRI rendering onto other GPUs. In
light of that advance, this release includes the support code by Dave
Airlie to integrate PRIME into xf86-video-intel and make those new
features available.
Aside from landing PRIME, a few other bugs were fixed since 2.20.6:
* Fix framebuffer leak on server regeneration
* Fix texture cache flushing on IvyBridge and Kwin with plastique
https://bugs.freedesktop.org/show_bug.cgi?id=54488
* Redirect large solid fills on SandyBridge+. By large I mean greater
than 8192 or 16384 pixels on SandyBridge and IvyBridge respectively.
https://bugs.freedesktop.org/show_bug.cgi?id=54134
* Fix up backlight option handling in the manpage and uxa.
https://bugs.freedesktop.org/show_bug.cgi?id=54397
* Unbreak ZaphodHeads.
https://bugs.freedesktop.org/show_bug.cgi?id=52438
Release 2.20.6 (2012-09-02)
===========================
A serious bug that caused a crash on SandyBridge and IvyBridge when
mixing CPU and GPU operations on the same buffer, and an annoyance from
bad scheduling of windowed swapbuffer updates causing low framerates and
jitter. Plus the usual smattering of assertion fixes and a long standing
issue with incoherent page access to a streaming buffer.
* Low frame rates in Blobby Valley when "fullscreen"
https://bugs.freedesktop.org/show_bug.cgi?id=54274
* Incoherent concurrent access with the CPU and GPU
https://bugs.freedesktop.org/show_bug.cgi?id=51422
https://bugs.freedesktop.org/show_bug.cgi?id=52299
* Add Option "Backlight" to override automatic selection of the
backlight interface.
* Avoid overwriting the composite operation info when testing if we
can transfer the operation to the BLT.
Release 2.20.5 (2012-08-26)
===========================
Another silly bug found, another small bugfix release. The goal was for
the driver to bind to all Intel devices supported by the kernel.
Unfortunately we were too successful and started claiming Pouslbo,
Medfield and Cedarview devices which are still encumbered by propietary
IP and not supported by this driver.
Bugs fixed since 2.20.4:
* Only bind to Intel devices using the i915 kernel module
* Regression in the bitmap-to-region code, e.g. icewm window buttons
https://bugs.freedesktop.org/show_bug.cgi?id=53699
Release 2.20.4 (2012-08-18)
===========================
Continuing the small bugfix releases, the only real feature is initial
enabling for Haswell for the purpose of rendering verification and
validation - by no means is it complete!
Bugs fixed since 2.20.3:
* Some potential errors along failure paths found by a static analyser
with the help of Zdenek Kablac.
* Eliminate zero-sized rectangles from PolyFillRectangles as the code
assumes that they did not exist and so caused corruption.
* Remove the UXA warning for failing to tile the front buffer if it is
disallowed by hardware, and so expected.
* Fix the validation of the XV pipe parameter.
* Fix 8x8 tiled pattern fills
https://bugs.freedesktop.org/show_bug.cgi?id=53353
* Fix compile failure when using --with-builderstring
* Restore w/a flush for gen4 fill/copy/video, fortunately rare
operations as at least for fill/copy we prefer to use the BLT.
https://bugs.freedesktop.org/show_bug.cgi?id=53119
* Restore preferred use of the RENDER ring for SNB+ DRI copies.
Release 2.20.3 (2012-08-04)
===========================
Just a minor bugfix for gen4 chipsets (965gm, gm45 and friends) that
crept into 2.20.2. As an added bonus, the pessimistic workaround for a
GPU hang on gen4 has been relaxed and the shaders have been overhauled
which should pave the way to eliminating the last of the uncommon CPU
operations, along with immediately realising a small perforamnce
improvement.
Bugs fixed since 2.20.2:
* Update DPMS bookkeeping after modeset
https://bugs.freedesktop.org/show_bug.cgi?id=52142
* Avoid overlapping gpu/cpu damage after ignoring cpu damage in the
consideration of placement for the operation.
* Enable acceleration by default on 830gm/845g. The GMCH on this pair
of chipsets is notoriously incoherent, so the GPU is almost certainly
going to hang at some point, though unlikely to hang the system and
should automatically disable acceleration (and thence behave
identically as if the acceleration was disabled from the start).
Option "NoAccel" can be used to disable all 2D acceleration and
Option "DRI" can be used to disable all 3D acceleration.
https://bugs.freedesktop.org/show_bug.cgi?id=52624
* Fix vertex bookkeeping for gen4 that was causing corruption in the
command stream.
Release 2.20.2 (2012-07-27)
===========================
For the last 9 months, since 2.16.901, we have been shipping a driver that
does not work on IvyBridge GT1 systems (HD2500 graphics); we were telling
the GPU to use an invalid number of threads for the pixel shader and this
in turned caused the GPU to hang.
Also fixed since the last release just a few days ago:
* Support for the gmux backlight controller on Apple laptops
https://bugs.freedesktop.org/show_bug.cgi?id=52423
* Fix X -configure not to list this driver as matching any Intel device,
just the VGA class devices will do!
* A crash in SNA when repeatedly switching xrandr rotations
* Corruption in SNA observed in kwin on IvyBridge
https://bugs.freedesktop.org/show_bug.cgi?id=52473
Release 2.20.1 (2012-07-22)
===========================
A week in, grab the brown paper bags, for it is time to reveal a couple
of critical bugs that spoilt the 2.20.0 release.
Firstly we have the restoration of DRI for i810. I am sure that the
solitary user will be overjoyed in a couple of years when a new xserver
is forced upon him. That enjoyment will be short-lived when as no actual
acceleration remains, not even shadow, for the chipset.
Perhaps a little more wildly felt, I hope!, will be that the SNA
fallbacks were broken on 64-bit machines if they required clipping. One
little misplaced cast of a pointer, and the screen is filled with
corruption.
Among the other tweaks this week:
* A bug affecting gen4 handling of trapezoids was fixed, and CPU
overhead reduced.
https://bugs.freedesktop.org/show_bug.cgi?id=52158
* A fix for a bug causing corruption of a DRI2 unredirected client
window that was resized whilst under a compositor.
* Support for snoopable buffers on non-LLC architectures, coming to
a future kernel. The aim to accelerate transfers between the CPU
and the GPU, in particular to dramatically improve readback
performance, and to further minimise clflushes.
* Improvement to the composite performance on GT2 SandyBridge and
IvyBridge devices, in particular the render copy is significantly
improved.
* Improved handling for when acceleration is disabled, including
permitting DRI2 to remain supported even if the X server believes
the GPU wedged.
* Shadow support was dropped from UXA as it was neither complete nor
correct, use SNA instead.
Release 2.20.0 (2012-07-15)
===========================
First the big news, a new acceleration method that aims to be faster and
consume far less CPU than UXA is now available for selection at runtime.
This snazzy new architecture can be selected through use of
Option "AccelMethod" "sna"
in your xorg.conf. Whilst it has been under development for some time, it