[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