Lines Matching refs:cs

35 radeon_check_space(struct radeon_winsys *ws, struct radeon_cmdbuf *cs, unsigned needed)
37 if (cs->max_dw - cs->cdw < needed)
38 ws->cs_grow(cs, needed);
39 return cs->cdw + needed;
43 radeon_set_config_reg_seq(struct radeon_cmdbuf *cs, unsigned reg, unsigned num)
46 assert(cs->cdw + 2 + num <= cs->max_dw);
48 radeon_emit(cs, PKT3(PKT3_SET_CONFIG_REG, num, 0));
49 radeon_emit(cs, (reg - SI_CONFIG_REG_OFFSET) >> 2);
53 radeon_set_config_reg(struct radeon_cmdbuf *cs, unsigned reg, unsigned value)
55 radeon_set_config_reg_seq(cs, reg, 1);
56 radeon_emit(cs, value);
60 radeon_set_context_reg_seq(struct radeon_cmdbuf *cs, unsigned reg, unsigned num)
63 assert(cs->cdw + 2 + num <= cs->max_dw);
65 radeon_emit(cs, PKT3(PKT3_SET_CONTEXT_REG, num, 0));
66 radeon_emit(cs, (reg - SI_CONTEXT_REG_OFFSET) >> 2);
70 radeon_set_context_reg(struct radeon_cmdbuf *cs, unsigned reg, unsigned value)
72 radeon_set_context_reg_seq(cs, reg, 1);
73 radeon_emit(cs, value);
77 radeon_set_context_reg_idx(struct radeon_cmdbuf *cs, unsigned reg, unsigned idx, unsigned value)
80 assert(cs->cdw + 3 <= cs->max_dw);
81 radeon_emit(cs, PKT3(PKT3_SET_CONTEXT_REG, 1, 0));
82 radeon_emit(cs, (reg - SI_CONTEXT_REG_OFFSET) >> 2 | (idx << 28));
83 radeon_emit(cs, value);
87 radeon_set_context_reg_rmw(struct radeon_cmdbuf *cs, unsigned reg, unsigned value, unsigned mask)
90 assert(cs->cdw + 4 <= cs->max_dw);
91 radeon_emit(cs, PKT3(PKT3_CONTEXT_REG_RMW, 2, 0));
92 radeon_emit(cs, (reg - SI_CONTEXT_REG_OFFSET) >> 2);
93 radeon_emit(cs, mask);
94 radeon_emit(cs, value);
98 radeon_set_sh_reg_seq(struct radeon_cmdbuf *cs, unsigned reg, unsigned num)
101 assert(cs->cdw + 2 + num <= cs->max_dw);
103 radeon_emit(cs, PKT3(PKT3_SET_SH_REG, num, 0));
104 radeon_emit(cs, (reg - SI_SH_REG_OFFSET) >> 2);
108 radeon_set_sh_reg(struct radeon_cmdbuf *cs, unsigned reg, unsigned value)
110 radeon_set_sh_reg_seq(cs, reg, 1);
111 radeon_emit(cs, value);
115 radeon_set_sh_reg_idx(const struct radv_physical_device *pdevice, struct radeon_cmdbuf *cs,
119 assert(cs->cdw + 3 <= cs->max_dw);
126 radeon_emit(cs, PKT3(opcode, 1, 0));
127 radeon_emit(cs, (reg - SI_SH_REG_OFFSET) >> 2 | (idx << 28));
128 radeon_emit(cs, value);
132 gfx10_set_sh_reg_idx3(struct radeon_cmdbuf *cs, unsigned reg, unsigned value)
135 assert(cs->cdw + 3 <= cs->max_dw);
137 radeon_emit(cs, PKT3(PKT3_SET_SH_REG_INDEX, 1, 0));
138 radeon_emit(cs, (reg - SI_SH_REG_OFFSET) >> 2 | (3 << 28));
139 radeon_emit(cs, value);
143 radeon_set_uconfig_reg_seq(struct radeon_cmdbuf *cs, unsigned reg, unsigned num)
146 assert(cs->cdw + 2 + num <= cs->max_dw);
148 radeon_emit(cs, PKT3(PKT3_SET_UCONFIG_REG, num, 0));
149 radeon_emit(cs, (reg - CIK_UCONFIG_REG_OFFSET) >> 2);
153 radeon_set_uconfig_reg_seq_perfctr(struct radeon_cmdbuf *cs, unsigned reg, unsigned num)
156 assert(cs->cdw + 2 + num <= cs->max_dw);
158 radeon_emit(cs, PKT3(PKT3_SET_UCONFIG_REG, num, 1));
159 radeon_emit(cs, (reg - CIK_UCONFIG_REG_OFFSET) >> 2);
163 radeon_set_uconfig_reg(struct radeon_cmdbuf *cs, unsigned reg, unsigned value)
165 radeon_set_uconfig_reg_seq(cs, reg, 1);
166 radeon_emit(cs, value);
170 radeon_set_uconfig_reg_idx(const struct radv_physical_device *pdevice, struct radeon_cmdbuf *cs,
174 assert(cs->cdw + 3 <= cs->max_dw);
182 radeon_emit(cs, PKT3(opcode, 1, 0));
183 radeon_emit(cs, (reg - CIK_UCONFIG_REG_OFFSET) >> 2 | (idx << 28));
184 radeon_emit(cs, value);
190 struct radeon_cmdbuf *cs = cmd_buffer->cs;
192 assert(cs->cdw + 3 <= cs->max_dw);
202 radeon_emit(cs, PKT3(PKT3_SET_UCONFIG_REG, 1, 0) | PKT3_RESET_FILTER_CAM(filter_cam_workaround));
203 radeon_emit(cs, (reg - CIK_UCONFIG_REG_OFFSET) >> 2);
204 radeon_emit(cs, value);
208 radeon_set_privileged_config_reg(struct radeon_cmdbuf *cs, unsigned reg, unsigned value)
211 assert(cs->cdw + 6 <= cs->max_dw);
213 radeon_emit(cs, PKT3(PKT3_COPY_DATA, 4, 0));
214 radeon_emit(cs, COPY_DATA_SRC_SEL(COPY_DATA_IMM) | COPY_DATA_DST_SEL(COPY_DATA_PERF));
215 radeon_emit(cs, value);
216 radeon_emit(cs, 0); /* unused */
217 radeon_emit(cs, reg >> 2);
218 radeon_emit(cs, 0); /* unused */