<div>So we are going to support operation such as self-copy in </div>
<div>gl backend, right?<br><br></div>
<div class="gmail_quote">2012/1/11 Chris Wilson <span dir="ltr"><<a href="mailto:chris@chris-wilson.co.uk">chris@chris-wilson.co.uk</a>></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 22:38:39 +0800, Chuanbo Weng <<a href="mailto:strgnm@gmail.com">strgnm@gmail.com</a>> wrote:<br>> The drawing error is an issue in the output. The "self-copy" and<br>
> "subsurface"<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,<br>
> which<br>> cause the render output incorrect. (When you bind one image from a texture<br>> to an<br>> FBO, and If you do try to read and write to the same image, you get<br>> undefined<br>> results.)<br>
<br></div>And it is equally undefined in cairo at the moment. The self-copy test is<br>there more to capture how each backend behaves. The consensus has been<br>towards always performing a snapshot on the source before every<br>
operation (and optimising away that snapshot for the common case where<br>it is irrelevant).<br><br>Does anyone have any objections for cairo to start treating all sources<br>as immutable even when source == destination?<br>
<div class="HOEnZb">
<div class="h5">-Chris<br><br>--<br>Chris Wilson, Intel Open Source Technology Centre<br></div></div></blockquote></div><br>