gallivm: add support for load_view_index intrinsic

This just adds the system value

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9399>
This commit is contained in:
Dave Airlie
2021-03-04 13:54:24 +10:00
committed by Marge Bot
parent 974f2e6c6a
commit 9f0fd85474
3 changed files with 5 additions and 0 deletions
@@ -1679,6 +1679,7 @@ static void visit_intrinsic(struct lp_build_nir_context *bld_base,
case nir_intrinsic_load_sample_id:
case nir_intrinsic_load_sample_pos:
case nir_intrinsic_load_sample_mask_in:
case nir_intrinsic_load_view_index:
bld_base->sysval_intrin(bld_base, instr, result);
break;
case nir_intrinsic_load_helper_invocation:
@@ -1560,6 +1560,9 @@ static void emit_sysval_intrin(struct lp_build_nir_context *bld_base,
case nir_intrinsic_load_sample_mask_in:
result[0] = bld->system_values.sample_mask_in;
break;
case nir_intrinsic_load_view_index:
result[0] = lp_build_broadcast_scalar(&bld_base->uint_bld, bld->system_values.view_index);
break;
}
}
@@ -187,6 +187,7 @@ struct lp_bld_tgsi_system_values {
LLVMValueRef sample_id;
LLVMValueRef sample_pos;
LLVMValueRef sample_mask_in;
LLVMValueRef view_index;
};