panfrost: Fix clipping region
authorAlyssa Rosenzweig <alyssa@rosenzweig.io>
Sat, 16 Feb 2019 01:04:07 +0000 (01:04 +0000)
committerAlyssa Rosenzweig <alyssa@rosenzweig.io>
Mon, 18 Feb 2019 05:13:50 +0000 (05:13 +0000)
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
src/gallium/drivers/panfrost/pan_context.c

index cfed9f6ff90faab7bb1f98d43b69da476af8c487..822b5a0dfefffb22f3e19485c7c96f0b81c3391d 100644 (file)
@@ -557,10 +557,17 @@ panfrost_viewport(struct panfrost_context *ctx,
          * (somewhat) asymmetric ints. */
 
         struct mali_viewport ret = {
-                .clip_minx = viewport_x0,
-                .clip_miny = viewport_y0,
-                .clip_maxx = viewport_x1,
-                .clip_maxy = viewport_x1,
+                /* By default, do no viewport clipping, i.e. clip to (-inf,
+                 * inf) in each direction. Clipping to the viewport in theory
+                 * should work, but in practice causes issues when we're not
+                 * explicitly trying to scissor */
+
+                .clip_minx = -inff,
+                .clip_miny = -inff,
+                .clip_maxx = inff,
+                .clip_maxy = inff,
+
+                /* We always perform depth clipping (TODO: Can this be disabled?) */
 
                 .clip_minz = depth_clip_near,
                 .clip_maxz = depth_clip_far,