Mesa (staging/22.0): draw/so: don't use pre clip pos if we have a tes either.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Feb 25 21:11:14 UTC 2022


Module: Mesa
Branch: staging/22.0
Commit: 23032ee9dbb659e63ae6a3d4145f41c21c1159a8
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=23032ee9dbb659e63ae6a3d4145f41c21c1159a8

Author: Dave Airlie <airlied at redhat.com>
Date:   Wed Feb 23 11:35:52 2022 +1000

draw/so: don't use pre clip pos if we have a tes either.

This check for geom shader needed to be expanded for tess support.

dEQP-VK.transform_feedback.simple.depth_clip_control_tese with lvp

Fixes: dacf8f5f5c82 ("draw: hook up final bits of tessellation")

Acked-by: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15128>
(cherry picked from commit b77ef4dd60d1d8fad0cb4d50740f1b8afc9e02f9)

---

 .pick_status.json                                              | 2 +-
 src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/.pick_status.json b/.pick_status.json
index 29b9da7b623..7d43eeac737 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -616,7 +616,7 @@
         "description": "draw/so: don't use pre clip pos if we have a tes either.",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": "dacf8f5f5c82c18e841050af37db54ca21c026ee"
     },
diff --git a/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c b/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c
index ee804003c63..8abed870340 100644
--- a/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c
+++ b/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c
@@ -316,7 +316,7 @@ llvm_middle_end_prepare( struct draw_pt_middle_end *middle,
                             draw->rasterizer->clip_halfz,
                             (draw->vs.edgeflag_output ? TRUE : FALSE) );
 
-   draw_pt_so_emit_prepare( fpme->so_emit, gs == NULL );
+   draw_pt_so_emit_prepare( fpme->so_emit, (gs == NULL && tes == NULL));
 
    if (!(opt & PT_PIPELINE)) {
       draw_pt_emit_prepare( fpme->emit, out_prim,



More information about the mesa-commit mailing list