Module: Mesa Branch: main Commit: f32ac1d30b3947625f362f3181737c5ef242c02f URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f32ac1d30b3947625f362f3181737c5ef242c02f
Author: Tapani Pälli <[email protected]> Date: Mon Sep 5 08:23:20 2022 +0300 anv: implement Wa_14015946265 for DG2 SOL unit issues, wa is to send PC with CS stall after SO_DECL. v2: emit also in genX_gpu_memcpy (Lionel) Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18409> --- src/intel/vulkan/genX_gpu_memcpy.c | 7 +++++++ src/intel/vulkan/genX_pipeline.c | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/src/intel/vulkan/genX_gpu_memcpy.c b/src/intel/vulkan/genX_gpu_memcpy.c index 98ea96ac85b..bdeaf91fcde 100644 --- a/src/intel/vulkan/genX_gpu_memcpy.c +++ b/src/intel/vulkan/genX_gpu_memcpy.c @@ -184,6 +184,13 @@ emit_so_memcpy(struct anv_batch *batch, struct anv_device *device, }, }); +#if GFX_VERx10 == 125 + /* Wa_14015946265: Send PC with CS stall after SO_DECL. */ + anv_batch_emit(batch, GENX(PIPE_CONTROL), pc) { + pc.CommandStreamerStallEnable = true; + } +#endif + anv_batch_emit(batch, GENX(3DSTATE_STREAMOUT), so) { so.SOFunctionEnable = true; so.RenderingDisable = true; diff --git a/src/intel/vulkan/genX_pipeline.c b/src/intel/vulkan/genX_pipeline.c index 5cb747d9b9d..c0ea00bfe1a 100644 --- a/src/intel/vulkan/genX_pipeline.c +++ b/src/intel/vulkan/genX_pipeline.c @@ -1241,6 +1241,13 @@ emit_3dstate_streamout(struct anv_graphics_pipeline *pipeline, .Stream3Decl = so_decl[3][i], }); } + +#if GFX_VERx10 == 125 + /* Wa_14015946265: Send PC with CS stall after SO_DECL. */ + anv_batch_emit(&pipeline->base.batch, GENX(PIPE_CONTROL), pc) { + pc.CommandStreamerStallEnable = true; + } +#endif } struct GENX(3DSTATE_STREAMOUT) so = {
