<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>cairo-ickle</title>
	<atom:link href="http://ickle.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://ickle.wordpress.com</link>
	<description>Isn&#039;t the world 2D?</description>
	<lastBuildDate>Sat, 08 Jan 2011 23:07:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='ickle.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/8a9f2c30eef91a7c3f23fd33d393bde7?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>cairo-ickle</title>
		<link>http://ickle.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://ickle.wordpress.com/osd.xml" title="cairo-ickle" />
	<atom:link rel='hub' href='http://ickle.wordpress.com/?pushpress=hub'/>
		<item>
		<title>What a year to remember&#8230;</title>
		<link>http://ickle.wordpress.com/2010/12/31/what-a-year-to-remember/</link>
		<comments>http://ickle.wordpress.com/2010/12/31/what-a-year-to-remember/#comments</comments>
		<pubDate>Fri, 31 Dec 2010 09:38:29 +0000</pubDate>
		<dc:creator>ickle</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ickle.wordpress.com/?p=135</guid>
		<description><![CDATA[No 1 contributor of kernel regressions! Who wrote 2.6.37?<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ickle.wordpress.com&amp;blog=2121805&amp;post=135&amp;subd=ickle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>No 1 contributor of kernel regressions!<br />
<a href="http://lwn.net/Articles/420658/">Who wrote 2.6.37?</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ickle.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ickle.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ickle.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ickle.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ickle.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ickle.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ickle.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ickle.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ickle.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ickle.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ickle.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ickle.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ickle.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ickle.wordpress.com/135/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ickle.wordpress.com&amp;blog=2121805&amp;post=135&amp;subd=ickle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ickle.wordpress.com/2010/12/31/what-a-year-to-remember/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b370d944f8518e3d9778130fcfd11f5d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ickle</media:title>
		</media:content>
	</item>
		<item>
		<title>Enter here all aspiring kernel maintainers</title>
		<link>http://ickle.wordpress.com/2010/09/06/enter-here-all-aspiring-kernel-maintainers/</link>
		<comments>http://ickle.wordpress.com/2010/09/06/enter-here-all-aspiring-kernel-maintainers/#comments</comments>
		<pubDate>Mon, 06 Sep 2010 11:56:46 +0000</pubDate>
		<dc:creator>ickle</dc:creator>
				<category><![CDATA[kernel]]></category>

		<guid isPermaLink="false">http://ickle.wordpress.com/?p=129</guid>
		<description><![CDATA[As a means to reducing my patch queue and to allow Eric to focus on making GL fast and featureful, I volunteered (some might say was volunteered) to take over maintaining the upstream branches for the i915.ko. At the moment, there are a pair of trees on fd.o for regression fixes [-fixes] and for feature [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ickle.wordpress.com&amp;blog=2121805&amp;post=129&amp;subd=ickle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>As a means to reducing my patch queue and to allow Eric to focus on making GL fast and featureful, I volunteered (some might say was volunteered) to take over maintaining the upstream branches for the i915.ko.  At the moment, there are a pair of trees on <a href="http://cgit.freedesktop.org/~ickle/drm-intel/">fd.o</a> for regression fixes [-fixes] and for feature work [-next].  If all goes to plan these should be updated regularly and flow into the drm trees maintained by Dave Airlie. These trees will be used for QA regression testing. We are also discussing the viability of a third tree for proposed patches [-staging] so that we have a single location for QA or bug reporters to pull to test patches and verify fixes before they are merged into the stable trees.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ickle.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ickle.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ickle.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ickle.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ickle.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ickle.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ickle.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ickle.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ickle.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ickle.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ickle.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ickle.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ickle.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ickle.wordpress.com/129/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ickle.wordpress.com&amp;blog=2121805&amp;post=129&amp;subd=ickle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ickle.wordpress.com/2010/09/06/enter-here-all-aspiring-kernel-maintainers/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b370d944f8518e3d9778130fcfd11f5d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ickle</media:title>
		</media:content>
	</item>
		<item>
		<title>My talk was so much better on paper&#8230;</title>
		<link>http://ickle.wordpress.com/2010/07/30/my-talk-was-so-much-better-on-paper/</link>
		<comments>http://ickle.wordpress.com/2010/07/30/my-talk-was-so-much-better-on-paper/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 19:41:59 +0000</pubDate>
		<dc:creator>ickle</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cairo]]></category>
		<category><![CDATA[guadec]]></category>

		<guid isPermaLink="false">http://ickle.wordpress.com/?p=111</guid>
		<description><![CDATA[Here are the slides at least. They are of course missing the fullscreen demos. Cairo: 2D in a 3D World<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ickle.wordpress.com&amp;blog=2121805&amp;post=111&amp;subd=ickle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Here are the slides at least. They are of course missing the fullscreen demos.</p>
<p><a href='http://ickle.files.wordpress.com/2010/07/guadec.pdf'>Cairo: 2D in a 3D World</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ickle.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ickle.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ickle.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ickle.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ickle.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ickle.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ickle.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ickle.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ickle.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ickle.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ickle.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ickle.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ickle.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ickle.wordpress.com/111/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ickle.wordpress.com&amp;blog=2121805&amp;post=111&amp;subd=ickle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ickle.wordpress.com/2010/07/30/my-talk-was-so-much-better-on-paper/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b370d944f8518e3d9778130fcfd11f5d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ickle</media:title>
		</media:content>
	</item>
		<item>
		<title>Sometimes error states can only lead to more confusion&#8230;</title>
		<link>http://ickle.wordpress.com/2010/07/10/sometimes-error-states-can-only-lead-to-more-confusion/</link>
		<comments>http://ickle.wordpress.com/2010/07/10/sometimes-error-states-can-only-lead-to-more-confusion/#comments</comments>
		<pubDate>Sat, 10 Jul 2010 10:55:04 +0000</pubDate>
		<dc:creator>ickle</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ickle.wordpress.com/?p=122</guid>
		<description><![CDATA[batchbuffer at 0x08ac0000: 0x08ac0000: HEAD 0xff808698: UNKNOWN 0x08ac0004: 0xff808698: UNKNOWN 0x08ac0008: 0xff808698: UNKNOWN 0x08ac000c: 0xff808698: UNKNOWN 0x08ac0010: 0xff808698: UNKNOWN 0x08ac0014: 0xff808698: UNKNOWN 0x08ac0018: 0xff808698: UNKNOWN 0x08ac001c: 0xff808698: UNKNOWN 0x08ac0020: 0xff808698: UNKNOWN 0x08ac0024: 0xff808698: UNKNOWN 0x08ac0028: 0x00484c58: MI_NOOP Last instruction on ringbuffer: 0x007da9f8: 0x18800080: MI_BATCH_BUFFER_START 0x007da9fc: 0x08ac0001: dword 1 0x007daa00: 0x02000004: MI_FLUSH 0x007daa04: 0x00000000: MI_NOOP We [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ickle.wordpress.com&amp;blog=2121805&amp;post=122&amp;subd=ickle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><code>batchbuffer at 0x08ac0000:<br />
0x08ac0000: HEAD 0xff808698: UNKNOWN<br />
0x08ac0004:      0xff808698:    UNKNOWN<br />
0x08ac0008:      0xff808698:    UNKNOWN<br />
0x08ac000c:      0xff808698:    UNKNOWN<br />
0x08ac0010:      0xff808698:    UNKNOWN<br />
0x08ac0014:      0xff808698:    UNKNOWN<br />
0x08ac0018:      0xff808698:    UNKNOWN<br />
0x08ac001c:      0xff808698:    UNKNOWN<br />
0x08ac0020:      0xff808698:    UNKNOWN<br />
0x08ac0024:      0xff808698:    UNKNOWN<br />
0x08ac0028:      0x00484c58: MI_NOOP</p>
<p>Last instruction on ringbuffer:<br />
0x007da9f8:      0x18800080: MI_BATCH_BUFFER_START<br />
0x007da9fc:      0x08ac0001:    dword 1<br />
0x007daa00:      0x02000004: MI_FLUSH<br />
0x007daa04:      0x00000000: MI_NOOP<br />
</code></p>
<p>We tried to execute an image surface? How did that happen? Time to go shopping.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ickle.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ickle.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ickle.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ickle.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ickle.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ickle.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ickle.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ickle.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ickle.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ickle.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ickle.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ickle.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ickle.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ickle.wordpress.com/122/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ickle.wordpress.com&amp;blog=2121805&amp;post=122&amp;subd=ickle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ickle.wordpress.com/2010/07/10/sometimes-error-states-can-only-lead-to-more-confusion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b370d944f8518e3d9778130fcfd11f5d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ickle</media:title>
		</media:content>
	</item>
		<item>
		<title>Bugs! Kill one, and two more grow in its place.</title>
		<link>http://ickle.wordpress.com/2010/07/07/bugs-kill-one-and-two-more-grow-in-its-place/</link>
		<comments>http://ickle.wordpress.com/2010/07/07/bugs-kill-one-and-two-more-grow-in-its-place/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 17:46:58 +0000</pubDate>
		<dc:creator>ickle</dc:creator>
				<category><![CDATA[2D]]></category>
		<category><![CDATA[bugs]]></category>

		<guid isPermaLink="false">http://ickle.wordpress.com/?p=112</guid>
		<description><![CDATA[So how do we diagnose bugs in the drivers when they all result in either a system crash or just a frozen display? If it is a GPU hang (check dmesg or Xorg.log for a telltale error message), then the debugging process is gradually getting easier. First the kernel detects that the GPU has stopped [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ickle.wordpress.com&amp;blog=2121805&amp;post=112&amp;subd=ickle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So how do we diagnose bugs in the drivers when they all result in either a system crash or just a frozen display?</p>
<p>If it is a GPU hang (check dmesg or Xorg.log for a telltale error message), then the debugging process is gradually getting easier. First the kernel detects that the GPU has stopped processing data. It does this with a simple watch dog that polls the GPU for any activity since the last check. If the active head pointer has not advanced in the last two checks, we declare it hung and attempt to reset the GPU. Currently the reset procedure only works for the more recent chips, i965 and above, but in principle we might be able to recover at least the i915 generation as well. Importantly, just before we reset the GPU state, we record what instructions the GPU was executing at the time of the hang and some associated state. At present, this involves scanning the ringbuffer and list of known buffers for the last batch buffer executed and for wherever the GPU ended up. Those buffers are then copied, preserving them for later inspection, and the reset procedure is begun.</p>
<p>Some time afterwards it becomes apparent that the system is misbehaving. Unfortunately this has a tendency to be a frozen X server or even a crash, though the drivers are beginning to grow a little more resilient to their own bugs. Once noticed, we can copy the error report from /sys/kernel/debug/dri/0/i915_error_state (you might have to run &#8220;mount -tdebugfs none /sys/kernel/debug&#8221; to gain access to the debug information exported by your kernel, your distribution may even automate this by listening for the whimpers from the kernel) and begin a diagnosis. </p>
<p>Lets turn to a real example that I am currently puzzling over.</p>
<p>Running the i915_error_state through intel_error_decode (from the intel-gpu-tools package) prints:</p>
<blockquote><p>
Time: 1278512451 s 982711 us<br />
PCI ID: 0x27a2<br />
EIR: 0&#215;00000000<br />
  PGTBL_ER: 0&#215;00000000<br />
  INSTPM: 0&#215;00000000<br />
  IPEIR: 0&#215;00000000<br />
  IPEHR: 0&#215;02000011<br />
  INSTDONE: 0x7ffffa41<br />
    busy: Bypass FIFO<br />
    busy: Color calculator<br />
    busy: Map filter<br />
  ACTHD: 0x0de88144<br />
seqno: 0x0004d8fe<br />
Buffers [40]:<br />
  0e33e000    16384 00000060 00000000 0004d8ff dirty purgeable<br />
  09747000     4096 00000003 00000000 0004d8ff<br />
  0de88000    16384 00000048 00000000 0004d8ff dirty purgeable<br />
  03dc4000     4096 00000006 00000000 0004d900 dirty purgeable<br />
  0e20a000   393216 00000002 00000000 0004d900 dirty purgeable<br />
  0e3a0000    16384 00000006 00000000 0004d900 dirty purgeable<br />
  01800000  8388608 00000002 00000000 0004d900 P X dirty (name: 64) (fence: 2)<br />
  01000000  8388608 00000006 00000000 0004d901 P X dirty (name: 1) (fence: 0)<br />
  0e360000    16384 00000060 00000000 0004d901 dirty purgeable<br />
  03dc5000     4096 00000002 00000002 0004d901 dirty purgeable<br />
  0e374000    16384 00000048 00000000 0004d901 dirty purgeable<br />
  03e00000     4096 00000002 00000002 0004d902 dirty<br />
  03dff000     4096 00000044 00000000 0004d902 dirty<br />
  07a74000    16384 00000060 00000000 0004d902 dirty purgeable<br />
  0e358000    16384 00000048 00000000 0004d902 dirty purgeable<br />
  0e335000     4096 00000045 00000000 0004d903 dirty<br />
  0e336000     4096 00000045 00000000 0004d903 dirty<br />
  03dc6000     4096 00000006 00000002 0004d903 dirty<br />
  0e35c000    16384 00000060 00000000 0004d903 dirty purgeable<br />
  03dc7000   229376 00000002 00000002 0004d903 dirty<br />
  0e3e3000    16384 00000048 00000000 0004d903 dirty purgeable<br />
  097ce000   229376 00000002 00000002 0004d904 dirty<br />
  0e37c000    16384 00000060 00000000 0004d904 dirty<br />
  0e388000    16384 00000048 00000000 0004d904 dirty<br />
  04800000  8388608 00000002 00000002 0004d905 P X dirty (name: 3) (fence: 6)<br />
  04000000  8388608 00000005 00000000 0004d905 X (name: 10)<br />
  07b81000    32768 00000060 00000000 0004d905 dirty purgeable<br />
  03548000   327680 00000006 00000000 0004d905 dirty (name: <img src='http://s0.wp.com/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /><br />
  02193000   163840 00000006 00000000 0004d905 dirty (name: 12)<br />
  021bb000   163840 00000006 00000000 0004d905 dirty (name: 15)<br />
  03598000   196608 00000006 00000000 0004d905 dirty (name: 18)<br />
  0a000000  8388608 00000005 00000000 0004d905 X (name: 19)<br />
  0be87000   327680 00000006 00000000 0004d905 dirty (name: 63)<br />
  0be4f000   114688 00000006 00000000 0004d905 dirty (name: 79)<br />
  0be6b000   114688 00000006 00000000 0004d905 dirty (name: 82)<br />
  0f000000  8388608 00000005 00000000 0004d905 X (name: 86)<br />
  0fe86000   327680 00000006 00000000 0004d905 dirty (name: 49)<br />
  0fe36000   163840 00000006 00000000 0004d905 dirty (name: 52)<br />
  0fe5e000   163840 00000006 00000000 0004d905 dirty (name: 55)<br />
  07bdf000    16384 00000048 00000000 0004d905 dirty purgeable<br />
batchbuffer at 0x0de88000:<br />
0x0de88000:      0&#215;66014140: 3DSTATE_ANTI_ALIASING<br />
0x0de88004:      0x6ba008a1: 3DSTATE_INDEPENDENT_ALPHA_BLEND<br />
0x0de88008:      0x7d990000: 3DSTATE_DEFAULT_DIFFUSE<br />
0x0de8800c:      0&#215;00000000:    dword 1<br />
0x0de88010:      0x7d9a0000: 3DSTATE_DEFAULT_SPECULAR<br />
0x0de88014:      0&#215;00000000:    dword 1<br />
0x0de88018:      0x7d980000: 3DSTATE_DEFAULT_Z<br />
0x0de8801c:      0&#215;00000000:    dword 1<br />
0x0de88020:      0x76fac688: 3DSTATE_COORD_SET_BINDINGS<br />
0x0de88024:      0x6700a770: 3DSTATE_RASTERIZATION_RULES<br />
0x0de88028:      0x6db3ffff: 3DSTATE_MODES_4<br />
0x0de8802c:      0x7d040382: 3DSTATE_LOAD_STATE_IMMEDIATE_1<br />
0x0de88030:      0&#215;00000000:    S3<br />
0x0de88034:      0x009020c0:    S4<br />
0x0de88038:      0&#215;00000000:    S5<br />
0x0de8803c:      0x7c800002: 3DSTATE_SCISSOR_ENABLE<br />
0x0de88040:      0x7d810001: 3DSTATE_SCISSOR_RECTANGLE<br />
0x0de88044:      0&#215;00000000:    dword 1<br />
0x0de88048:      0&#215;00000000:    dword 2<br />
0x0de8804c:      0x7c880002: 3DSTATE_DEPTH_SUBRECTANGLE_DISABLE<br />
0x0de88050:      0x7d070000: 3DSTATE_LOAD_INDIRECT<br />
0x0de88054:      0&#215;00000000: MI_NOOP<br />
0x0de88058:      0x7d830000: 3DSTATE_SPAN_STIPPLE<br />
0x0de8805c:      0&#215;00000000:    dword 1<br />
0x0de88060:      0&#215;68000002: 3DSTATE_BACKFACE_STENCIL_OPS<br />
0x0de88064:      0&#215;00000000: MI_NOOP<br />
0x0de88068:      0x7d000003: 3DSTATE_MAP_STATE<br />
0x0de8806c:      0&#215;00000001:    mask<br />
0x0de88070:      0&#215;01000000:    map 0 MS2<br />
0x0de88074:      0x63f3fd92:    map 0 MS3 [width=1280, height=800, tiling=X]<br />
0x0de88078:      0xffe00000:    map 0 MS4 [pitch=8192]<br />
0x0de8807c:      0x7d010003: 3DSTATE_SAMPLER_STATE<br />
0x0de88080:      0&#215;00000001:    mask<br />
0x0de88084:      0&#215;00000000:    sampler 0 SS2<br />
0x0de88088:      0&#215;00004820:    sampler 0 SS3<br />
0x0de8808c:      0&#215;00000000:    sampler 0 SS4<br />
0x0de88090:      0x7d8e0001: 3DSTATE_BUFFER_INFO<br />
0x0de88094:      0&#215;03000040:    dword 1<br />
0x0de88098:      0x03dc5000:    dword 2<br />
0x0de8809c:      0x7d850000: 3DSTATE_DEST_BUFFER_VARIABLES<br />
0x0de880a0:      0&#215;00880300:    a8r8g8b8 format, early Z disabled<br />
0x0de880a4:      0x7d800003: 3DSTATE_DRAWING_RECTANGLE<br />
0x0de880a8:      0&#215;00000000:    dword 1<br />
0x0de880ac:      0&#215;00000000:    dword 2<br />
0x0de880b0:      0&#215;00000000:    dword 3<br />
0x0de880b4:      0&#215;00000000:    dword 4<br />
0x0de880b8:      0x7d040441: 3DSTATE_LOAD_STATE_IMMEDIATE_1<br />
0x0de880bc:      0xfffffff0:    S2<br />
0x0de880c0:      0&#215;00008214:    S6<br />
0x0de880c4:      0x7d050008: 3DSTATE_PIXEL_SHADER_PROGRAM<br />
0x0de880c8:      0x19083c00:    PS000: DCL T0.xyzw<br />
0x0de880cc:      0&#215;00000000:    PS000<br />
0x0de880d0:      0&#215;00000000:    PS000<br />
0x0de880d4:      0&#215;19180000:    PS001: DCL S0 2D<br />
0x0de880d8:      0&#215;00000000:    PS001<br />
0x0de880dc:      0&#215;00000000:    PS001<br />
0x0de880e0:      0&#215;15200000:    PS002: TEXLD oC, S0, T0<br />
0x0de880e4:      0&#215;01000000:    PS002<br />
0x0de880e8:      0&#215;00000000:    PS002<br />
0x0de880ec:      0x7d040031: 3DSTATE_LOAD_STATE_IMMEDIATE_1<br />
0x0de880f0:      0x0e33e000:    S0<br />
0x0de880f4:      0&#215;04040000:    S1<br />
0x0de880f8:      0x7f9c0003: 3DPRIMITIVE sequential indirect RECTLIST, 3 starting from 0<br />
0x0de880fc:      0&#215;00000000:               start<br />
0x0de88100:      0x54f00006: XY_SRC_COPY_BLT (rgb enabled, alpha enabled, src tile 0, dst tile 0)<br />
0x0de88104:      0x03cc0080:    format 8888, dst pitch 128, clipping disabled<br />
0x0de88108:      0&#215;00000000:    dst (0,0)<br />
0x0de8810c:      0&#215;00160016:    dst (22,22)<br />
0x0de88110:      0x03dc6000:    dst offset 0x03dc6000<br />
0x0de88114:      0&#215;00090396:    src (918,9)<br />
0x0de88118:      0&#215;00000040:    src pitch 64<br />
0x0de8811c:      0x03dc5000:    src offset 0x03dc5000<br />
0x0de88120:      0x54f00006: XY_SRC_COPY_BLT (rgb enabled, alpha enabled, src tile 0, dst tile 0)<br />
0x0de88124:      0x03cc0080:    format 8888, dst pitch 128, clipping disabled<br />
0x0de88128:      0&#215;00000000:    dst (0,0)<br />
0x0de8812c:      0&#215;00160016:    dst (22,22)<br />
0x0de88130:      0x03dc6000:    dst offset 0x03dc6000<br />
0x0de88134:      0&#215;00000000:    src (0,0)<br />
0x0de88138:      0&#215;00000080:    src pitch 128<br />
0x0de8813c:      0&#215;09747000:    src offset 0&#215;09747000<br />
0x0de88140:      0&#215;02000011: MI_FLUSH<br />
0x0de88144: HEAD 0&#215;05000000: MI_BATCH_BUFFER_END<br />
&#8230;
</p></blockquote>
<p>The real question is what exactly that tells us and do we get any closer to finding the bug?<br />
As can be seen, not a lot happens in this batch buffer. In fact just 3 operations. One copy using the 3D pipeline, with a lot of preamble, and two copies using the 2D blitter. If you look even closer, you will go mad.</p>
<p>Operation 1: 3D copy.<br />
Destination: linear buffer 03dc5000, size 4096 bytes, pitch 64 bytes, drawing rectangle (0,0), (1, 1)<br />
Source:  X tiled buffer 01000000 size 8388608 bytes, pitch 8192 bytes, 1280&#215;800 pixels. This looks like X&#8217;s front buffer.<br />
What is actually copied to the 1&#215;1 pixel is a mystery as we do not follow auxiliary buffers yet and so can not decode the vertices used. Presumably it is something a little more complicated than a mere blit as a texture sampler is required &#8211; though this may just be something as trivial as ensuring the alpha channel is initialized.</p>
<p>Operation 2: 2D copy.<br />
Destination: linear buffer 03dc6000, size 4096 bytes, pitch 128 bytes.<br />
Source: linear buffer 03dc5000, size 4096 bytes, pitch 64. From above we know its size to be 1&#215;1 pixels.<br />
Copy: (918, 9), (940, 31) to (0, 0), (22, 22).</p>
<p>Operation 3: 2D copy.<br />
Destination: linear buffer 03dc6000, size 4096 bytes, pitch 128 bytes.<br />
Source: linear buffer 09747000, size 4096 bytes, pitch 128 bytes.<br />
Copy: (0, 0), (22, 22) to (0, 0), (22, 22).</p>
<p>So which operation appears entirely superfluous and yet accessed data far beyond the end of its buffer? That&#8217;s right the second copy. For a 1&#215;1 surface, attempting to copy a 22&#215;22 region is a bit strange, doing it 900 pixels outside the surface is just adding insult to injury. Not to mention that the user did not even want the data that we spent so much time fetching!</p>
<p>But where does that leave me? The impossible happened and now I have evidence to prove it! Oh, and a loathing for graphics libraries&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ickle.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ickle.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ickle.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ickle.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ickle.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ickle.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ickle.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ickle.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ickle.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ickle.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ickle.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ickle.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ickle.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ickle.wordpress.com/112/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ickle.wordpress.com&amp;blog=2121805&amp;post=112&amp;subd=ickle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ickle.wordpress.com/2010/07/07/bugs-kill-one-and-two-more-grow-in-its-place/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b370d944f8518e3d9778130fcfd11f5d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ickle</media:title>
		</media:content>
	</item>
		<item>
		<title>VideoHackfest</title>
		<link>http://ickle.wordpress.com/2009/11/22/videohackfest/</link>
		<comments>http://ickle.wordpress.com/2009/11/22/videohackfest/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 14:40:38 +0000</pubDate>
		<dc:creator>ickle</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ickle.wordpress.com/?p=108</guid>
		<description><![CDATA[gstreamer + cairo == awesome For the last few days, I&#8217;ve been listening to the gstreamer devs get excited about cairo, simply because it is awesome! Well actually because over the last couple of years the drivers have developed sufficiently that the abstraction offered by cairo solves several of the problems that the gstreamer developers [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ickle.wordpress.com&amp;blog=2121805&amp;post=108&amp;subd=ickle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>gstreamer + cairo == awesome</strong></p>
<p>For the last few days, I&#8217;ve been listening to the gstreamer devs get excited about cairo, simply because it is awesome! Well actually because over the last couple of years the drivers have developed sufficiently that the abstraction offered by cairo solves several of the problems that the gstreamer developers have had to previously hacked around. This means that they get to dump all of their multi-threaded decoding and rendering problems on us, which makes them very happy.</p>
<p>In return for the extra work, we promise to make it fast as well. At the base we will be [eventually] including a jit into pixman, so that we can generate optimised code at runtime for the more obscure colorspace conversions without bloating the library by compiling thousands upon thousands of pre-computed, even hand-rolled, fast paths. But pixman is not the interface we want to present to applications, so we have an abstraction layer over that which allows applications to target GPUs, DSPs or the CPU with nary a care in the word &#8211; this is cairo. From the discussions we had, it emerged that to resolve many of the locking issues and general thread-safety concerns within gstreamer, required exposing some of the support cairo uses internally to reach its own thread-safety guarantees. However, not all backends are created equal and we will also need to fixes to the underlying libraries. For X11, this means we need to switch to xcb and for GL we need a new GLX extension to permit more efficient multi-threading.</p>
<p>Beyond that Benjamin is pressing for an aggressive timeline, cairo-1.10 in January so that we can make the next round of stable distributions. As my current development branch has over 40k lines of changes, with much more work required, this is quite a challenging schedule. Compared to that adding the extra interfaces and fixing the inevitable bugs is a tiny amount of work!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ickle.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ickle.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ickle.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ickle.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ickle.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ickle.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ickle.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ickle.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ickle.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ickle.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ickle.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ickle.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ickle.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ickle.wordpress.com/108/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ickle.wordpress.com&amp;blog=2121805&amp;post=108&amp;subd=ickle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ickle.wordpress.com/2009/11/22/videohackfest/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b370d944f8518e3d9778130fcfd11f5d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ickle</media:title>
		</media:content>
	</item>
		<item>
		<title>i915, updated charts</title>
		<link>http://ickle.wordpress.com/2009/08/30/i915-updated-charts/</link>
		<comments>http://ickle.wordpress.com/2009/08/30/i915-updated-charts/#comments</comments>
		<pubDate>Sun, 30 Aug 2009 11:17:47 +0000</pubDate>
		<dc:creator>ickle</dc:creator>
				<category><![CDATA[cairo]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://ickle.wordpress.com/?p=101</guid>
		<description><![CDATA[Just an update incorporating suggestions into the presentation of the graphs &#8211; the principal change being to trim outliers from the relative performance graph. Let me know what you think. [graphs uploaded outside of wordpess to avoid rescaling]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ickle.wordpress.com&amp;blog=2121805&amp;post=101&amp;subd=ickle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Just an update incorporating suggestions into the presentation of the graphs &#8211; the principal change being to trim outliers from the relative performance graph. Let me know what you think.<br />
<img class="aligncenter size-full wp-image-102" title="cairo-perf-chart-absolute" src="http://people.freedesktop.org/~ickle/200908300001-absolute.png" alt="cairo-perf-chart-absolute" width="640" height="513" /><br />
<img class="aligncenter size-full wp-image-103" title="cairo-perf-chart-relative" src="http://people.freedesktop.org/~ickle/200908300001-relative.png" alt="cairo-perf-chart-relative" width="640" height="513" /></p>
<p>[graphs uploaded outside of wordpess to avoid rescaling]</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ickle.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ickle.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ickle.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ickle.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ickle.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ickle.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ickle.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ickle.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ickle.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ickle.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ickle.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ickle.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ickle.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ickle.wordpress.com/101/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ickle.wordpress.com&amp;blog=2121805&amp;post=101&amp;subd=ickle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ickle.wordpress.com/2009/08/30/i915-updated-charts/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b370d944f8518e3d9778130fcfd11f5d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ickle</media:title>
		</media:content>

		<media:content url="http://people.freedesktop.org/~ickle/200908300001-absolute.png" medium="image">
			<media:title type="html">cairo-perf-chart-absolute</media:title>
		</media:content>

		<media:content url="http://people.freedesktop.org/~ickle/200908300001-relative.png" medium="image">
			<media:title type="html">cairo-perf-chart-relative</media:title>
		</media:content>
	</item>
		<item>
		<title>i915, absolute times</title>
		<link>http://ickle.wordpress.com/2009/08/28/i915-absolute-times/</link>
		<comments>http://ickle.wordpress.com/2009/08/28/i915-absolute-times/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 10:00:19 +0000</pubDate>
		<dc:creator>ickle</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[i915]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://ickle.wordpress.com/?p=93</guid>
		<description><![CDATA[As nobody appreciated the relative factors as a performance metric, here are the absolute times for tiny. image xlib xvfb gl drm evolution 69.9 74.8 186.4 146.3 103.6 firefox-planet-gnome 217.5 170.8 295.1 359.9 100.1 firefox-talos-gfx 342.1 193.5 305.1 645.3 48.9 firefox-talos-svg 375.3 684.8 621.1 709.7 876.1 gnome-system-monitor 39.6 149.6 64.5 348.8 19.3 gvim 167.8 90.5 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ickle.wordpress.com&amp;blog=2121805&amp;post=93&amp;subd=ickle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>As nobody appreciated the relative factors as a performance metric, here are the absolute times for tiny.<br />
<img class="aligncenter size-full wp-image-94" title="cairo-perf-chart" src="http://ickle.files.wordpress.com/2009/08/cairo-perf-chart14.png?w=480&#038;h=324" alt="cairo-perf-chart" width="480" height="324" /><br />
<img class="aligncenter size-full wp-image-98" title="cairo-perf-chart-relative" src="http://ickle.files.wordpress.com/2009/08/cairo-perf-chart-relative.png?w=480&#038;h=333" alt="cairo-perf-chart-relative" width="480" height="333" /></p>
<blockquote>
<table style="text-align:right;" border="0" cellspacing="4" width="492">
<tbody>
<tr>
<td></td>
<td>image</td>
<td>xlib</td>
<td>xvfb</td>
<td>gl</td>
<td>drm</td>
</tr>
<tr>
<td>evolution</td>
<td><strong>69.9</strong></td>
<td>74.8</td>
<td>186.4</td>
<td>146.3</td>
<td>103.6</td>
</tr>
<tr>
<td>firefox-planet-gnome</td>
<td>217.5</td>
<td>170.8</td>
<td>295.1</td>
<td>359.9</td>
<td><strong>100.1</strong></td>
</tr>
<tr>
<td>firefox-talos-gfx</td>
<td>342.1</td>
<td>193.5</td>
<td>305.1</td>
<td>645.3</td>
<td><strong>48.9</strong></td>
</tr>
<tr>
<td>firefox-talos-svg</td>
<td><strong>375.3</strong></td>
<td>684.8</td>
<td>621.1</td>
<td>709.7</td>
<td>876.1</td>
</tr>
<tr>
<td>gnome-system-monitor</td>
<td>39.6</td>
<td>149.6</td>
<td>64.5</td>
<td>348.8</td>
<td><strong>19.3</strong></td>
</tr>
<tr>
<td>gvim</td>
<td>167.8</td>
<td><strong>90.5</strong></td>
<td>295.9</td>
<td>262.0</td>
<td>148.9</td>
</tr>
<tr>
<td>poppler</td>
<td>41.5</td>
<td>69.8</td>
<td>50.4</td>
<td>138.9</td>
<td><strong>14.4</strong></td>
</tr>
<tr>
<td>swfdec-giant-steps</td>
<td>20.7</td>
<td>25.2</td>
<td>28.1</td>
<td>54.7</td>
<td><strong>13.3</strong></td>
</tr>
<tr>
<td>swfdec-youtube</td>
<td>41.3</td>
<td>39.5</td>
<td>52.4</td>
<td>46.0</td>
<td><strong>11.8</strong></td>
</tr>
<tr>
<td>vim</td>
<td>97.5</td>
<td>115.6</td>
<td>93.9</td>
<td>160.3</td>
<td><strong>20.8</strong></td>
</tr>
</tbody>
</table>
<p>Times are in seconds.</p>
<p>[image] 1.9.2-564-g1b24626.image.tiny<br />
[xlib] 1.9.2-564-g1b24626.xlib.tiny<br />
[xvfb] 1.9.2-564-g1b24626.xvfb.tiny<br />
[gl] 1.9.2-564-g1b24626.gl.tiny<br />
[drm] 1.9.2-564-g1b24626.drm.tiny</p></blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ickle.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ickle.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ickle.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ickle.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ickle.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ickle.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ickle.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ickle.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ickle.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ickle.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ickle.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ickle.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ickle.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ickle.wordpress.com/93/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ickle.wordpress.com&amp;blog=2121805&amp;post=93&amp;subd=ickle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ickle.wordpress.com/2009/08/28/i915-absolute-times/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b370d944f8518e3d9778130fcfd11f5d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ickle</media:title>
		</media:content>

		<media:content url="http://ickle.files.wordpress.com/2009/08/cairo-perf-chart14.png" medium="image">
			<media:title type="html">cairo-perf-chart</media:title>
		</media:content>

		<media:content url="http://ickle.files.wordpress.com/2009/08/cairo-perf-chart-relative.png" medium="image">
			<media:title type="html">cairo-perf-chart-relative</media:title>
		</media:content>
	</item>
		<item>
		<title>Karmic alpha4, i965</title>
		<link>http://ickle.wordpress.com/2009/08/27/karmic-alpha4-i965/</link>
		<comments>http://ickle.wordpress.com/2009/08/27/karmic-alpha4-i965/#comments</comments>
		<pubDate>Thu, 27 Aug 2009 10:14:16 +0000</pubDate>
		<dc:creator>ickle</dc:creator>
				<category><![CDATA[cairo]]></category>
		<category><![CDATA[i965]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://ickle.wordpress.com/?p=89</guid>
		<description><![CDATA[My first hands-on with an i965. Running from a live image as I haven&#8217;t got a spare hard-drive to dual-boot yet. Aside from that and that cairo-drm on an i965 is completely unaccelerated (so the overhead of this backend is entirely down to buffer management). Caveat lector. image drm xlib evolution 0.0 -497.9 -594.1 firefox-planet-gnome [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ickle.wordpress.com&amp;blog=2121805&amp;post=89&amp;subd=ickle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>My first hands-on with an i965. Running from a live image as I haven&#8217;t got a spare hard-drive to dual-boot yet. Aside from that and that cairo-drm on an i965 is completely unaccelerated (so the overhead of this backend is entirely down to buffer management). Caveat lector.<br />
<img src="http://ickle.files.wordpress.com/2009/08/cairo-perf-chart13.png?w=300&#038;h=174" alt="cairo-perf-chart" title="cairo-perf-chart" width="300" height="174" class="aligncenter size-full wp-image-90" /></p>
<blockquote>
<table style="text-align:right;" cellspacing="4" width="432">
<tr>
<td></td>
<td>image</td>
<td>drm</td>
<td>xlib</td>
</tr>
<tr>
<td>evolution</td>
<td><strong>0.0</strong></td>
<td>-497.9</td>
<td>-594.1</td>
</tr>
<tr>
<td>firefox-planet-gnome</td>
<td><strong>0.0</strong></td>
<td>-157.0</td>
<td>-98.7</td>
</tr>
<tr>
<td>firefox-talos-gfx</td>
<td><strong>0.0</strong></td>
<td>-6.1</td>
<td>-139.7</td>
</tr>
<tr>
<td>firefox-talos-svg</td>
<td><strong>0.0</strong></td>
<td>-12.0</td>
<td>-105.4</td>
</tr>
<tr>
<td>gnome-system-monitor</td>
<td><strong>0.0</strong></td>
<td>-7.9</td>
<td>-9.4</td>
</tr>
<tr>
<td>gnome-terminal-vim</td>
<td><strong>0.0</strong></td>
<td>-11.2</td>
<td>-579.6</td>
</tr>
<tr>
<td>gvim</td>
<td><strong>0.0</strong></td>
<td>-658.0</td>
<td>-583.7</td>
</tr>
<tr>
<td>poppler</td>
<td><strong>0.0</strong></td>
<td><strong>-0.2</strong></td>
<td>-579.0</td>
</tr>
<tr>
<td>swfdec-giant-steps</td>
<td><strong>0.0</strong></td>
<td>-13.1</td>
<td>-169.3</td>
</tr>
<tr>
<td>swfdec-youtube</td>
<td><strong>0.0</strong></td>
<td>-4.5</td>
<td>-39.1</td>
</tr>
</table>
<p>[image] 1.9.2-457-g3bc00af.image.karmic-alpha4<br />
[drm] 1.9.2-457-g3bc00af.drm.karmic-alpha4<br />
[xlib] 1.9.2-457-g3bc00af.xlib.karmic-alpha4
</p></blockquote>
<p>Hmm, I think there is room for improvement here.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ickle.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ickle.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ickle.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ickle.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ickle.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ickle.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ickle.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ickle.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ickle.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ickle.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ickle.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ickle.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ickle.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ickle.wordpress.com/89/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ickle.wordpress.com&amp;blog=2121805&amp;post=89&amp;subd=ickle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ickle.wordpress.com/2009/08/27/karmic-alpha4-i965/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b370d944f8518e3d9778130fcfd11f5d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ickle</media:title>
		</media:content>

		<media:content url="http://ickle.files.wordpress.com/2009/08/cairo-perf-chart13.png" medium="image">
			<media:title type="html">cairo-perf-chart</media:title>
		</media:content>
	</item>
		<item>
		<title>Today&#8217;s horror story</title>
		<link>http://ickle.wordpress.com/2009/08/27/todays-horror-story/</link>
		<comments>http://ickle.wordpress.com/2009/08/27/todays-horror-story/#comments</comments>
		<pubDate>Thu, 27 Aug 2009 10:02:43 +0000</pubDate>
		<dc:creator>ickle</dc:creator>
				<category><![CDATA[cairo]]></category>
		<category><![CDATA[i915]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[tiny]]></category>

		<guid isPermaLink="false">http://ickle.wordpress.com/?p=85</guid>
		<description><![CDATA[Or, &#8220;why we don&#8217;t use glitz anymore&#8221;. Adding a cairo-glitz run on tiny (an i915): image xlib drm gl glitz epiphany-20090810 0.0 -106.5 -19.8 -235.8 -741.1 evolution-20090607 0.0 -100.3 -130.6 -440.6 -4150.4 evolution-20090618 0.0 -61.9 -69.4 -380.3 firefox-20090601 0.0 -103.5 firefox-periodic-table 0.0 -92.3 20.6 -228.6 -927.3 firefox-talos-gfx-20090702 0.0 8.3 381.6 -207.1 -230.5 firefox-world-map 0.0 -186.2 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ickle.wordpress.com&amp;blog=2121805&amp;post=85&amp;subd=ickle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Or, &#8220;why we don&#8217;t use glitz anymore&#8221;. Adding a cairo-glitz run on tiny (an i915):<br />
<img class="aligncenter size-full wp-image-86" title="cairo-perf-chart" src="http://ickle.files.wordpress.com/2009/08/cairo-perf-chart12.png?w=300&#038;h=174" alt="cairo-perf-chart" width="300" height="174" /></p>
<blockquote>
<table style="text-align:right;" border="0" cellspacing="4" width="432">
<tbody>
<tr>
<td></td>
<td>image</td>
<td>xlib</td>
<td>drm</td>
<td>gl</td>
<td>glitz</td>
</tr>
<tr>
<td>epiphany-20090810</td>
<td><strong>0.0</strong></td>
<td>-106.5</td>
<td>-19.8</td>
<td>-235.8</td>
<td>-741.1</td>
</tr>
<tr>
<td>evolution-20090607</td>
<td><strong>0.0</strong></td>
<td>-100.3</td>
<td>-130.6</td>
<td>-440.6</td>
<td>-4150.4</td>
</tr>
<tr>
<td>evolution-20090618</td>
<td><strong>0.0</strong></td>
<td>-61.9</td>
<td>-69.4</td>
<td>-380.3</td>
<td></td>
</tr>
<tr>
<td>firefox-20090601</td>
<td><strong>0.0</strong></td>
<td>-103.5</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>firefox-periodic-table</td>
<td>0.0</td>
<td>-92.3</td>
<td><strong>20.6</strong></td>
<td>-228.6</td>
<td>-927.3</td>
</tr>
<tr>
<td>firefox-talos-gfx-20090702</td>
<td>0.0</td>
<td>8.3</td>
<td><strong>381.6</strong></td>
<td>-207.1</td>
<td>-230.5</td>
</tr>
<tr>
<td>firefox-world-map</td>
<td>0.0</td>
<td>-186.2</td>
<td><strong>27.0</strong></td>
<td>-51.1</td>
<td>-259.6</td>
</tr>
<tr>
<td>gnome-terminal-20090601</td>
<td>0.0</td>
<td>-29.7</td>
<td><strong>207.9</strong></td>
<td>-287.3</td>
<td>-262.0</td>
</tr>
<tr>
<td>gnome-terminal-20090728</td>
<td>0.0</td>
<td>60.0</td>
<td><strong>406.7</strong></td>
<td>-70.5</td>
<td>-129.4</td>
</tr>
<tr>
<td>poppler-20090811</td>
<td>0.0</td>
<td>-70.2</td>
<td><strong>132.4</strong></td>
<td>-344.2</td>
<td>-322.4</td>
</tr>
<tr>
<td>poppler-bug-12266</td>
<td>0.0</td>
<td>-101.6</td>
<td><strong>59.0</strong></td>
<td></td>
<td>-146.5</td>
</tr>
<tr>
<td>swfdec-fill-rate</td>
<td>0.0</td>
<td>-112.9</td>
<td><strong>36.3</strong></td>
<td>30.1</td>
<td></td>
</tr>
<tr>
<td>swfdec-fill-rate-2xaa</td>
<td>0.0</td>
<td>-69.3</td>
<td><strong>345.1</strong></td>
<td>45.7</td>
<td>-5498.1</td>
</tr>
<tr>
<td>swfdec-fill-rate-4xaa</td>
<td><strong>0.0</strong></td>
<td>-244.4</td>
<td><strong>0.6</strong></td>
<td>-3.2</td>
<td></td>
</tr>
<tr>
<td>swfdec-giant-steps</td>
<td><strong>0.0</strong></td>
<td>-41.7</td>
<td>-66.6</td>
<td>-260.8</td>
<td>-275.6</td>
</tr>
<tr>
<td>swfdec-youtube</td>
<td>0.0</td>
<td>12.1</td>
<td><strong>192.9</strong></td>
<td>7.6</td>
<td>-81.4</td>
</tr>
</tbody>
</table>
<p>[image] 1.9.2-505-g2e9cad3.tiny<br />
[xlib] 1.9.2-505-g2e9cad3.xlib.tiny<br />
[drm] 1.9.2-525-g8c7de80.drm.tiny<br />
[gl] 1.9.2-525-g8c7de80.gl.tiny<br />
[glitz] 1.9.2-564-g1b24626.glitz.tiny</p></blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ickle.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ickle.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ickle.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ickle.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ickle.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ickle.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ickle.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ickle.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ickle.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ickle.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ickle.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ickle.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ickle.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ickle.wordpress.com/85/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ickle.wordpress.com&amp;blog=2121805&amp;post=85&amp;subd=ickle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ickle.wordpress.com/2009/08/27/todays-horror-story/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b370d944f8518e3d9778130fcfd11f5d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ickle</media:title>
		</media:content>

		<media:content url="http://ickle.files.wordpress.com/2009/08/cairo-perf-chart12.png" medium="image">
			<media:title type="html">cairo-perf-chart</media:title>
		</media:content>
	</item>
	</channel>
</rss>
