mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-01 22:40:09 +01:00
ac/nir: implement nir_intrinsic_shader_clock with device scope
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5117>
This commit is contained in:
parent
b034f6cf2a
commit
14292310d9
3 changed files with 7 additions and 4 deletions
|
|
@ -457,9 +457,10 @@ ac_build_optimization_barrier(struct ac_llvm_context *ctx,
|
|||
}
|
||||
|
||||
LLVMValueRef
|
||||
ac_build_shader_clock(struct ac_llvm_context *ctx)
|
||||
ac_build_shader_clock(struct ac_llvm_context *ctx, nir_scope scope)
|
||||
{
|
||||
LLVMValueRef tmp = ac_build_intrinsic(ctx, "llvm.amdgcn.s.memtime", ctx->i64, NULL, 0, 0);
|
||||
const char *name = scope == NIR_SCOPE_DEVICE ? "llvm.amdgcn.s.memrealtime" : "llvm.amdgcn.s.memtime";
|
||||
LLVMValueRef tmp = ac_build_intrinsic(ctx, name, ctx->i64, NULL, 0, 0);
|
||||
return LLVMBuildBitCast(ctx->builder, tmp, ctx->v2i32, "");
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -181,7 +181,8 @@ void ac_build_s_barrier(struct ac_llvm_context *ctx);
|
|||
void ac_build_optimization_barrier(struct ac_llvm_context *ctx,
|
||||
LLVMValueRef *pvgpr);
|
||||
|
||||
LLVMValueRef ac_build_shader_clock(struct ac_llvm_context *ctx);
|
||||
LLVMValueRef ac_build_shader_clock(struct ac_llvm_context *ctx,
|
||||
nir_scope scope);
|
||||
|
||||
LLVMValueRef ac_build_ballot(struct ac_llvm_context *ctx, LLVMValueRef value);
|
||||
LLVMValueRef ac_get_i1_sgpr_mask(struct ac_llvm_context *ctx,
|
||||
|
|
|
|||
|
|
@ -3864,7 +3864,8 @@ static void visit_intrinsic(struct ac_nir_context *ctx,
|
|||
result = visit_image_size(ctx, instr, false);
|
||||
break;
|
||||
case nir_intrinsic_shader_clock:
|
||||
result = ac_build_shader_clock(&ctx->ac);
|
||||
result = ac_build_shader_clock(&ctx->ac,
|
||||
nir_intrinsic_memory_scope(instr));
|
||||
break;
|
||||
case nir_intrinsic_discard:
|
||||
case nir_intrinsic_discard_if:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue