diff options
author | Wladimir J. van der Laan <laanwj@gmail.com> | 2013-10-15 16:25:13 +0200 |
---|---|---|
committer | Wladimir J. van der Laan <laanwj@gmail.com> | 2013-10-15 16:25:13 +0200 |
commit | c78f82f36d6256491cfb9f24c02bce04677ed0b4 (patch) | |
tree | 0058cefde5ecb0fb47a7d94a128424b38a614299 | |
parent | 7512ece8a1208d3c4655db333df1b8503c986a0a (diff) |
driver: fix cubemaps
Previous tiling changes broke cubemap support. This commit fixes the offsets
and makes the cubemap test work again.
-rw-r--r-- | src/driver/etna_resource.c | 5 | ||||
-rw-r--r-- | src/driver/etna_transfer.c | 4 |
2 files changed, 4 insertions, 5 deletions
diff --git a/src/driver/etna_resource.c b/src/driver/etna_resource.c index 49ef27e..4782804 100644 --- a/src/driver/etna_resource.c +++ b/src/driver/etna_resource.c @@ -215,10 +215,9 @@ static struct pipe_resource * etna_screen_resource_create(struct pipe_screen *sc flags |= DRM_ETNA_GEM_TYPE_IDX; else if(templat->bind & PIPE_BIND_VERTEX_BUFFER) flags |= DRM_ETNA_GEM_TYPE_VTX; - - DBG_F(ETNA_DBG_RESOURCE_MSGS, "%p: Allocate surface of %ix%i (padded to %ix%i) of format %s, size %08x flags %08x, memtype %i", + DBG_F(ETNA_DBG_RESOURCE_MSGS, "%p: Allocate surface of %ix%i (padded to %ix%i), %i layers, of format %s, size %08x flags %08x, memtype %i", resource, - templat->width0, templat->height0, resource->levels[0].padded_width, resource->levels[0].padded_height, util_format_name(templat->format), + templat->width0, templat->height0, resource->levels[0].padded_width, resource->levels[0].padded_height, templat->array_size, util_format_name(templat->format), offset, templat->bind, memtype); struct etna_bo *bo = 0; diff --git a/src/driver/etna_transfer.c b/src/driver/etna_transfer.c index 56631d4..4d22e5e 100644 --- a/src/driver/etna_transfer.c +++ b/src/driver/etna_transfer.c @@ -140,7 +140,7 @@ static void *etna_pipe_transfer_map(struct pipe_context *pipe, { if(resource_priv->layout == ETNA_LAYOUT_TILED && !util_format_is_compressed(resource_priv->base.format)) { - etna_texture_untile(ptrans->buffer, mapped, + etna_texture_untile(ptrans->buffer, mapped + ptrans->base.box.z * res_level->layer_stride, ptrans->base.box.x, ptrans->base.box.y, res_level->stride, ptrans->base.box.width, ptrans->base.box.height, ptrans->base.stride, util_format_get_blocksize(resource_priv->base.format)); @@ -198,7 +198,7 @@ static void etna_pipe_transfer_unmap(struct pipe_context *pipe, { if(resource->layout == ETNA_LAYOUT_TILED && !util_format_is_compressed(resource->base.format)) { - etna_texture_tile(mapped, ptrans->buffer, + etna_texture_tile(mapped + ptrans->base.box.z * res_level->layer_stride, ptrans->buffer, ptrans->base.box.x, ptrans->base.box.y, res_level->stride, ptrans->base.box.width, ptrans->base.box.height, ptrans->base.stride, util_format_get_blocksize(resource->base.format)); |