crocus: Set MOCS for 3DSTATE_SO_BUFFERS on Gfx7.x too
authorKenneth Graunke <kenneth@whitecape.org>
Thu, 21 Oct 2021 04:24:39 +0000 (21:24 -0700)
committerMarge Bot <emma+marge@anholt.net>
Thu, 28 Oct 2021 19:45:55 +0000 (19:45 +0000)
For some reason we were only setting this on Gfx8+.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

src/gallium/drivers/crocus/crocus_state.c

index 419974c..59e88e6 100644 (file)
@@ -6562,6 +6562,7 @@ crocus_upload_dirty_render_state(struct crocus_context *ice,
                sob.SOBufferIndex = i;
 
                sob.SurfaceBaseAddress = rw_bo(res->bo, start);
+               sob.MOCS = crocus_mocs(res->bo, &batch->screen->isl_dev);
 #if GFX_VER < 8
                sob.SurfacePitch = tgt->stride;
                sob.SurfaceEndAddress = rw_bo(res->bo, end);
@@ -6569,7 +6570,6 @@ crocus_upload_dirty_render_state(struct crocus_context *ice,
                sob.SOBufferEnable = true;
                sob.StreamOffsetWriteEnable = true;
                sob.StreamOutputBufferOffsetAddressEnable = true;
-               sob.MOCS = crocus_mocs(res->bo, &batch->screen->isl_dev);
 
                sob.SurfaceSize = MAX2(tgt->base.buffer_size / 4, 1) - 1;
                sob.StreamOutputBufferOffsetAddress =