From: Marek Olšák <[email protected]> SDMA submission somehow interacts with the skipping CE preamble logic. This is a workaround for current kernels which have the bug.
Sadly, I can't see what's wrong with the kernel driver. The CE preamble handling there looks good to me. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95545 --- src/gallium/winsys/amdgpu/drm/amdgpu_cs.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c b/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c index e949874..0c88fca 100644 --- a/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c +++ b/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c @@ -932,7 +932,6 @@ void amdgpu_cs_init_functions(struct amdgpu_winsys *ws) ws->base.ctx_query_reset_status = amdgpu_ctx_query_reset_status; ws->base.cs_create = amdgpu_cs_create; ws->base.cs_add_const_ib = amdgpu_cs_add_const_ib; - ws->base.cs_add_const_preamble_ib = amdgpu_cs_add_const_preamble_ib; ws->base.cs_destroy = amdgpu_cs_destroy; ws->base.cs_add_buffer = amdgpu_cs_add_buffer; ws->base.cs_lookup_buffer = amdgpu_cs_lookup_buffer; @@ -945,4 +944,10 @@ void amdgpu_cs_init_functions(struct amdgpu_winsys *ws) ws->base.cs_sync_flush = amdgpu_cs_sync_flush; ws->base.fence_wait = amdgpu_fence_wait_rel_timeout; ws->base.fence_reference = amdgpu_fence_reference; + + /* TODO: enable this after the kernel is fixed. + * apitrace: https://bugs.freedesktop.org/show_bug.cgi?id=95545 + */ + if (debug_get_bool_option("CE_PREAMBLE", false)) + ws->base.cs_add_const_preamble_ib = amdgpu_cs_add_const_preamble_ib; } -- 2.7.4 _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
