From: Samuel Pitoiset Date: Tue, 15 Oct 2019 12:40:51 +0000 (+0200) Subject: Revert "radv: do not emit PKT3_CONTEXT_CONTROL with AMDGPU 3.6.0+" X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4a3bdc6d229a4c5f550f25c34253d9cba8ce93ef;p=mesa.git Revert "radv: do not emit PKT3_CONTEXT_CONTROL with AMDGPU 3.6.0+" This reverts commit 2ca8629fa9b303e24783b76a7b3b0c2513e32fbd. This was initially ported from RadeonSI, but in the meantime it has been reverted because it might hang. Be conservative and re-introduce this packet emission. Unfortunately this doesn't fix anything known. Cc: 19.2 Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen --- diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 773cae3da37..37df820d9ca 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -2049,12 +2049,9 @@ VkResult radv_CreateDevice( device->empty_cs[family] = device->ws->cs_create(device->ws, family); switch (family) { case RADV_QUEUE_GENERAL: - /* Since amdgpu version 3.6.0, CONTEXT_CONTROL is emitted by the kernel */ - if (device->physical_device->rad_info.drm_minor < 6) { - radeon_emit(device->empty_cs[family], PKT3(PKT3_CONTEXT_CONTROL, 1, 0)); - radeon_emit(device->empty_cs[family], CONTEXT_CONTROL_LOAD_ENABLE(1)); - radeon_emit(device->empty_cs[family], CONTEXT_CONTROL_SHADOW_ENABLE(1)); - } + radeon_emit(device->empty_cs[family], PKT3(PKT3_CONTEXT_CONTROL, 1, 0)); + radeon_emit(device->empty_cs[family], CONTEXT_CONTROL_LOAD_ENABLE(1)); + radeon_emit(device->empty_cs[family], CONTEXT_CONTROL_SHADOW_ENABLE(1)); break; case RADV_QUEUE_COMPUTE: radeon_emit(device->empty_cs[family], PKT3(PKT3_NOP, 0, 0)); diff --git a/src/amd/vulkan/si_cmd_buffer.c b/src/amd/vulkan/si_cmd_buffer.c index 3ca66acb364..4ba86e31ebc 100644 --- a/src/amd/vulkan/si_cmd_buffer.c +++ b/src/amd/vulkan/si_cmd_buffer.c @@ -162,12 +162,9 @@ si_emit_graphics(struct radv_physical_device *physical_device, bool has_clear_state = physical_device->rad_info.has_clear_state; int i; - /* Since amdgpu version 3.6.0, CONTEXT_CONTROL is emitted by the kernel */ - if (physical_device->rad_info.drm_minor < 6) { - radeon_emit(cs, PKT3(PKT3_CONTEXT_CONTROL, 1, 0)); - radeon_emit(cs, CONTEXT_CONTROL_LOAD_ENABLE(1)); - radeon_emit(cs, CONTEXT_CONTROL_SHADOW_ENABLE(1)); - } + radeon_emit(cs, PKT3(PKT3_CONTEXT_CONTROL, 1, 0)); + radeon_emit(cs, CONTEXT_CONTROL_LOAD_ENABLE(1)); + radeon_emit(cs, CONTEXT_CONTROL_SHADOW_ENABLE(1)); if (has_clear_state) { radeon_emit(cs, PKT3(PKT3_CLEAR_STATE, 0, 0));