The drawing error is an issue in the output. The &quot;self-copy&quot; and &quot;subsurface&quot;<br>I mentioned are the cases in cairo/test/: self-copy.c and subsurface.c.<br>So you can check the output pictures, which are incorrect.<br>
These cases use target surface as their source surface at the same time, which<br>cause the render output incorrect. (When you bind one image from a texture to an <br>FBO,  and If you do try to read and write to the same image, you get undefined <br>
results.)<br><br>
<div class="gmail_quote">2012/1/11 Chris Wilson <span dir="ltr">&lt;<a href="mailto:chris@chris-wilson.co.uk">chris@chris-wilson.co.uk</a>&gt;</span><br>
<blockquote style="BORDER-LEFT:#ccc 1px solid;MARGIN:0px 0px 0px 0.8ex;PADDING-LEFT:1ex" class="gmail_quote">
<div class="im">On Wed, 11 Jan 2012 17:03:46 +0800, Chuanbo Weng &lt;<a href="mailto:strgnm@gmail.com">strgnm@gmail.com</a>&gt; wrote:<br>&gt; We have to create a new surface to avoid drawing error when the source<br>&gt; and destination is the same surface. Also, we should create a new texture<br>
&gt; surface when the source surface type is cairo_glx_surface_t. This fix<br>&gt; issue in self-copy, subsurface and subsurface-modify-child test case.<br><br></div>What&#39;s the drawing error? A GL error? An issue in the output? Due to its<br>
render roots, self-copy is undefined in the Cairo API so unless this<br>prevents an explicit error against the GL spec, I&#39;m not going to accept<br>it without the larger issue (of defining self-copy) being addressed.<br>
<span class="HOEnZb"><font color="#888888">-Chris<br><br>--<br>Chris Wilson, Intel Open Source Technology Centre<br></font></span></blockquote></div><br>