freedreno/a2xx: fix compressed textures
authorJonathan Marek <jonathan@marek.ca>
Tue, 7 Jul 2020 22:00:55 +0000 (18:00 -0400)
committerMarge Bot <eric+marge@anholt.net>
Wed, 8 Jul 2020 20:46:08 +0000 (20:46 +0000)
Two problems:
* Multiply has higher priority than shift
* rsc->layout.format isn't initialized for a2xx

Fixes: 5a8718f01b397 ("freedreno: Make the slice pitch be bytes, not pixels.")
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5796>

src/gallium/drivers/freedreno/a2xx/fd2_texture.c

index 938fc6951d8392e0adf2170e5b56e1b96b32cfa2..5545c41619143d09bc985639d8b21b841b68c84f 100644 (file)
@@ -187,8 +187,8 @@ fd2_sampler_view_create(struct pipe_context *pctx, struct pipe_resource *prsc,
                A2XX_SQ_TEX_0_SIGN_Y(fmt.sign) |
                A2XX_SQ_TEX_0_SIGN_Z(fmt.sign) |
                A2XX_SQ_TEX_0_SIGN_W(fmt.sign) |
-               A2XX_SQ_TEX_0_PITCH(slice0->pitch >> fdl_cpp_shift(&rsc->layout) *
-                               util_format_get_blockwidth(rsc->layout.format)) |
+               A2XX_SQ_TEX_0_PITCH((slice0->pitch >> fdl_cpp_shift(&rsc->layout)) *
+                               util_format_get_blockwidth(prsc->format)) |
                COND(rsc->layout.tile_mode, A2XX_SQ_TEX_0_TILED);
        so->tex1 =
                A2XX_SQ_TEX_1_FORMAT(fmt.format) |