mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-20 11:18:11 +02:00
For 32bpc formats, the ICL+ sampler fetches the raw clear color dwords used for rendering instead of the converted pixel dwords typically used for sampling. The CLEAR_COLOR struct page documents this for 128bpp formats, but not for 32bpp and 64bpp formats. In blorp_copy, map R11G11B10_FLOAT to R8G8B8A8_UINT instead of R32_UINT. This will cause the sampler to fetch the clear color pixel, allowing drivers to keep clear color support enabled during copies. If iris is forced to convert blits to copies, this patch fixes the following test on gfx12: dEQP-GLES3.functional.fbo.color.repeated_clear.blit.rbo.r11f_g11f_b10f At the moment, both iris and anv won't hit this issue outside of blorp_copy. This is due to the read/write access restrictions they currently place on texture views that reinterpret the surface format. Cc: mesa-stable Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8964 Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23604> |
||
|---|---|---|
| .. | ||
| blorp.c | ||
| blorp.h | ||
| blorp_blit.c | ||
| blorp_clear.c | ||
| blorp_genX_exec.h | ||
| blorp_nir_builder.h | ||
| blorp_priv.h | ||
| meson.build | ||