diff options
author | Alyssa Rosenzweig <[email protected]> | 2019-03-28 02:12:03 +0000 |
---|---|---|
committer | Alyssa Rosenzweig <[email protected]> | 2019-03-31 02:36:38 +0000 |
commit | b5f02bdd995aa85707023b1c63c42f2f0d9e87cd (patch) | |
tree | a85c8eb822978126761898d6963f035feb01d89f /src | |
parent | 3197b30c6e199f52f1293065f2650386b97d2e3d (diff) |
panfrost: Include all cubemap faces in bitmap list
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/drivers/panfrost/pan_context.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/gallium/drivers/panfrost/pan_context.c b/src/gallium/drivers/panfrost/pan_context.c index 43e0a6268fe..afef5d01515 100644 --- a/src/gallium/drivers/panfrost/pan_context.c +++ b/src/gallium/drivers/panfrost/pan_context.c @@ -1021,9 +1021,15 @@ panfrost_emit_for_draw(struct panfrost_context *ctx, bool with_vertex_data) struct panfrost_resource *rsrc = (struct panfrost_resource *) tex_rsrc; /* Inject the address in. */ - for (int l = 0; l <= tex_rsrc->last_level; ++l) { - ctx->sampler_views[t][i]->hw.swizzled_bitmaps[l] = - rsrc->bo->gpu + rsrc->bo->slices[l].offset; + for (int f = 0; f < tex_rsrc->array_size; ++f) { + for (int l = 0; l <= tex_rsrc->last_level; ++l) { + unsigned idx = f * (tex_rsrc->last_level + 1) + l; + + ctx->sampler_views[t][i]->hw.swizzled_bitmaps[idx] = + rsrc->bo->gpu + + rsrc->bo->slices[l].offset + + f * rsrc->bo->cubemap_stride; + } } trampolines[i] = panfrost_upload_transient(ctx, &ctx->sampler_views[t][i]->hw, sizeof(struct mali_texture_descriptor)); |