xref: /aosp_15_r20/external/mesa3d/src/intel/compiler/intel_nir.c (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1*61046927SAndroid Build Coastguard Worker /*
2*61046927SAndroid Build Coastguard Worker  * Copyright (c) 2014-2023 Intel Corporation
3*61046927SAndroid Build Coastguard Worker  * SPDX-License-Identifier: MIT
4*61046927SAndroid Build Coastguard Worker  */
5*61046927SAndroid Build Coastguard Worker 
6*61046927SAndroid Build Coastguard Worker #include "intel_nir.h"
7*61046927SAndroid Build Coastguard Worker 
8*61046927SAndroid Build Coastguard Worker bool
intel_nir_pulls_at_sample(nir_shader * shader)9*61046927SAndroid Build Coastguard Worker intel_nir_pulls_at_sample(nir_shader *shader)
10*61046927SAndroid Build Coastguard Worker {
11*61046927SAndroid Build Coastguard Worker    nir_foreach_function_impl(impl, shader) {
12*61046927SAndroid Build Coastguard Worker       nir_foreach_block(block, impl) {
13*61046927SAndroid Build Coastguard Worker          nir_foreach_instr(instr, block) {
14*61046927SAndroid Build Coastguard Worker             if (instr->type != nir_instr_type_intrinsic)
15*61046927SAndroid Build Coastguard Worker                continue;
16*61046927SAndroid Build Coastguard Worker 
17*61046927SAndroid Build Coastguard Worker             nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(instr);
18*61046927SAndroid Build Coastguard Worker 
19*61046927SAndroid Build Coastguard Worker             if (intrin->intrinsic == nir_intrinsic_load_barycentric_at_sample)
20*61046927SAndroid Build Coastguard Worker                return true;
21*61046927SAndroid Build Coastguard Worker          }
22*61046927SAndroid Build Coastguard Worker       }
23*61046927SAndroid Build Coastguard Worker    }
24*61046927SAndroid Build Coastguard Worker 
25*61046927SAndroid Build Coastguard Worker    return false;
26*61046927SAndroid Build Coastguard Worker }
27*61046927SAndroid Build Coastguard Worker 
28*61046927SAndroid Build Coastguard Worker 
29