ac: replace SI.vs.load.input with amdgcn.buffer.load.format
Reviewed-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
94811dc66c
commit
8bde7fb3fc
|
@ -736,6 +736,26 @@ LLVMValueRef ac_build_buffer_load_format(struct ac_llvm_context *ctx,
|
||||||
LLVMValueRef voffset,
|
LLVMValueRef voffset,
|
||||||
bool readonly_memory)
|
bool readonly_memory)
|
||||||
{
|
{
|
||||||
|
if (HAVE_LLVM >= 0x0309) {
|
||||||
|
LLVMValueRef args [] = {
|
||||||
|
LLVMBuildBitCast(ctx->builder, rsrc, ctx->v4i32, ""),
|
||||||
|
vindex,
|
||||||
|
voffset,
|
||||||
|
LLVMConstInt(ctx->i1, 0, 0), /* glc */
|
||||||
|
LLVMConstInt(ctx->i1, 0, 0), /* slc */
|
||||||
|
};
|
||||||
|
|
||||||
|
return ac_emit_llvm_intrinsic(ctx,
|
||||||
|
"llvm.amdgcn.buffer.load.format.v4f32",
|
||||||
|
ctx->v4f32, args, ARRAY_SIZE(args),
|
||||||
|
/* READNONE means writes can't
|
||||||
|
* affect it, while READONLY means
|
||||||
|
* that writes can affect it. */
|
||||||
|
readonly_memory ?
|
||||||
|
AC_FUNC_ATTR_READNONE :
|
||||||
|
AC_FUNC_ATTR_READONLY);
|
||||||
|
}
|
||||||
|
|
||||||
LLVMValueRef args[] = {
|
LLVMValueRef args[] = {
|
||||||
rsrc,
|
rsrc,
|
||||||
voffset,
|
voffset,
|
||||||
|
|
Loading…
Reference in New Issue