From 6d2ecdb4a63350cfeee803c00ac283ee013a5ee5 Mon Sep 17 00:00:00 2001 From: Roland Scheidegger Date: Sat, 9 Aug 2014 03:51:23 +0200 Subject: draw: don't use clipvertex output if user plane clipping is disabled The non-llvm path made sure that both clip and pre_clip_pos point to the data output by position, not clipvertex, if user based clipping is disabled. However, the llvm path did not, which apparently led to failures if gl_ClipVertex was written but user plane clipping not enabled (bug 80183). Why I have no idea really, but just make it match the non-llvm behavior... Reviewed-by: Brian Paul --- src/gallium/auxiliary/draw/draw_llvm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/gallium') diff --git a/src/gallium/auxiliary/draw/draw_llvm.c b/src/gallium/auxiliary/draw/draw_llvm.c index d29adfbea3e..967eb7e0173 100644 --- a/src/gallium/auxiliary/draw/draw_llvm.c +++ b/src/gallium/auxiliary/draw/draw_llvm.c @@ -1732,8 +1732,8 @@ draw_llvm_generate(struct draw_llvm *llvm, struct draw_llvm_variant *variant, if (pos != -1 && cv != -1) { /* store original positions in clip before further manipulation */ - store_clip(gallivm, vs_type, io, outputs, 0, cv); - store_clip(gallivm, vs_type, io, outputs, 1, pos); + store_clip(gallivm, vs_type, io, outputs, FALSE, key->clip_user ? cv : pos); + store_clip(gallivm, vs_type, io, outputs, TRUE, pos); /* do cliptest */ if (enable_cliptest) { -- cgit v1.2.3