summaryrefslogtreecommitdiff
path: root/src/panfrost/lib/pan_blit.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/panfrost/lib/pan_blit.c')
-rw-r--r--src/panfrost/lib/pan_blit.c19
1 files changed, 7 insertions, 12 deletions
diff --git a/src/panfrost/lib/pan_blit.c b/src/panfrost/lib/pan_blit.c
index 041059eeda1..cbf58f4a539 100644
--- a/src/panfrost/lib/pan_blit.c
+++ b/src/panfrost/lib/pan_blit.c
@@ -186,17 +186,12 @@ panfrost_load_midg(
unsigned width = u_minify(image->width0, image->first_level);
unsigned height = u_minify(image->height0, image->first_level);
- struct mali_viewport viewport = {
- .clip_minx = -INFINITY,
- .clip_miny = -INFINITY,
- .clip_maxx = INFINITY,
- .clip_maxy = INFINITY,
- .clip_minz = 0.0,
- .clip_maxz = 1.0,
-
- .viewport0 = { 0, 0 },
- .viewport1 = { MALI_POSITIVE(width), MALI_POSITIVE(height) }
- };
+ struct panfrost_transfer viewport = panfrost_pool_alloc(pool, MALI_VIEWPORT_LENGTH);
+
+ pan_pack(viewport.cpu, VIEWPORT, cfg) {
+ cfg.scissor_maximum_x = width - 1; /* Inclusive */
+ cfg.scissor_maximum_y = height - 1;
+ }
union mali_attr varying = {
.elements = coordinates | MALI_ATTR_LINEAR,
@@ -358,7 +353,7 @@ panfrost_load_midg(
.shader = shader_meta_t.gpu,
.varyings = panfrost_pool_upload(pool, &varying, sizeof(varying)),
.varying_meta = panfrost_pool_upload(pool, &varying_meta, sizeof(varying_meta)),
- .viewport = panfrost_pool_upload(pool, &viewport, sizeof(viewport)),
+ .viewport = viewport.gpu,
.shared_memory = fbd
}
};