+ const nir_schedule_options *options = state->scoreboard->options;
+ nir_schedule_dependency dep;
+
+ if (options->intrinsic_cb &&
+ options->intrinsic_cb(instr, &dep, options->intrinsic_cb_data)) {
+ struct nir_schedule_class_dep *class_dep =
+ nir_schedule_get_class_dep(state, dep.klass);
+
+ switch (dep.type) {
+ case NIR_SCHEDULE_READ_DEPENDENCY:
+ add_read_dep(state, class_dep->node, n);
+ break;
+ case NIR_SCHEDULE_WRITE_DEPENDENCY:
+ add_write_dep(state, &class_dep->node, n);
+ break;
+ }
+ }