[Mesa-dev] [PATCH 2/7] radv: gather the output usage mask for clip/cull distances correctly
Samuel Pitoiset
samuel.pitoiset at gmail.com
Thu Aug 30 09:01:13 UTC 2018
It's a special case because both are combined into a single array.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
---
src/amd/vulkan/radv_shader_info.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/amd/vulkan/radv_shader_info.c b/src/amd/vulkan/radv_shader_info.c
index 5925fd924c..6262acb1a6 100644
--- a/src/amd/vulkan/radv_shader_info.c
+++ b/src/amd/vulkan/radv_shader_info.c
@@ -128,6 +128,14 @@ set_output_usage_mask(const nir_shader *nir, const nir_intrinsic_instr *instr,
get_deref_offset(deref_instr, &const_offset);
+ if (idx == VARYING_SLOT_CLIP_DIST0) {
+ /* Special case for clip/cull distances because there are
+ * combined into a single array that contains both.
+ */
+ output_usage_mask[idx] |= 1 << const_offset;
+ return;
+ }
+
for (unsigned i = 0; i < attrib_count; i++) {
output_usage_mask[idx + i + const_offset] |=
instr->const_index[0] << comp;
--
2.18.0
More information about the mesa-dev
mailing list