ac/llvm: implement nir_intrinsic_bindless_image_sparse_load
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Timur Kristóf <timur.kristof@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12773>
This commit is contained in:
@@ -2576,7 +2576,8 @@ static LLVMValueRef visit_image_load(struct ac_nir_context *ctx, const nir_intri
|
||||
struct ac_image_args args = {0};
|
||||
|
||||
args.cache_policy = get_cache_policy(ctx, access, false, false);
|
||||
args.tfe = instr->intrinsic == nir_intrinsic_image_deref_sparse_load;
|
||||
args.tfe = instr->intrinsic == nir_intrinsic_image_deref_sparse_load ||
|
||||
instr->intrinsic == nir_intrinsic_bindless_image_sparse_load;
|
||||
|
||||
if (dim == GLSL_SAMPLER_DIM_BUF) {
|
||||
unsigned num_channels = util_last_bit(nir_ssa_def_components_read(&instr->dest.ssa));
|
||||
@@ -3822,6 +3823,7 @@ static void visit_intrinsic(struct ac_nir_context *ctx, nir_intrinsic_instr *ins
|
||||
result = visit_image_samples(ctx, instr);
|
||||
break;
|
||||
case nir_intrinsic_bindless_image_load:
|
||||
case nir_intrinsic_bindless_image_sparse_load:
|
||||
result = visit_image_load(ctx, instr, true);
|
||||
break;
|
||||
case nir_intrinsic_image_deref_load:
|
||||
|
||||
Reference in New Issue
Block a user