• Home
  • Raw
  • Download

Lines Matching refs:linkage

829    struct ir3_shader_linkage linkage = {  in tu6_emit_vpc()  local
835 ir3_link_shaders(&linkage, last_shader, fs, true); in tu6_emit_vpc()
838 tu6_link_streamout(&linkage, last_shader); in tu6_emit_vpc()
843 bool primid_passthru = linkage.primid_loc != 0xff; in tu6_emit_vpc()
847 tu_cs_emit(cs, ~linkage.varmask[0]); in tu6_emit_vpc()
848 tu_cs_emit(cs, ~linkage.varmask[1]); in tu6_emit_vpc()
849 tu_cs_emit(cs, ~linkage.varmask[2]); in tu6_emit_vpc()
850 tu_cs_emit(cs, ~linkage.varmask[3]); in tu6_emit_vpc()
871 layer_loc = linkage.max_loc; in tu6_emit_vpc()
872 ir3_link_add(&linkage, layer_regid, 0x1, linkage.max_loc); in tu6_emit_vpc()
876 view_loc = linkage.max_loc; in tu6_emit_vpc()
877 ir3_link_add(&linkage, view_regid, 0x1, linkage.max_loc); in tu6_emit_vpc()
887 position_loc = linkage.max_loc; in tu6_emit_vpc()
889 ir3_link_add(&linkage, last_shader->outputs[i].regid, in tu6_emit_vpc()
895 pointsize_loc = linkage.max_loc; in tu6_emit_vpc()
896 ir3_link_add(&linkage, pointsize_regid, 0x1, linkage.max_loc); in tu6_emit_vpc()
902 uint32_t clip0_loc = linkage.clip0_loc, clip1_loc = linkage.clip1_loc; in tu6_emit_vpc()
904 clip0_loc = linkage.max_loc; in tu6_emit_vpc()
905 ir3_link_add(&linkage, clip0_regid, clip_cull_mask & 0xf, linkage.max_loc); in tu6_emit_vpc()
908 clip1_loc = linkage.max_loc; in tu6_emit_vpc()
909 ir3_link_add(&linkage, clip1_regid, clip_cull_mask >> 4, linkage.max_loc); in tu6_emit_vpc()
912 tu6_setup_streamout(cs, last_shader, &linkage); in tu6_emit_vpc()
919 if (linkage.cnt == 0) in tu6_emit_vpc()
920 ir3_link_add(&linkage, 0, 0x1, linkage.max_loc); in tu6_emit_vpc()
923 assert(linkage.cnt <= 32); in tu6_emit_vpc()
924 const uint32_t sp_out_count = DIV_ROUND_UP(linkage.cnt, 2); in tu6_emit_vpc()
925 const uint32_t sp_vpc_dst_count = DIV_ROUND_UP(linkage.cnt, 4); in tu6_emit_vpc()
928 for (uint32_t i = 0; i < linkage.cnt; i++) { in tu6_emit_vpc()
930 A6XX_SP_VS_OUT_REG_A_REGID(linkage.var[i].regid) | in tu6_emit_vpc()
931 A6XX_SP_VS_OUT_REG_A_COMPMASK(linkage.var[i].compmask); in tu6_emit_vpc()
933 A6XX_SP_VS_VPC_DST_REG_OUTLOC0(linkage.var[i].loc); in tu6_emit_vpc()
945 A6XX_VPC_VS_PACK_STRIDE_IN_VPC(linkage.max_loc) | in tu6_emit_vpc()
958 tu_cs_emit(cs, A6XX_PC_VS_OUT_CNTL_STRIDE_IN_VPC(linkage.max_loc) | in tu6_emit_vpc()
966 tu_cs_emit(cs, A6XX_SP_VS_PRIMITIVE_CNTL_OUT(linkage.cnt) | in tu6_emit_vpc()
982 A6XX_VPC_CNTL_0_PRIMIDLOC(linkage.primid_loc) | in tu6_emit_vpc()
983 A6XX_VPC_CNTL_0_VIEWIDLOC(linkage.viewid_loc)); in tu6_emit_vpc()