<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Partial Redraw Problems</title>
		<link>http://www.allegro.cc/forums/view/613167</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Thu, 29 Aug 2013 20:29:02 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I have my framework set up to use tranformations and <span class="source-code"><a href="http://www.allegro.cc/manual/al_set_clipping_rectangle"><span class="a">al_set_clipping_rectangle</span></a><span class="k2">(</span><span class="k2">)</span></span> to create views which can be drawn into. My framework sets up a default view which translates and clips things such that the &quot;virtual display&quot; is centered and black bars appear around the edges to maintain the aspect ratio.</p><p>This has been working nicely for me for a long time, but I was doing some testing on Ubuntu 13 and noticed that when using full screen mode, there tended to be some graphical artifacts left in buffer.</p><p>For instance, when the program starts, some of the graphics on the desktop remain in the buffer and show up in my program&#39;s window. It seems that Ubuntu is doing some transitional animation which affects the buffers even while my program is using the buffers, thus I end up with some of the desktop graphics being rendered onto the buffer and displayed in my program.</p><p>As a workaround, I had the entire screen cleared each frame before I set up my view transformation and clipping during the intro screen. This worked well, but then I tried Alt+Tabbing away and back to my program. The artifacts were back.</p><p>I changed the framework so that it would automatically clear the entire buffer for a couple of frames when the program regains focus. This wasn&#39;t enough to eliminate the issue since I can&#39;t figure out exactly when Ubuntu is going to decide to put stuff in the buffer.</p><p>Thinking about it now, I am wondering if it is ever safe to assume the buffers aren&#39;t going to be modified from outside my program. I had always assumed that only things I do within my program can affect the buffers that my program is using. I have never had issues on other platforms.</p><p>Does anybody have any thoughts on how I should deal with this? I am wondering if I might be able to use <span class="source-code">ALLEGRO_EVENT_DISPLAY_EXPOSE</span> to determine when I should be clearing the entire buffer. I hate to waste resources redrawing black pixels over and over unnecessarily.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Todd Cope)</author>
		<pubDate>Fri, 23 Aug 2013 03:30:14 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>What video card and driver? It really shouldn&#39;t do that.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trent Gamblin)</author>
		<pubDate>Fri, 23 Aug 2013 03:59:12 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It&#39;s a netbook with an Intel Atom N570 running whatever driver comes with Ubuntu 13.04.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Todd Cope)</author>
		<pubDate>Fri, 23 Aug 2013 04:41:01 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>IF anything is modifying your buffers, its a bug. A good driver and/or compositor only reads from your buffers, not writes to them.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Fri, 23 Aug 2013 05:44:24 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It&#39;s probably the Gallium driver which is pretty buggy. But there&#39;s not much else for most Intel chips.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trent Gamblin)</author>
		<pubDate>Fri, 23 Aug 2013 06:03:56 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Oh, is that the GMA500 hardware again? Most intel GPUs are supported by the intel-gfx i915 driver. The GMA500 is about the only &quot;intel&quot; gpu that isn&#39;t supported by the i915 driver, as its based on a powervr gpu.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Fri, 23 Aug 2013 06:08:45 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>A driver bug? I guess it might be similar to the Unity bugs that were in the initial 13.04 release. There were artifacts in certain parts of the UI similar to what I&#39;m experiencing.</p><p>If that&#39;s the case, I&#39;ll just have a config file setting to work around the issue for those that are experiencing it.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Todd Cope)</author>
		<pubDate>Fri, 23 Aug 2013 06:14:35 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It&#39;s that or ubuntu&#39;s unity bull crap.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Fri, 23 Aug 2013 06:19:52 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I don&#39;t know if it&#39;s GMA500, but all Intel goes through Gallium now AFAIK.</p><p>Yeah, maybe try a different WM, one that doesn&#39;t do compositing and see if that works around the issue.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trent Gamblin)</author>
		<pubDate>Fri, 23 Aug 2013 07:14:59 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/613167/989109#target">Trent Gamblin</a> said:</div><div class="quote"><p>but all Intel goes through Gallium now AFAIK.</p></div></div><p>As far as I know, that is not the case on debian.</p><p>Some research says the official drivers are plain old Mesa+DRI/DRM drivers, while there is an unofficial incomplete third party Gallium driver for the Sandy Bridge and Ivy Bridge HD series gpus.</p><p>And as of April it was marked as a toy driver. Any distro using it by default would have to be stupid.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Fri, 23 Aug 2013 07:53:10 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Thanks for the info, guys. I have implemented a workaround to deal with this issue.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Todd Cope)</author>
		<pubDate>Thu, 29 Aug 2013 20:29:02 +0000</pubDate>
	</item>
</rss>
