freedreno/a6xx: set CHROMA_LINEAR

This seems to have no effect on a618, but restores linear filtering on
a635 when the texture is yuv.  The blob sets it on a635 as well (but not
on a618).

Fixed android.media.cts.DecodeAccuracyTest#* on a635.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19514>
This commit is contained in:
Chia-I Wu
2022-11-03 16:17:33 -07:00
committed by Marge Bot
parent d61ac94658
commit cbf68450f8

View File

@@ -294,6 +294,13 @@ fd6_sampler_state_create(struct pipe_context *pctx,
if (needs_border)
so->texsamp2 = A6XX_TEX_SAMP_2_BCOLOR(get_bcolor_offset(ctx, cso));
/* We don't know if the format is going to be YUV. Setting CHROMA_LINEAR
* unconditionally seems fine.
*/
if (cso->mag_img_filter == PIPE_TEX_FILTER_LINEAR &&
cso->min_img_filter == PIPE_TEX_FILTER_LINEAR)
so->texsamp2 |= A6XX_TEX_SAMP_2_CHROMA_LINEAR;
return so;
}