a5xx: improve 3d texture sampling

At least the first level works now. Eventually the later levels stop
working, there appears to be some alignment issue. But this improves the
situation immensely.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Acked-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
Ilia Mirkin
2017-07-04 11:48:25 -04:00
parent c0f1efe04d
commit 02379b68f6

View File

@@ -221,7 +221,6 @@ fd5_sampler_view_create(struct pipe_context *pctx, struct pipe_resource *prsc,
struct fd5_pipe_sampler_view *so = CALLOC_STRUCT(fd5_pipe_sampler_view);
struct fd_resource *rsc = fd_resource(prsc);
unsigned lvl, layers;
uint32_t sz2 = 0;
if (!so)
return NULL;
@@ -298,8 +297,6 @@ fd5_sampler_view_create(struct pipe_context *pctx, struct pipe_resource *prsc,
A5XX_TEX_CONST_5_DEPTH(layers / 6);
break;
case PIPE_TEXTURE_3D:
while (lvl < cso->u.tex.last_level && sz2 != rsc->slices[lvl+1].size0)
sz2 = rsc->slices[++lvl].size0;
so->texconst3 =
A5XX_TEX_CONST_3_ARRAY_PITCH(rsc->slices[lvl].size0);
so->texconst5 =