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>
This commit is contained in:
Dave Airlie
2023-06-30 13:16:17 +10:00
committed by Marge Bot
parent 7e42fdac6b
commit 384c8677f5
@@ -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);