Mesa (master): gallivm/tgsi/swr: add mask vec to the tcs store
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Feb 28 08:53:32 UTC 2020
Module: Mesa
Branch: master
Commit: 70a7603b6396fed615adc9ba06c1f0f09b5ac9ac
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=70a7603b6396fed615adc9ba06c1f0f09b5ac9ac
Author: Dave Airlie <airlied at redhat.com>
Date: Mon Feb 17 16:47:51 2020 +1000
gallivm/tgsi/swr: add mask vec to the tcs store
For the nir paths we want to access the mask vector to only
store when the mask allows it.
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3841>
---
src/gallium/auxiliary/gallivm/lp_bld_tgsi.h | 3 ++-
src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c | 2 +-
src/gallium/drivers/swr/swr_shader.cpp | 3 ++-
3 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi.h b/src/gallium/auxiliary/gallivm/lp_bld_tgsi.h
index 380579c3f70..6af8b0bea55 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi.h
+++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi.h
@@ -441,7 +441,8 @@ struct lp_build_tcs_iface
boolean is_aindex_indirect,
LLVMValueRef attrib_index,
LLVMValueRef swizzle_index,
- LLVMValueRef value);
+ LLVMValueRef value,
+ LLVMValueRef mask_vec);
LLVMValueRef (*emit_fetch_input)(const struct lp_build_tcs_iface *tcs_iface,
struct lp_build_context * bld,
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
index 5895fa90451..2586830bb46 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
@@ -1764,7 +1764,7 @@ emit_store_tcs_output(struct lp_build_tgsi_context *bld_base,
reg->Register.Indirect,
attrib_index,
channel_index,
- value);
+ value, NULL);
}
static void
diff --git a/src/gallium/drivers/swr/swr_shader.cpp b/src/gallium/drivers/swr/swr_shader.cpp
index c4d0bb2fc52..94321570369 100644
--- a/src/gallium/drivers/swr/swr_shader.cpp
+++ b/src/gallium/drivers/swr/swr_shader.cpp
@@ -601,7 +601,8 @@ void swr_tcs_llvm_store_output(const struct lp_build_tcs_iface *tcs_iface,
boolean is_aindex_indirect,
LLVMValueRef attrib_index,
LLVMValueRef swizzle_index,
- LLVMValueRef value)
+ LLVMValueRef value,
+ LLVMValueRef mask_vec)
{
swr_tcs_llvm_iface *iface = (swr_tcs_llvm_iface*)tcs_iface;
struct lp_build_tgsi_context *bld_base = (struct lp_build_tgsi_context*)bld;
More information about the mesa-commit
mailing list