iris: re-pin inherited streamout buffers

This commit is contained in:
Kenneth Graunke 2018-12-02 16:06:01 -08:00
parent 19803d0aa7
commit a24734a2d7

View file

@ -3758,6 +3758,19 @@ iris_restore_render_saved_bos(struct iris_context *ice,
iris_use_optional_res(batch, ice->state.last_res.scissor, false);
}
if (ice->state.streamout_active && (clean & IRIS_DIRTY_SO_BUFFERS)) {
for (int i = 0; i < 4; i++) {
struct iris_stream_output_target *tgt =
(void *) ice->state.so_target[i];
if (tgt) {
iris_use_pinned_bo(batch, iris_resource_bo(tgt->base.buffer),
true);
iris_use_pinned_bo(batch, iris_resource_bo(tgt->offset.res),
true);
}
}
}
for (int stage = 0; stage <= MESA_SHADER_FRAGMENT; stage++) {
if (!(clean & (IRIS_DIRTY_CONSTANTS_VS << stage)))
continue;