[Mesa-dev] [PATCH 22/22] r600g: fix uploading non-zero mipmap levels of depth textures

Marek Olšák maraeo at gmail.com
Tue Jul 10 10:46:07 PDT 2012


On Tue, Jul 10, 2012 at 11:44 AM, Michel Dänzer <michel at daenzer.net> wrote:
> On Mon, 2012-07-09 at 21:15 +0200, Marek Olšák wrote:
>> This fixes piglit/depth-level-clamp.
>> ---
>>  src/gallium/drivers/r600/r600_texture.c |    5 +++--
>>  1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/src/gallium/drivers/r600/r600_texture.c b/src/gallium/drivers/r600/r600_texture.c
>> index a6a83ca..d16c252 100644
>> --- a/src/gallium/drivers/r600/r600_texture.c
>> +++ b/src/gallium/drivers/r600/r600_texture.c
>> @@ -926,8 +926,9 @@ void r600_texture_transfer_destroy(struct pipe_context *ctx,
>>
>>                       u_box_origin_2d(texture->width0, texture->height0, &sbox);
>>
>> -                     ctx->resource_copy_region(ctx, texture, 0, 0, 0, 0,
>> -                                               &rtransfer->staging->b.b, 0,
>> +                     ctx->resource_copy_region(ctx, texture, transfer->level,
>> +                                               0, 0, transfer->box.z,
>> +                                               &rtransfer->staging->b.b, transfer->level,
>
> Does this really need to take into account transfer->box.z, but not .x
> and .y?

Yes, it could be optimized more. I'd rather leave the optimization to
some other patch. The read transfers always copy the whole layer too.

Marek


More information about the mesa-dev mailing list