anv,iris,hasvk: Use ISL_SURF_USAGE_STREAM_OUT_BIT for setting stream-out MOCS

Cc: 23.2 <mesa-stable>
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23823>
This commit is contained in:
Jordan Justen 2023-04-27 21:35:27 -04:00
parent 6b5082f5d5
commit 492b07625d
5 changed files with 8 additions and 5 deletions

View file

@ -4250,7 +4250,8 @@ iris_set_stream_output_targets(struct pipe_context *ctx,
sob.SOBufferEnable = true;
sob.StreamOffsetWriteEnable = true;
sob.StreamOutputBufferOffsetAddressEnable = true;
sob.MOCS = iris_mocs(res->bo, &screen->isl_dev, 0);
sob.MOCS = iris_mocs(res->bo, &screen->isl_dev,
ISL_SURF_USAGE_STREAM_OUT_BIT);
sob.SurfaceSize = MAX2(tgt->base.buffer_size / 4, 1) - 1;
sob.StreamOutputBufferOffsetAddress =

View file

@ -3500,7 +3500,8 @@ genX(cmd_buffer_flush_gfx_state)(struct anv_cmd_buffer *cmd_buffer)
#endif
if (cmd_buffer->state.xfb_enabled && xfb->buffer && xfb->size != 0) {
sob.MOCS = anv_mocs(cmd_buffer->device, xfb->buffer->address.bo, 0);
sob.MOCS = anv_mocs(cmd_buffer->device, xfb->buffer->address.bo,
ISL_SURF_USAGE_STREAM_OUT_BIT);
sob.SurfaceBaseAddress = anv_address_add(xfb->buffer->address,
xfb->offset);
sob.SOBufferEnable = true;

View file

@ -184,7 +184,7 @@ emit_so_memcpy(struct anv_batch *batch, struct anv_device *device,
sob._3DCommandOpcode = 0;
sob._3DCommandSubOpcode = SO_BUFFER_INDEX_0_CMD;
#endif
sob.MOCS = anv_mocs(device, dst.bo, 0),
sob.MOCS = anv_mocs(device, dst.bo, ISL_SURF_USAGE_STREAM_OUT_BIT),
sob.SurfaceBaseAddress = dst;
sob.SOBufferEnable = true;

View file

@ -3287,7 +3287,8 @@ genX(cmd_buffer_flush_gfx_state)(struct anv_cmd_buffer *cmd_buffer)
sob.SOBufferIndex = idx;
if (cmd_buffer->state.xfb_enabled && xfb->buffer && xfb->size != 0) {
sob.MOCS = anv_mocs(cmd_buffer->device, xfb->buffer->address.bo, 0);
sob.MOCS = anv_mocs(cmd_buffer->device, xfb->buffer->address.bo,
ISL_SURF_USAGE_STREAM_OUT_BIT);
sob.SurfaceBaseAddress = anv_address_add(xfb->buffer->address,
xfb->offset);
#if GFX_VER >= 8

View file

@ -151,7 +151,7 @@ emit_so_memcpy(struct anv_batch *batch, struct anv_device *device,
anv_batch_emit(batch, GENX(3DSTATE_SO_BUFFER), sob) {
sob.SOBufferIndex = 0;
sob.MOCS = anv_mocs(device, dst.bo, 0),
sob.MOCS = anv_mocs(device, dst.bo, ISL_SURF_USAGE_STREAM_OUT_BIT),
sob.SurfaceBaseAddress = dst;
#if GFX_VER >= 8