Lines Matching defs:nir_shader

83 struct nir_shader;
2364 struct nir_shader *shader;
2564 typedef struct nir_shader {
2611 } nir_shader;
2617 nir_shader_get_entrypoint(nir_shader *shader)
2639 nir_shader *nir_shader_create(void *mem_ctx,
2648 /** Adds a variable to the appropriate list in nir_shader */
2649 void nir_shader_add_variable(nir_shader *shader, nir_variable *var);
2659 nir_variable *nir_variable_create(nir_shader *shader,
2669 nir_function *nir_function_create(nir_shader *shader, const char *name);
2673 nir_function_impl *nir_function_impl_create_bare(nir_shader *shader);
2675 nir_block *nir_block_create(nir_shader *shader);
2676 nir_if *nir_if_create(nir_shader *shader);
2677 nir_loop *nir_loop_create(nir_shader *shader);
2687 nir_alu_instr *nir_alu_instr_create(nir_shader *shader, nir_op op);
2689 nir_deref_instr *nir_deref_instr_create(nir_shader *shader,
2692 nir_jump_instr *nir_jump_instr_create(nir_shader *shader, nir_jump_type type);
2694 nir_load_const_instr *nir_load_const_instr_create(nir_shader *shader,
2698 nir_intrinsic_instr *nir_intrinsic_instr_create(nir_shader *shader,
2701 nir_call_instr *nir_call_instr_create(nir_shader *shader,
2704 nir_tex_instr *nir_tex_instr_create(nir_shader *shader, unsigned num_srcs);
2706 nir_phi_instr *nir_phi_instr_create(nir_shader *shader);
2708 nir_parallel_copy_instr *nir_parallel_copy_instr_create(nir_shader *shader);
2710 nir_ssa_undef_instr *nir_ssa_undef_instr_create(nir_shader *shader,
3075 void nir_print_shader(nir_shader *shader, FILE *fp);
3076 void nir_print_shader_annotated(nir_shader *shader, FILE *fp, struct hash_table *errors);
3080 nir_shader *nir_shader_clone(void *mem_ctx, const nir_shader *s);
3081 nir_function_impl *nir_function_impl_clone(nir_shader *shader,
3084 nir_variable *nir_variable_clone(const nir_variable *c, nir_shader *shader);
3086 nir_shader *nir_shader_serialize_deserialize(void *mem_ctx, nir_shader *s);
3089 void nir_validate_shader(nir_shader *shader, const char *when);
3090 void nir_metadata_set_validation_flag(nir_shader *shader);
3091 void nir_metadata_check_validation_flag(nir_shader *shader);
3140 static inline void nir_validate_shader(nir_shader *shader, const char *when) { (void) shader; (void)when; }
3141 static inline void nir_metadata_set_validation_flag(nir_shader *shader) { (void) shader; }
3142 static inline void nir_metadata_check_validation_flag(nir_shader *shader) { (void) shader; }
3157 nir_shader *clone = nir_shader_clone(ralloc_parent(nir), nir); \
3190 void nir_calc_dominance(nir_shader *shader);
3197 void nir_dump_dom_tree(nir_shader *shader, FILE *fp);
3200 void nir_dump_dom_frontier(nir_shader *shader, FILE *fp);
3203 void nir_dump_cfg(nir_shader *shader, FILE *fp);
3205 int nir_gs_count_vertices(const nir_shader *shader);
3207 bool nir_shrink_vec_array_vars(nir_shader *shader, nir_variable_mode modes);
3208 bool nir_split_array_vars(nir_shader *shader, nir_variable_mode modes);
3209 bool nir_split_var_copies(nir_shader *shader);
3210 bool nir_split_per_member_structs(nir_shader *shader);
3211 bool nir_split_struct_vars(nir_shader *shader, nir_variable_mode modes);
3214 bool nir_lower_returns(nir_shader *shader);
3219 bool nir_inline_functions(nir_shader *shader);
3221 bool nir_propagate_invariant(nir_shader *shader);
3223 void nir_lower_var_copy_instr(nir_intrinsic_instr *copy, nir_shader *shader);
3226 bool nir_lower_var_copies(nir_shader *shader);
3228 void nir_fixup_deref_modes(nir_shader *shader);
3230 bool nir_lower_global_vars_to_local(nir_shader *shader);
3239 bool nir_lower_array_deref_of_vec(nir_shader *shader, nir_variable_mode modes,
3242 bool nir_lower_indirect_derefs(nir_shader *shader, nir_variable_mode modes);
3244 bool nir_lower_locals_to_regs(nir_shader *shader);
3246 void nir_lower_io_to_temporaries(nir_shader *shader,
3250 bool nir_lower_vars_to_scratch(nir_shader *shader,
3255 void nir_shader_gather_info(nir_shader *shader, nir_function_impl *entrypoint);
3265 bool nir_remove_unused_varyings(nir_shader *producer, nir_shader *consumer);
3266 bool nir_remove_unused_io_vars(nir_shader *shader, struct exec_list *var_list,
3269 void nir_compact_varyings(nir_shader *producer, nir_shader *consumer,
3271 void nir_link_xfb_varyings(nir_shader *producer, nir_shader *consumer);
3272 bool nir_link_opt_varyings(nir_shader *producer, nir_shader *consumer);
3281 bool nir_lower_io(nir_shader *shader,
3356 bool nir_lower_explicit_io(nir_shader *shader,
3366 bool nir_lower_regs_to_ssa(nir_shader *shader);
3367 bool nir_lower_vars_to_ssa(nir_shader *shader);
3369 bool nir_remove_dead_derefs(nir_shader *shader);
3371 bool nir_remove_dead_variables(nir_shader *shader, nir_variable_mode modes);
3372 bool nir_lower_constant_initializers(nir_shader *shader,
3375 bool nir_move_load_const(nir_shader *shader);
3376 bool nir_move_vec_src_uses_to_dest(nir_shader *shader);
3377 bool nir_lower_vec_to_movs(nir_shader *shader);
3378 void nir_lower_alpha_test(nir_shader *shader, enum compare_func func,
3380 bool nir_lower_alu(nir_shader *shader);
3381 bool nir_lower_alu_to_scalar(nir_shader *shader);
3382 bool nir_lower_bool_to_float(nir_shader *shader);
3383 bool nir_lower_bool_to_int32(nir_shader *shader);
3384 bool nir_lower_load_const_to_scalar(nir_shader *shader);
3385 bool nir_lower_read_invocation_to_scalar(nir_shader *shader);
3386 bool nir_lower_phis_to_scalar(nir_shader *shader);
3387 void nir_lower_io_arrays_to_elements(nir_shader *producer, nir_shader *consumer);
3388 void nir_lower_io_arrays_to_elements_no_indirects(nir_shader *shader,
3390 void nir_lower_io_to_scalar(nir_shader *shader, nir_variable_mode mask);
3391 void nir_lower_io_to_scalar_early(nir_shader *shader, nir_variable_mode mask);
3392 bool nir_lower_io_to_vector(nir_shader *shader, nir_variable_mode mask);
3394 void nir_lower_fragcoord_wtrans(nir_shader *shader);
3395 void nir_lower_viewport_transform(nir_shader *shader);
3396 bool nir_lower_uniforms_to_ubo(nir_shader *shader, int multiplier);
3410 bool nir_lower_subgroups(nir_shader *shader,
3413 bool nir_lower_system_values(nir_shader *shader);
3573 bool nir_lower_tex(nir_shader *shader,
3583 bool nir_lower_non_uniform_access(nir_shader *shader,
3586 bool nir_lower_idiv(nir_shader *shader);
3588 bool nir_lower_clip_vs(nir_shader *shader, unsigned ucp_enables, bool use_vars);
3589 bool nir_lower_clip_fs(nir_shader *shader, unsigned ucp_enables);
3590 bool nir_lower_clip_cull_distance_arrays(nir_shader *nir);
3592 bool nir_lower_frexp(nir_shader *nir);
3594 void nir_lower_two_sided_color(nir_shader *shader);
3596 bool nir_lower_clamp_color_outputs(nir_shader *shader);
3598 void nir_lower_passthrough_edgeflags(nir_shader *shader);
3599 bool nir_lower_patch_vertices(nir_shader *nir, unsigned static_count,
3610 bool nir_lower_wpos_ytransform(nir_shader *shader,
3612 bool nir_lower_wpos_center(nir_shader *shader, const bool for_sample_shading);
3614 bool nir_lower_fb_read(nir_shader *shader);
3626 void nir_lower_drawpixels(nir_shader *shader,
3634 void nir_lower_bitmap(nir_shader *shader, const nir_lower_bitmap_options *options);
3636 bool nir_lower_atomics_to_ssbo(nir_shader *shader, unsigned ssbo_offset);
3646 bool nir_lower_to_source_mods(nir_shader *shader, nir_lower_to_source_mods_flags options);
3648 bool nir_lower_gs_intrinsics(nir_shader *shader);
3652 bool nir_lower_bit_size(nir_shader *shader,
3657 bool nir_lower_int64(nir_shader *shader, nir_lower_int64_options options);
3660 bool nir_lower_doubles(nir_shader *shader, const nir_shader *softfp64,
3662 bool nir_lower_pack(nir_shader *shader);
3664 bool nir_normalize_cubemap_coords(nir_shader *shader);
3674 bool nir_repair_ssa(nir_shader *shader);
3682 bool nir_convert_from_ssa(nir_shader *shader, bool phi_webs_only);
3691 bool nir_opt_comparison_pre(nir_shader *shader);
3693 bool nir_opt_algebraic(nir_shader *shader);
3694 bool nir_opt_algebraic_before_ffma(nir_shader *shader);
3695 bool nir_opt_algebraic_late(nir_shader *shader);
3696 bool nir_opt_constant_folding(nir_shader *shader);
3698 bool nir_opt_combine_stores(nir_shader *shader, nir_variable_mode modes);
3700 bool nir_copy_prop(nir_shader *shader);
3702 bool nir_opt_copy_prop_vars(nir_shader *shader);
3704 bool nir_opt_cse(nir_shader *shader);
3706 bool nir_opt_dce(nir_shader *shader);
3708 bool nir_opt_dead_cf(nir_shader *shader);
3710 bool nir_opt_dead_write_vars(nir_shader *shader);
3713 bool nir_opt_deref(nir_shader *shader);
3715 bool nir_opt_find_array_copies(nir_shader *shader);
3717 bool nir_opt_gcm(nir_shader *shader, bool value_number);
3719 bool nir_opt_idiv_const(nir_shader *shader, unsigned min_bit_size);
3721 bool nir_opt_if(nir_shader *shader, bool aggressive_last_continue);
3723 bool nir_opt_intrinsics(nir_shader *shader);
3725 bool nir_opt_large_constants(nir_shader *shader,
3729 bool nir_opt_loop_unroll(nir_shader *shader, nir_variable_mode indirect_mask);
3731 bool nir_opt_move_comparisons(nir_shader *shader);
3733 bool nir_opt_move_load_ubo(nir_shader *shader);
3735 bool nir_opt_peephole_select(nir_shader *shader, unsigned limit,
3738 bool nir_opt_remove_phis(nir_shader *shader);
3741 bool nir_opt_shrink_load(nir_shader *shader);
3743 bool nir_opt_trivial_continues(nir_shader *shader);
3745 bool nir_opt_undef(nir_shader *shader);
3747 bool nir_opt_conditional_discard(nir_shader *shader);
3749 void nir_strip(nir_shader *shader);
3751 void nir_sweep(nir_shader *shader);
3753 void nir_remap_dual_slot_attributes(nir_shader *shader,