Mesa (master): freedreno/a5xx: texture layout
Rob Clark
robclark at kemper.freedesktop.org
Tue Dec 27 22:03:30 UTC 2016
Module: Mesa
Branch: master
Commit: f0439040808f81d5b9a4072de7469dacdda96fa7
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f0439040808f81d5b9a4072de7469dacdda96fa7
Author: Rob Clark <robdclark at gmail.com>
Date: Tue Dec 6 13:32:31 2016 -0500
freedreno/a5xx: texture layout
Seems to be imilar to a4xx, and sampler state "array-pitch" needs
to be aligned to page size.
Signed-off-by: Rob Clark <robdclark at gmail.com>
---
src/gallium/drivers/freedreno/a5xx/fd5_texture.c | 2 +-
src/gallium/drivers/freedreno/freedreno_resource.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/freedreno/a5xx/fd5_texture.c b/src/gallium/drivers/freedreno/a5xx/fd5_texture.c
index 588e914..47b07b8 100644
--- a/src/gallium/drivers/freedreno/a5xx/fd5_texture.c
+++ b/src/gallium/drivers/freedreno/a5xx/fd5_texture.c
@@ -281,7 +281,7 @@ fd5_sampler_view_create(struct pipe_context *pctx, struct pipe_resource *prsc,
case PIPE_TEXTURE_1D:
case PIPE_TEXTURE_2D:
so->texconst3 =
- A5XX_TEX_CONST_3_ARRAY_PITCH(rsc->slices[lvl].size0);
+ A5XX_TEX_CONST_3_ARRAY_PITCH(rsc->layer_size);
so->texconst5 =
A5XX_TEX_CONST_5_DEPTH(1);
break;
diff --git a/src/gallium/drivers/freedreno/freedreno_resource.c b/src/gallium/drivers/freedreno/freedreno_resource.c
index 174c1d4..5a2bdfc 100644
--- a/src/gallium/drivers/freedreno/freedreno_resource.c
+++ b/src/gallium/drivers/freedreno/freedreno_resource.c
@@ -819,7 +819,7 @@ fd_resource_create(struct pipe_screen *pscreen,
assert(rsc->cpp);
alignment = slice_alignment(pscreen, tmpl);
- if (is_a4xx(fd_screen(pscreen))) {
+ if (is_a4xx(fd_screen(pscreen)) || is_a5xx(fd_screen(pscreen))) {
switch (tmpl->target) {
case PIPE_TEXTURE_3D:
rsc->layer_first = false;
More information about the mesa-commit
mailing list