<div>Hi,</div><div><br></div><div>I have a test app implemented using VA and the Intel-driver running on Sandy Bridge/HD3000 (for now).  This needs to pass surfaces back and forth between CPU and GPU, using non-tiled and Y-tiled surfaces respectively.  It seems I can only do this through the GTT (using vaMapBuffer) without modifying the driver.<br>
</div><div><br></div><div>I&#39;m only interested in entire surface copies so I can easily tile and detile on the fly with a custom copy routine and don&#39;t really need the GTT remapping.  Therefore I&#39;ve modified i965_(Un)MapBuffer in the Intel driver to always use dri_bo_(un)map (rather than just for non-tiled surfaces) and written some CPU copy routines.</div>
<div><br></div><div>This seems to work well, and tests show the app performs significantly better this way, compared to using the most efficient optimised copy through the GTT I can come up with.</div><div><br></div><div>
So my question is: are there any subtle fencing, coherency or other issues I&#39;m introducing by changing the mappings like this or is it safe?</div><div><br></div><div><div>I hope this is the right place for this question, and thanks in advance for any help,</div>
</div><div>Mark.</div><div><br></div><div><br></div>