Lines Matching refs:streamout
84 struct r600_atom *begin = &rctx->streamout.begin_atom;
85 unsigned num_bufs = util_bitcount(rctx->streamout.enabled_mask);
86 unsigned num_bufs_appended = util_bitcount(rctx->streamout.enabled_mask &
87 rctx->streamout.append_bitmask);
92 rctx->streamout.num_dw_for_end =
122 /* Stop streamout. */
123 if (rctx->streamout.num_targets && rctx->streamout.begin_emitted) {
129 pipe_so_target_reference((struct pipe_stream_output_target**)&rctx->streamout.targets[i], targets[i]);
138 for (; i < rctx->streamout.num_targets; i++) {
139 pipe_so_target_reference((struct pipe_stream_output_target**)&rctx->streamout.targets[i], NULL);
142 rctx->streamout.enabled_mask = enabled_mask;
144 rctx->streamout.num_targets = num_targets;
145 rctx->streamout.append_bitmask = append_bitmask;
150 rctx->set_atom_dirty(rctx, &rctx->streamout.begin_atom, false);
184 struct r600_so_target **t = rctx->streamout.targets;
185 uint16_t *stride_in_dw = rctx->streamout.stride_in_dw;
190 for (i = 0; i < rctx->streamout.num_targets; i++) {
220 if (rctx->streamout.append_bitmask & (1 << i) && t[i]->buf_filled_size_valid) {
251 rctx->streamout.begin_emitted = true;
257 struct r600_so_target **t = rctx->streamout.targets;
263 for (i = 0; i < rctx->streamout.num_targets; i++) {
289 rctx->streamout.begin_emitted = false;
306 unsigned strmout_buffer_val = rctx->streamout.hw_enabled_mask &
307 rctx->streamout.enabled_stream_buffers_mask;
325 unsigned old_hw_enabled_mask = rctx->streamout.hw_enabled_mask;
327 rctx->streamout.streamout_enabled = enable;
329 rctx->streamout.hw_enabled_mask = rctx->streamout.enabled_mask |
330 (rctx->streamout.enabled_mask << 4) |
331 (rctx->streamout.enabled_mask << 8) |
332 (rctx->streamout.enabled_mask << 12);
335 (old_hw_enabled_mask != rctx->streamout.hw_enabled_mask)) {
336 rctx->set_atom_dirty(rctx, &rctx->streamout.enable_atom, true);
346 rctx->streamout.num_prims_gen_queries += diff;
347 assert(rctx->streamout.num_prims_gen_queries >= 0);
349 rctx->streamout.prims_gen_query_enabled =
350 rctx->streamout.num_prims_gen_queries != 0;
353 rctx->set_atom_dirty(rctx, &rctx->streamout.enable_atom, true);
362 rctx->streamout.begin_atom.emit = r600_emit_streamout_begin;
363 rctx->streamout.enable_atom.emit = r600_emit_streamout_enable;
364 rctx->streamout.enable_atom.num_dw = 6;