diff --git a/.pick_status.json b/.pick_status.json index 617dd052565..b75a8734281 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -283,7 +283,7 @@ "description": "panfrost: Fix viewport scissor for preload draws", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": "8ba2f9f698584d20830ef31bbc2fb8a6635c8314" }, diff --git a/src/panfrost/lib/pan_blitter.c b/src/panfrost/lib/pan_blitter.c index ea43e04ab3f..203b9ff9255 100644 --- a/src/panfrost/lib/pan_blitter.c +++ b/src/panfrost/lib/pan_blitter.c @@ -877,10 +877,10 @@ pan_preload_emit_viewport(struct pan_pool *pool, /* Align on 32x32 tiles */ cfg.scissor_minimum_x = fb->extent.minx & ~31; cfg.scissor_minimum_y = fb->extent.miny & ~31; - cfg.scissor_maximum_x = MIN2(ALIGN_POT(fb->extent.maxx, 32) - 1, - fb->width - 1); - cfg.scissor_maximum_y = MIN2(ALIGN_POT(fb->extent.maxy, 32) - 1, - fb->height - 1); + cfg.scissor_maximum_x = MIN2(ALIGN_POT(fb->extent.maxx + 1, 32), + fb->width) - 1; + cfg.scissor_maximum_y = MIN2(ALIGN_POT(fb->extent.maxy + 1, 32), + fb->height) - 1; } } diff --git a/src/panfrost/lib/pan_cs.h b/src/panfrost/lib/pan_cs.h index 8f5db219014..ac27f688d00 100644 --- a/src/panfrost/lib/pan_cs.h +++ b/src/panfrost/lib/pan_cs.h @@ -103,6 +103,7 @@ struct pan_fb_bifrost_info { struct pan_fb_info { unsigned width, height; struct { + /* Max values are inclusive */ unsigned minx, miny, maxx, maxy; } extent; unsigned nr_samples;