[Mesa-dev] [PATCH 3/4] radeonsi: Catch more cases that can't be handled by si_dma_copy_buffer/tile
Michel Dänzer
michel at daenzer.net
Tue Oct 7 02:00:13 PDT 2014
On 01.10.2014 23:13, Grigori Goronzy wrote:
> On 30.09.2014 05:58, Michel Dänzer wrote:
>> }
>> /* the x test here are currently useless (because we don't support partial blit)
>> * but keep them around so we don't forget about those
>> */
>> - if ((src_pitch % 8) || (src_box->x % 8) || (dst_x % 8) || (src_box->y % 8) || (dst_y % 8)) {
>> + if ((src_pitch % 8) || (src_box->x % 8) || (dst_x % 8) ||
>> + (src_box->y % 8) || (dst_y % 8) || (src_box->height % 8)) {
>> goto fallback;
>> }
>
> That will only allow DMA copies for heights with a multiple of 8. That
> isn't requirement of the DMA engines AFAICT, size is always specified in
> DWs anyway.
I think the intended purpose of this code is to make sure things are
aligned to tile boundaries. That's still necessary when using
si_dma_copy_buffer for tiled resources, but it's not strict enough for
2D tiled resources. See v4 of my 'Add CIK SDMA support' patch.
--
Earthling Michel Dänzer | http://www.amd.com
Libre software enthusiast | Mesa and X developer
More information about the mesa-dev
mailing list