summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/draw
diff options
context:
space:
mode:
authorRoland Scheidegger <[email protected]>2014-08-09 03:51:23 +0200
committerRoland Scheidegger <[email protected]>2014-08-09 03:52:58 +0200
commit6d2ecdb4a63350cfeee803c00ac283ee013a5ee5 (patch)
treeda2d1ef2cb9941ab62162c8bc912ddefd6e66135 /src/gallium/auxiliary/draw
parent0f4c5a70c6e759e3a7bddd7f1c2d2b8d219552a4 (diff)
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 <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary/draw')
-rw-r--r--src/gallium/auxiliary/draw/draw_llvm.c4
1 files changed, 2 insertions, 2 deletions
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) {