<div class="gmail_quote">On Wed, Jun 2, 2010 at 3:02 PM, Roland Scheidegger <span dir="ltr">&lt;<a href="mailto:sroland@vmware.com">sroland@vmware.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

Together with a PIPE_CAP_CLEAR_WITH_MASK_AND_SCISSOR.<br>
<br>
That would be all interface changes needed (so mask and scissor would be<br>
optional for drivers to implement, but single color buffers wouldn&#39;t be)<br>
- clearly some drivers can&#39;t handle the former, but I think all could be<br>
changed more or less easily to handle the latter. Still, that&#39;ll make 2<br>
cap queries just for clears (one for separate depth stencil, the other<br>
for masks/scissors), unless we replace the latter with<br>
PIPE_CAP_CLEAR_ALL_FEATURES or something (so, your driver implements<br>
masks/scissors, it has to implement separate depth/stencil clears too).<br></blockquote></div><br>Considering that a state tracker has to use the 3D engine anyway if one of these CAPS isn&#39;t supported, it makes sense to make the support of these &quot;clear&quot; features mandatory and let pipe drivers use u_blitter if needed.<br>

<br>Right now we have u_blit and u_blitter. We cannot let u_blitter go because it implements clear/resource_copy_region for r300g and r600g. On the other hand, u_blit and other custom-made blitters wouldn&#39;t be needed if some interface restrictions were raised (I think).<br>

<br>Or we may finally start developing the intermediate layer we talked about some time ago and make it redirect unsupported clear/resource_copy_region usage to u_blitter.<br><br>It would also be nice to allow non-matching src and dst formats in resource_copy_region and let u_blitter cope with that but that&#39;s another story.<br>

<br>Opinions?<br><br>-Marek<br>