r600g: don't read back the MSAA depth buffer if the read flag is not set
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
141b892620
commit
94d294137e
|
@ -865,24 +865,24 @@ static void *r600_texture_transfer_map(struct pipe_context *ctx,
|
||||||
*
|
*
|
||||||
* Only the region being mapped is transfered.
|
* Only the region being mapped is transfered.
|
||||||
*/
|
*/
|
||||||
struct pipe_resource *temp;
|
|
||||||
struct pipe_resource resource;
|
struct pipe_resource resource;
|
||||||
|
|
||||||
r600_init_temp_resource_from_box(&resource, texture, box, level, 0);
|
r600_init_temp_resource_from_box(&resource, texture, box, level, 0);
|
||||||
temp = ctx->screen->resource_create(ctx->screen, &resource);
|
|
||||||
|
|
||||||
r600_copy_region_with_blit(ctx, temp, 0, 0, 0, 0, texture, level, box);
|
if (!r600_init_flushed_depth_texture(ctx, &resource, &staging_depth)) {
|
||||||
|
|
||||||
if (!r600_init_flushed_depth_texture(ctx, temp, &staging_depth)) {
|
|
||||||
R600_ERR("failed to create temporary texture to hold untiled copy\n");
|
R600_ERR("failed to create temporary texture to hold untiled copy\n");
|
||||||
FREE(trans);
|
FREE(trans);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
r600_blit_decompress_depth(ctx, (struct r600_texture*)temp, staging_depth,
|
if (usage & PIPE_TRANSFER_READ) {
|
||||||
0, 0, 0, box->depth, 0, 0);
|
struct pipe_resource *temp = ctx->screen->resource_create(ctx->screen, &resource);
|
||||||
|
|
||||||
pipe_resource_reference((struct pipe_resource**)&temp, NULL);
|
r600_copy_region_with_blit(ctx, temp, 0, 0, 0, 0, texture, level, box);
|
||||||
|
r600_blit_decompress_depth(ctx, (struct r600_texture*)temp, staging_depth,
|
||||||
|
0, 0, 0, box->depth, 0, 0);
|
||||||
|
pipe_resource_reference((struct pipe_resource**)&temp, NULL);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
/* XXX: only readback the rectangle which is being mapped? */
|
/* XXX: only readback the rectangle which is being mapped? */
|
||||||
|
|
Loading…
Reference in New Issue