iris: Set MOCS on NULL stream output buffers

We'd like to add safeguards against accidental use of MOCS 0 (uncached),
which can have large performance implications.  One case where we use
MOCS of 0 is disabled stream output targets,  MOCS shouldn't matter, as
there's no actual buffer to be cached.

That said, it should be harmless to set MOCS for these null stream
output buffers; we can just assume a MOCS for generic internal buffers.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>
This commit is contained in:
Kenneth Graunke 2021-10-19 05:20:00 -07:00 committed by Marge Bot
parent d8e1d0fecc
commit 256d48eb8c
1 changed files with 1 additions and 0 deletions

View File

@ -3758,6 +3758,7 @@ iris_set_stream_output_targets(struct pipe_context *ctx,
sob._3DCommandOpcode = 0;
sob._3DCommandSubOpcode = SO_BUFFER_INDEX_0_CMD + i;
#endif
sob.MOCS = iris_mocs(NULL, &screen->isl_dev, 0);
}
continue;
}