panfrost: XMLify viewport
[mesa.git] / src / panfrost / lib / pan_blit.c
index e1cfb1e5b17ba56e168cb7da4de9b68d70481a79..cbf58f4a5399eb63ba52c5a5ac7edcd9983744a6 100644 (file)
@@ -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,
@@ -214,9 +209,9 @@ panfrost_load_midg(
         struct mali_stencil_test stencil = {
                 .mask = 0xFF,
                 .func = MALI_FUNC_ALWAYS,
-                .sfail = MALI_STENCIL_REPLACE,
-                .dpfail = MALI_STENCIL_REPLACE,
-                .dppass = MALI_STENCIL_REPLACE,
+                .sfail = MALI_STENCIL_OP_REPLACE,
+                .dpfail = MALI_STENCIL_OP_REPLACE,
+                .dppass = MALI_STENCIL_OP_REPLACE,
         };
 
         union midgard_blend replace = {
@@ -313,9 +308,9 @@ panfrost_load_midg(
 
         struct mali_sampler_descriptor sampler = {
                 .filter_mode = MALI_SAMP_MAG_NEAREST | MALI_SAMP_MIN_NEAREST,
-                .wrap_s = MALI_WRAP_CLAMP_TO_EDGE,
-                .wrap_t = MALI_WRAP_CLAMP_TO_EDGE,
-                .wrap_r = MALI_WRAP_CLAMP_TO_EDGE,
+                .wrap_s = MALI_WRAP_MODE_CLAMP_TO_EDGE,
+                .wrap_t = MALI_WRAP_MODE_CLAMP_TO_EDGE,
+                .wrap_r = MALI_WRAP_MODE_CLAMP_TO_EDGE,
         };
 
         struct panfrost_transfer shader_meta_t = panfrost_pool_alloc(pool, sizeof(shader_meta) + 8 * sizeof(struct midgard_blend_rt));
@@ -346,7 +341,7 @@ panfrost_load_midg(
 
         struct midgard_payload_vertex_tiler payload = {
                 .prefix = {
-                        .draw_mode = MALI_TRIANGLES,
+                        .draw_mode = MALI_DRAW_MODE_TRIANGLES,
                         .unknown_draw = 0x3000,
                         .index_count = MALI_POSITIVE(vertex_count)
                 },
@@ -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
                 }
         };
@@ -366,5 +361,5 @@ panfrost_load_midg(
         panfrost_pack_work_groups_compute(&payload.prefix, 1, vertex_count, 1, 1, 1, 1, true);
         payload.prefix.workgroups_x_shift_3 = 6;
 
-        panfrost_new_job(pool, scoreboard, JOB_TYPE_TILER, false, 0, &payload, sizeof(payload), true);
+        panfrost_new_job(pool, scoreboard, MALI_JOB_TYPE_TILER, false, 0, &payload, sizeof(payload), true);
 }