We only program in one layer size per texture, so that means that all levels must share one size. This makes the piglit test
bin/texelFetch fs sampler2DArray have the same breakage as its non-array version instead of being completely off. Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu> Cc: "10.4 10.5" <mesa-sta...@lists.freedesktop.org> --- Need to put this through a piglit run, but seems fairly obvious given what fd3_texture does. Also see results of the texelFetch piglit. src/gallium/drivers/freedreno/freedreno_resource.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/freedreno/freedreno_resource.c b/src/gallium/drivers/freedreno/freedreno_resource.c index c412407..afb396e 100644 --- a/src/gallium/drivers/freedreno/freedreno_resource.c +++ b/src/gallium/drivers/freedreno/freedreno_resource.c @@ -215,7 +215,10 @@ setup_slices(struct fd_resource *rsc, uint32_t alignment) slice->pitch = align(width, 32); slice->offset = size; - slice->size0 = align(slice->pitch * height * rsc->cpp, alignment); + if (level == 0 || layers_in_level == 1) + slice->size0 = align(slice->pitch * height * rsc->cpp, alignment); + else + slice->size0 = rsc->slices[0].size0; size += slice->size0 * depth * layers_in_level; -- 2.0.5 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev