Lines Matching defs:v3d_compile
612 struct v3d_compile { struct
617 const struct v3d_compiler *compiler; argument
619 void (*debug_output)(const char *msg,
621 void *debug_output_data;
627 struct hash_table *def_ht;
630 struct qinst **defs;
631 uint32_t defs_array_size;
634 struct {
648 } tmu;
655 struct qreg *inputs;
659 struct v3d_interp_input *interp;
660 struct qreg *outputs;
661 bool msaa_per_sample_output;
662 struct qreg color_reads[V3D_MAX_DRAW_BUFFERS * V3D_MAX_SAMPLES * 4];
663 struct qreg sample_colors[V3D_MAX_DRAW_BUFFERS * V3D_MAX_SAMPLES * 4];
664 uint32_t inputs_array_size;
665 uint32_t outputs_array_size;
666 uint32_t uniforms_array_size;
672 uint32_t flat_shade_flags[BITSET_WORDS(V3D_MAX_FS_INPUTS)];
674 uint32_t noperspective_flags[BITSET_WORDS(V3D_MAX_FS_INPUTS)];
676 uint32_t centroid_flags[BITSET_WORDS(V3D_MAX_FS_INPUTS)];
678 bool uses_center_w;
679 bool writes_z;
680 bool writes_z_from_fep;
681 bool reads_z;
682 bool uses_implicit_point_line_varyings;
685 bool fs_uses_primitive_id;
690 bool force_per_sample_msaa;
695 bool fallback_scheduler;
701 bool disable_tmu_pipelining;
702 bool pipelined_any_tmu;
708 bool disable_constant_ubo_load_sorting;
709 bool sorted_any_ubo_loads;
716 bool disable_ldunif_opt;
719 bool disable_loop_unrolling;
720 bool unrolled_any_loops;
724 bool disable_general_tmu_sched;
725 bool has_general_tmu_load;
733 uint32_t min_threads_for_reg_alloc;
740 uint32_t max_tmu_spills;
742 uint32_t compile_strategy_idx;
749 struct qblock *current_unifa_block;
750 int32_t current_unifa_index;
751 uint32_t current_unifa_offset;
752 bool current_unifa_is_ubo;
757 struct qreg execute;
758 bool in_control_flow;
760 struct qreg line_x, point_x, point_y, primitive_id;
766 struct qreg iid;
772 struct qreg biid;
778 struct qreg vid;
781 struct qreg payload_w, payload_w_centroid, payload_z;
783 struct qreg cs_payload[2];
784 struct qreg cs_shared_offset;
785 int local_invocation_index_bits;
788 bool has_subgroups;
790 uint8_t vattr_sizes[V3D_MAX_VS_INPUTS / 4];
791 uint32_t vpm_output_size;
796 uint32_t spill_size;
798 uint32_t spills, fills, loops;
803 bool spilling;
810 struct qreg spill_base;
813 BITSET_WORD *spillable;
816 int thread_index;
817 struct v3d_ra_node_info nodes;
818 struct ra_graph *g;
826 struct v3d_varying_slot input_slots[V3D_MAX_FS_INPUTS];
833 struct v3d_varying_slot *output_slots;
835 struct pipe_shader_state *shader_state;
836 struct v3d_key *key;
837 struct v3d_fs_key *fs_key;
838 struct v3d_gs_key *gs_key;
839 struct v3d_vs_key *vs_key;
842 int *temp_start, *temp_end;
843 bool live_intervals_valid;
845 uint32_t *uniform_data;
846 enum quniform_contents *uniform_contents;
847 uint32_t uniform_array_size;
848 uint32_t num_uniforms;
849 uint32_t output_position_index;
850 nir_variable *output_color_var[V3D_MAX_DRAW_BUFFERS];
851 uint32_t output_sample_mask_index;
853 struct qreg undef;
854 uint32_t num_temps;
859 uint32_t spill_start_num_temps;
861 struct vir_cursor cursor;
862 struct list_head blocks;
863 int next_block_index;
864 struct qblock *cur_block;
865 struct qblock *loop_cont_block;
866 struct qblock *loop_break_block;
872 int32_t flags_temp;
873 enum v3d_qpu_cond flags_cond;
875 uint64_t *qpu_insts;
876 uint32_t qpu_inst_count;
877 uint32_t qpu_inst_size;
878 uint32_t qpu_inst_stalled_count;
879 uint32_t nop_count;
884 uint32_t num_inputs;
886 uint32_t program_id;
887 uint32_t variant_id;
897 uint8_t threads;
898 struct qinst *last_thrsw;
899 bool last_thrsw_at_top_level;
901 bool emitted_tlb_load;
902 bool lock_scoreboard_on_first_thrsw;
904 enum v3d_compilation_result compilation_result;
906 bool tmu_dirty_rcl;
907 bool has_global_address;