[Mesa-dev] [PATCH 2/7] r600g, radeonsi: use current domain for deciding when to do blit-based transfer
Marek Olšák
maraeo at gmail.com
Tue Feb 25 06:58:26 PST 2014
Okay, I'll drop the patch. It's not too important anyway.
Marek
On Tue, Feb 25, 2014 at 3:54 AM, Michel Dänzer <michel at daenzer.net> wrote:
> On Die, 2014-02-25 at 00:48 +0100, Marek Olšák wrote:
>>
>> diff --git a/src/gallium/drivers/radeon/r600_texture.c b/src/gallium/drivers/radeon/r600_texture.c
>> index 35ad97b..1966251 100644
>> --- a/src/gallium/drivers/radeon/r600_texture.c
>> +++ b/src/gallium/drivers/radeon/r600_texture.c
>> @@ -910,7 +910,8 @@ static void *r600_texture_transfer_map(struct pipe_context *ctx,
>>
>> /* Untiled buffers in VRAM, which is slow for CPU reads and writes */
>> if (!(usage & PIPE_TRANSFER_MAP_DIRECTLY) &&
>> - (rtex->resource.domains == RADEON_DOMAIN_VRAM)) {
>> + (rctx->ws->buffer_get_current_domain(rtex->resource.cs_buf) ==
>> + RADEON_DOMAIN_VRAM)) {
>> use_staging_texture = TRUE;
>> }
>
> If rtex is already referenced by the command stream being prepared, the
> decision needs to be based on that instead. The ioctl just returns where
> the BO happens to be when it's called, which is not necessarily where it
> will be when this command stream is executed.
>
>
> --
> Earthling Michel Dänzer | http://www.amd.com
> Libre software enthusiast | Mesa and X developer
>
More information about the mesa-dev
mailing list