[Mesa-dev] [PATCH] r600g, radeonsi: add debug option which forces DMA for copy_region and blit

Axel Davy axel.davy at ens.fr
Mon Sep 8 14:00:10 PDT 2014


Le 08/09/2014 21:11, Grigori Goronzy a écrit :
> On 08.09.2014 21:07, Axel Davy wrote:
>> On 08/09/2014 20:21, Grigori Goronzy wrote :
>>> On 08.09.2014 14:50, Axel Davy wrote:
>>>> Hi,
>>>>
>>>> When reading si_dma.c code, it looks like the requested width of the
>>>> copy is ignored except for PIPE_BUFFER.
>>>> Perhaps that explains the bugs observed ?
>>>>
>>> It isn't ignored. Partial DMA copies (i.e. operations that do not copy
>>> whole lines) are simply not supported right now, and will fall back to
>>> resource_copy_region. In fact, it's even stricter: the picthes of source
>>> and destination have to match.
>>>
>>> Grigori
>> My point is I don't see a check to verify the width of the copy equals
>> the width of the buffers,
>> even if I see the pitch test.
>>
> There's a check for that (src_w != dst_w) in si_dma_copy.
>
> Grigori
>
>
>
I don't know exactly what src_x and dst_x represent,
they are calculated by:

src_w = rsrc->surface.level[src_level].npix_x;
dst_w = rdst->surface.level[dst_level].npix_x;

the width of the copy should be src_box->width

Axel


More information about the mesa-dev mailing list