summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2023-06-30 13:16:17 +1000
committerEric Engestrom <eric@engestrom.ch>2023-07-15 22:52:37 +0100
commit5398b13476cdaf3580727531ba258f93ba8a9f47 (patch)
treed0fa7625ee25ab4c584c5fad8af1508ce8cab513 /src
parent981aeaba4916f8d5afd167dd1a651e5054781b01 (diff)
downloadmesa-5398b13476cdaf3580727531ba258f93ba8a9f47.tar.gz
mesa-5398b13476cdaf3580727531ba258f93ba8a9f47.tar.bz2
mesa-5398b13476cdaf3580727531ba258f93ba8a9f47.zip
draw/gs: handle extra shader outputs in geometry.
When geometry shader is used with unfilled lines and front face, we don't handle the extra shader output. Instead of taking the output from the gs, ask draw for the total which should give the correct answer. Fixes a test program attached to: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8644 Reviewed-by: Brian Paul <brianp@vmware.com> Cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23943> (cherry picked from commit 384c8677f590df290c442b378b077fe8e8c365b9)
Diffstat (limited to 'src')
-rw-r--r--src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c2
1 files changed, 1 insertions, 1 deletions
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 7cbb2e22db9..dff17a41ac0 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
@@ -120,7 +120,7 @@ llvm_middle_end_prepare_gs(struct llvm_middle_end *fpme)
}
}
- variant = draw_gs_llvm_create_variant(llvm, gs->info.num_outputs, key);
+ variant = draw_gs_llvm_create_variant(llvm, draw_total_gs_outputs(draw), key);
if (variant) {
list_add(&variant->list_item_local.list, &shader->variants.list);