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