• Home
  • Raw
  • Download

Lines Matching refs:prog_data

611                            struct v3d_prog_data *prog_data)  in v3d_set_prog_data_uniforms()  argument
614 struct v3d_uniform_list *ulist = &prog_data->uniforms; in v3d_set_prog_data_uniforms()
617 ulist->data = ralloc_array(prog_data, uint32_t, count); in v3d_set_prog_data_uniforms()
620 ulist->contents = ralloc_array(prog_data, enum quniform_contents, count); in v3d_set_prog_data_uniforms()
627 struct v3d_vs_prog_data *prog_data) in v3d_vs_set_prog_data() argument
633 for (int i = 0; i < ARRAY_SIZE(prog_data->vattr_sizes); i++) { in v3d_vs_set_prog_data()
634 prog_data->vattr_sizes[i] = c->vattr_sizes[i]; in v3d_vs_set_prog_data()
635 prog_data->vpm_input_size += c->vattr_sizes[i]; in v3d_vs_set_prog_data()
638 prog_data->uses_vid = BITSET_TEST(c->s->info.system_values_read, in v3d_vs_set_prog_data()
643 prog_data->uses_biid = BITSET_TEST(c->s->info.system_values_read, in v3d_vs_set_prog_data()
646 prog_data->uses_iid = BITSET_TEST(c->s->info.system_values_read, in v3d_vs_set_prog_data()
651 if (prog_data->uses_vid) in v3d_vs_set_prog_data()
652 prog_data->vpm_input_size++; in v3d_vs_set_prog_data()
653 if (prog_data->uses_biid) in v3d_vs_set_prog_data()
654 prog_data->vpm_input_size++; in v3d_vs_set_prog_data()
655 if (prog_data->uses_iid) in v3d_vs_set_prog_data()
656 prog_data->vpm_input_size++; in v3d_vs_set_prog_data()
661 prog_data->vpm_input_size = align(prog_data->vpm_input_size, 8) / 8; in v3d_vs_set_prog_data()
662 prog_data->vpm_output_size = align(c->vpm_output_size, 8) / 8; in v3d_vs_set_prog_data()
667 prog_data->separate_segments = false; in v3d_vs_set_prog_data()
668 prog_data->vpm_output_size = MAX2(prog_data->vpm_output_size, in v3d_vs_set_prog_data()
669 prog_data->vpm_input_size); in v3d_vs_set_prog_data()
670 prog_data->vpm_input_size = 0; in v3d_vs_set_prog_data()
684 int vpm_output_sectors = half_vpm - prog_data->vpm_input_size; in v3d_vs_set_prog_data()
685 int vpm_output_batches = vpm_output_sectors / prog_data->vpm_output_size; in v3d_vs_set_prog_data()
687 prog_data->vcm_cache_size = CLAMP(vpm_output_batches - 1, 2, 4); in v3d_vs_set_prog_data()
692 struct v3d_gs_prog_data *prog_data) in v3d_gs_set_prog_data() argument
694 prog_data->num_inputs = c->num_inputs; in v3d_gs_set_prog_data()
695 memcpy(prog_data->input_slots, c->input_slots, in v3d_gs_set_prog_data()
703 prog_data->uses_pid = BITSET_TEST(c->s->info.system_values_read, in v3d_gs_set_prog_data()
707 prog_data->vpm_output_size = align(c->vpm_output_size, 8) / 8; in v3d_gs_set_prog_data()
717 prog_data->simd_width = 16; in v3d_gs_set_prog_data()
718 while ((prog_data->simd_width > 1 && prog_data->vpm_output_size > 16) || in v3d_gs_set_prog_data()
719 prog_data->simd_width == 2) { in v3d_gs_set_prog_data()
720 prog_data->simd_width >>= 1; in v3d_gs_set_prog_data()
721 prog_data->vpm_output_size = in v3d_gs_set_prog_data()
722 align(prog_data->vpm_output_size, 2) / 2; in v3d_gs_set_prog_data()
724 assert(prog_data->vpm_output_size <= 16); in v3d_gs_set_prog_data()
725 assert(prog_data->simd_width != 2); in v3d_gs_set_prog_data()
727 prog_data->out_prim_type = c->s->info.gs.output_primitive; in v3d_gs_set_prog_data()
728 prog_data->num_invocations = c->s->info.gs.invocations; in v3d_gs_set_prog_data()
733 struct v3d_fs_prog_data *prog_data) in v3d_set_fs_prog_data_inputs() argument
735 prog_data->num_inputs = c->num_inputs; in v3d_set_fs_prog_data_inputs()
736 memcpy(prog_data->input_slots, c->input_slots, in v3d_set_fs_prog_data_inputs()
739 STATIC_ASSERT(ARRAY_SIZE(prog_data->flat_shade_flags) > in v3d_set_fs_prog_data_inputs()
743 prog_data->flat_shade_flags[i / 24] |= 1 << (i % 24); in v3d_set_fs_prog_data_inputs()
746 prog_data->noperspective_flags[i / 24] |= 1 << (i % 24); in v3d_set_fs_prog_data_inputs()
749 prog_data->centroid_flags[i / 24] |= 1 << (i % 24); in v3d_set_fs_prog_data_inputs()
755 struct v3d_fs_prog_data *prog_data) in v3d_fs_set_prog_data() argument
757 v3d_set_fs_prog_data_inputs(c, prog_data); in v3d_fs_set_prog_data()
758 prog_data->writes_z = c->writes_z; in v3d_fs_set_prog_data()
759 prog_data->disable_ez = !c->s->info.fs.early_fragment_tests; in v3d_fs_set_prog_data()
760 prog_data->uses_center_w = c->uses_center_w; in v3d_fs_set_prog_data()
761 prog_data->uses_implicit_point_line_varyings = in v3d_fs_set_prog_data()
763 prog_data->lock_scoreboard_on_first_thrsw = in v3d_fs_set_prog_data()
765 prog_data->force_per_sample_msaa = c->force_per_sample_msaa; in v3d_fs_set_prog_data()
770 struct v3d_compute_prog_data *prog_data) in v3d_cs_set_prog_data() argument
772 prog_data->shared_size = c->s->info.cs.shared_size; in v3d_cs_set_prog_data()
777 struct v3d_prog_data *prog_data) in v3d_set_prog_data() argument
779 prog_data->threads = c->threads; in v3d_set_prog_data()
780 prog_data->single_seg = !c->last_thrsw; in v3d_set_prog_data()
781 prog_data->spill_size = c->spill_size; in v3d_set_prog_data()
782 prog_data->tmu_dirty_rcl = c->tmu_dirty_rcl; in v3d_set_prog_data()
784 v3d_set_prog_data_uniforms(c, prog_data); in v3d_set_prog_data()
788 v3d_vs_set_prog_data(c, (struct v3d_vs_prog_data *)prog_data); in v3d_set_prog_data()
791 v3d_gs_set_prog_data(c, (struct v3d_gs_prog_data *)prog_data); in v3d_set_prog_data()
794 v3d_fs_set_prog_data(c, (struct v3d_fs_prog_data *)prog_data); in v3d_set_prog_data()
797 v3d_cs_set_prog_data(c, (struct v3d_compute_prog_data *)prog_data); in v3d_set_prog_data()
1260 struct v3d_prog_data *prog_data; in v3d_compile() local
1262 prog_data = rzalloc_size(NULL, v3d_prog_data_size(c->s->info.stage)); in v3d_compile()
1264 v3d_set_prog_data(c, prog_data); in v3d_compile()
1266 *out_prog_data = prog_data; in v3d_compile()