[PATCH i-g-t 26/37] lib/igt_fb: Assert that we have no clear color when using the bltter

Juha-Pekka Heikkila juhapekka.heikkila at gmail.com
Tue Aug 27 17:09:53 UTC 2024


Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>

On 3.7.2024 2.28, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> The blitter code doesn't know how to deal with the clear color
> currently. There is some preliminary code to simply skip the clear
> color buffer for dg2, but that would just result in bogus rendering
> if we even had to deal with fast cleared stuff.
> 
> Rip out the dg2 stuff, and just assert that we should never get
> here with a clear color modifier.
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
>   lib/igt_fb.c | 9 ++++-----
>   1 file changed, 4 insertions(+), 5 deletions(-)
> 
> diff --git a/lib/igt_fb.c b/lib/igt_fb.c
> index 5a1f3d5d8207..ab04733fef61 100644
> --- a/lib/igt_fb.c
> +++ b/lib/igt_fb.c
> @@ -3027,19 +3027,18 @@ static void blitcopy(const struct igt_fb *dst_fb,
>   	const intel_ctx_t *ictx = NULL;
>   	intel_ctx_t *xe_ctx = NULL;
>   	struct intel_execution_engine2 *e;
> -	/* To ignore CC plane */
> -	uint32_t src_cc = src_fb->modifier == I915_FORMAT_MOD_4_TILED_DG2_RC_CCS_CC ? 1 : 0;
> -	uint32_t dst_cc = dst_fb->modifier == I915_FORMAT_MOD_4_TILED_DG2_RC_CCS_CC ? 1 : 0;
>   	bool is_xe = is_xe_device(dst_fb->fd);
>   
>   	igt_assert_eq(dst_fb->fd, src_fb->fd);
> -	igt_assert_eq(dst_fb->num_planes - dst_cc, src_fb->num_planes - src_cc);
> +	igt_assert_eq(dst_fb->num_planes, src_fb->num_planes);
> +	igt_assert(!igt_fb_is_gen12_rc_ccs_cc_modifier(src_fb->modifier));
> +	igt_assert(!igt_fb_is_gen12_rc_ccs_cc_modifier(dst_fb->modifier));
>   
>   	setup_context_and_memory_region(dst_fb, &ctx, &ahnd, &mem_region,
>   					&vm, &bb, &bb_size, &ictx,
>   					&exec_queue, &xe_ctx);
>   
> -	for (int i = 0; i < dst_fb->num_planes - dst_cc; i++) {
> +	for (int i = 0; i < dst_fb->num_planes; i++) {
>   		igt_assert_eq(dst_fb->plane_bpp[i], src_fb->plane_bpp[i]);
>   		igt_assert_eq(dst_fb->plane_width[i], src_fb->plane_width[i]);
>   		igt_assert_eq(dst_fb->plane_height[i], src_fb->plane_height[i]);



More information about the igt-dev mailing list