For example if width were 65, the first slice would get 96 while the second would get 32. However the hardware appears to expect the second pitch to be 64, based on halving the 96 (and aligning up to 32).
This fixes texelFetch piglit tests on a3xx. Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu> Cc: "10.4 10.5" <mesa-sta...@lists.freedesktop.org> --- Still need to run this through piglit, but the initial texelFetch results are encouraging. There still seems to be some horrible problem with array textures e.g. sampler2DArray 100x100x5, but it actually feels related to rendering rather than sampling. src/gallium/drivers/freedreno/freedreno_resource.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/freedreno/freedreno_resource.c b/src/gallium/drivers/freedreno/freedreno_resource.c index afb396e..a49d5f5 100644 --- a/src/gallium/drivers/freedreno/freedreno_resource.c +++ b/src/gallium/drivers/freedreno/freedreno_resource.c @@ -213,7 +213,7 @@ setup_slices(struct fd_resource *rsc, uint32_t alignment) for (level = 0; level <= prsc->last_level; level++) { struct fd_resource_slice *slice = fd_resource_slice(rsc, level); - slice->pitch = align(width, 32); + slice->pitch = width = align(width, 32); slice->offset = size; if (level == 0 || layers_in_level == 1) slice->size0 = align(slice->pitch * height * rsc->cpp, alignment); -- 2.0.5 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev