Mesa (master): draw: don' t use clipvertex output if user plane clipping is disabled

Roland Scheidegger sroland at kemper.freedesktop.org
Sat Aug 9 01:53:18 UTC 2014


Module: Mesa
Branch: master
Commit: 6d2ecdb4a63350cfeee803c00ac283ee013a5ee5
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6d2ecdb4a63350cfeee803c00ac283ee013a5ee5

Author: Roland Scheidegger <sroland at vmware.com>
Date:   Sat Aug  9 03:51:23 2014 +0200

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 <brianp at vmware.com>

---

 src/gallium/auxiliary/draw/draw_llvm.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/auxiliary/draw/draw_llvm.c b/src/gallium/auxiliary/draw/draw_llvm.c
index d29adfb..967eb7e 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) {




More information about the mesa-commit mailing list