aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary
diff options
context:
space:
mode:
authorJan Zielinski <[email protected]>2020-02-27 17:22:05 +0100
committerMarge Bot <[email protected]>2020-03-03 17:50:25 +0000
commit18675363a35e98e6afa39c77b983ca6f383bfc00 (patch)
tree658dfe34c08c9069375806aa9340c19c4c35953f /src/gallium/auxiliary
parent0ab5c88a0ac0dacac085c17bef23c9c67eaf9e86 (diff)
gallium/swr: fix corruptions in Unigine Heaven
Few changes to fix the last corruptions in Heaven: - fix indirect TCS input when vertex/attribute index is not the same for each patch - use the correct functions to build loops in shader - fix using vmask for writting TCS output Reviewed-by: Krzysztof Raszkowski <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3980> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3980>
Diffstat (limited to 'src/gallium/auxiliary')
-rw-r--r--src/gallium/auxiliary/gallivm/lp_bld_ir_common.h8
-rw-r--r--src/gallium/auxiliary/gallivm/lp_bld_logic.h7
-rw-r--r--src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c3
3 files changed, 17 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_ir_common.h b/src/gallium/auxiliary/gallivm/lp_bld_ir_common.h
index 34c09193936..ebcf9a21b26 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_ir_common.h
+++ b/src/gallium/auxiliary/gallivm/lp_bld_ir_common.h
@@ -29,6 +29,10 @@
#ifndef LP_BLD_IR_COMMON_H
#define LP_BLD_IR_COMMON_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include "gallivm/lp_bld.h"
#include "gallivm/lp_bld_limits.h"
@@ -117,4 +121,8 @@ void lp_exec_continue(struct lp_exec_mask *mask);
void lp_exec_break(struct lp_exec_mask *mask, int *pc, bool break_always);
+#ifdef __cplusplus
+}
+#endif
+
#endif
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_logic.h b/src/gallium/auxiliary/gallivm/lp_bld_logic.h
index 00fb0268dd6..b8bbfb2bf13 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_logic.h
+++ b/src/gallium/auxiliary/gallivm/lp_bld_logic.h
@@ -36,6 +36,9 @@
#ifndef LP_BLD_LOGIC_H
#define LP_BLD_LOGIC_H
+#ifdef __cplusplus
+extern "C" {
+#endif
#include "gallivm/lp_bld.h"
@@ -94,4 +97,8 @@ lp_build_any_true_range(struct lp_build_context *bld,
unsigned real_length,
LLVMValueRef val);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* !LP_BLD_LOGIC_H */
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
index 2586830bb46..0ab1aa1fe02 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
@@ -1764,7 +1764,8 @@ emit_store_tcs_output(struct lp_build_tgsi_context *bld_base,
reg->Register.Indirect,
attrib_index,
channel_index,
- value, NULL);
+ value,
+ mask_vec(bld_base));
}
static void