From 492b07625d46e53dd6fa1c81c8385994ae3ee390 Mon Sep 17 00:00:00 2001 From: Jordan Justen Date: Thu, 27 Apr 2023 21:35:27 -0400 Subject: [PATCH] anv,iris,hasvk: Use ISL_SURF_USAGE_STREAM_OUT_BIT for setting stream-out MOCS Cc: 23.2 Signed-off-by: Jordan Justen Reviewed-by: Francisco Jerez Part-of: --- src/gallium/drivers/iris/iris_state.c | 3 ++- src/intel/vulkan/genX_cmd_buffer.c | 3 ++- src/intel/vulkan/genX_gpu_memcpy.c | 2 +- src/intel/vulkan_hasvk/genX_cmd_buffer.c | 3 ++- src/intel/vulkan_hasvk/genX_gpu_memcpy.c | 2 +- 5 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c index 5f9828e47fa..49a922d40ec 100644 --- a/src/gallium/drivers/iris/iris_state.c +++ b/src/gallium/drivers/iris/iris_state.c @@ -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 = diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c index 8c6ead69635..79e34aa6b7c 100644 --- a/src/intel/vulkan/genX_cmd_buffer.c +++ b/src/intel/vulkan/genX_cmd_buffer.c @@ -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; diff --git a/src/intel/vulkan/genX_gpu_memcpy.c b/src/intel/vulkan/genX_gpu_memcpy.c index f60cd693ba5..847316e0424 100644 --- a/src/intel/vulkan/genX_gpu_memcpy.c +++ b/src/intel/vulkan/genX_gpu_memcpy.c @@ -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; diff --git a/src/intel/vulkan_hasvk/genX_cmd_buffer.c b/src/intel/vulkan_hasvk/genX_cmd_buffer.c index 3eb1d1ccd64..f790e256fa5 100644 --- a/src/intel/vulkan_hasvk/genX_cmd_buffer.c +++ b/src/intel/vulkan_hasvk/genX_cmd_buffer.c @@ -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 diff --git a/src/intel/vulkan_hasvk/genX_gpu_memcpy.c b/src/intel/vulkan_hasvk/genX_gpu_memcpy.c index 8aa3edcf08a..d892ccef995 100644 --- a/src/intel/vulkan_hasvk/genX_gpu_memcpy.c +++ b/src/intel/vulkan_hasvk/genX_gpu_memcpy.c @@ -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