case nir_intrinsic_is_helper_invocation:
result = ac_build_load_helper_invocation(&ctx->ac);
break;
- case nir_intrinsic_load_user_data_amd:
- assert(LLVMTypeOf(ctx->abi->user_data) == ctx->ac.v4i32);
- result = ctx->abi->user_data;
- break;
case nir_intrinsic_load_instance_id:
result = ctx->abi->instance_id_replaced ?
ctx->abi->instance_id_replaced : ctx->abi->instance_id;
LLVMValueRef vertex_id;
LLVMValueRef vs_rel_patch_id;
LLVMValueRef instance_id;
- LLVMValueRef user_data;
/* replaced registers when culling enabled */
LLVMValueRef vertex_id_replaced;
s->gsvs_ring[stream_id] : nir_ssa_undef(b, 4, 32);
break;
}
+ case nir_intrinsic_load_user_data_amd:
+ replacement = ac_nir_load_arg(b, &args->ac, args->cs_user_data);
+ replacement = nir_pad_vec4(b, replacement);
+ break;
default:
return false;
}
}
case MESA_SHADER_COMPUTE:
- if (nir->info.cs.user_data_components_amd) {
- ctx->abi.user_data = ac_get_arg(&ctx->ac, ctx->args->cs_user_data);
- ctx->abi.user_data = ac_build_expand_to_vec4(&ctx->ac, ctx->abi.user_data,
- nir->info.cs.user_data_components_amd);
- }
-
if (ctx->shader->selector->info.base.shared_size)
si_llvm_declare_compute_memory(ctx);
break;