draw/cull: run pipeline for culled points.
authorDave Airlie <airlied@redhat.com>
Thu, 9 Apr 2020 23:19:10 +0000 (09:19 +1000)
committerDave Airlie <airlied@redhat.com>
Wed, 15 Apr 2020 04:26:24 +0000 (14:26 +1000)
This just appears to be missing:
Fixes:
KHR-GL45.cull_distance.functional

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4560>

src/gallium/auxiliary/draw/draw_pipe_validate.c

index 846cd4db39e87e6eb4e3f5fdc93f033fc85688ca..a013c2ef6404836b6d7e3875409a992a3b06cf3f 100644 (file)
@@ -100,6 +100,9 @@ draw_need_pipeline(const struct draw_context *draw,
       /* point sprites */
       if (rasterizer->sprite_coord_enable && draw->pipeline.point_sprite)
          return TRUE;
+
+      if (draw_current_shader_num_written_culldistances(draw))
+         return TRUE;
    }
    else if (reduced_prim == PIPE_PRIM_TRIANGLES) {
       /* polygon stipple */