freedreno: add a fd_resource_pitch helper
[mesa.git] / src / gallium / drivers / freedreno / a6xx / fd6_texture.c
index 19402290565d720bf492a48e78c52c4013ea03a9..19b3716a3d6b81e48f7a947f0fe8405a3043473c 100644 (file)
@@ -220,7 +220,6 @@ fd6_sampler_view_create(struct pipe_context *pctx, struct pipe_resource *prsc,
 {
        struct fd6_pipe_sampler_view *so = CALLOC_STRUCT(fd6_pipe_sampler_view);
        struct fd_resource *rsc = fd_resource(prsc);
-       struct fdl_slice *slice = NULL;
        enum pipe_format format = cso->format;
        unsigned lvl, layers = 0;
 
@@ -256,7 +255,6 @@ fd6_sampler_view_create(struct pipe_context *pctx, struct pipe_resource *prsc,
                unsigned miplevels;
 
                lvl = fd_sampler_first_level(cso);
-               slice = fd_resource_slice(rsc, lvl);
                miplevels = fd_sampler_last_level(cso) - lvl;
                layers = cso->u.tex.last_layer - cso->u.tex.first_layer + 1;
 
@@ -266,7 +264,7 @@ fd6_sampler_view_create(struct pipe_context *pctx, struct pipe_resource *prsc,
                        A6XX_TEX_CONST_1_HEIGHT(u_minify(prsc->height0, lvl));
                so->texconst2 =
                        A6XX_TEX_CONST_2_PITCHALIGN(rsc->layout.pitchalign) |
-                       A6XX_TEX_CONST_2_PITCH(slice->pitch);
+                       A6XX_TEX_CONST_2_PITCH(fd_resource_pitch(rsc, lvl));
                so->offset = fd_resource_offset(rsc, lvl, cso->u.tex.first_layer);
                so->ubwc_offset = fd_resource_ubwc_offset(rsc, lvl, cso->u.tex.first_layer);
                so->ubwc_enabled = fd_resource_ubwc_enabled(rsc, lvl);
@@ -305,7 +303,7 @@ fd6_sampler_view_create(struct pipe_context *pctx, struct pipe_resource *prsc,
                so->texconst3 =
                        A6XX_TEX_CONST_3_MIN_LAYERSZ(
                                fd_resource_slice(rsc, prsc->last_level)->size0) |
-                       A6XX_TEX_CONST_3_ARRAY_PITCH(slice->size0);
+                       A6XX_TEX_CONST_3_ARRAY_PITCH(fd_resource_slice(rsc, lvl)->size0);
                so->texconst5 =
                        A6XX_TEX_CONST_5_DEPTH(u_minify(prsc->depth0, lvl));
                break;