Module: Mesa Branch: master Commit: 65dcff7a26730e2e1112f7f326b941e3a3549870 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=65dcff7a26730e2e1112f7f326b941e3a3549870
Author: Samuel Pitoiset <[email protected]> Date: Thu Oct 5 14:55:24 2017 +0200 radv: add has_clear_state and enable it on CIK+ only This will allow us to emit the CLEAR_STATE packet instead of a bunch of useless packets when doing CS initialization. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Dave Airlie <[email protected]> --- src/amd/vulkan/radv_device.c | 5 +++++ src/amd/vulkan/radv_private.h | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 23f5e70321..b2aef2a813 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -401,6 +401,11 @@ radv_physical_device_init(struct radv_physical_device *device, device->rbplus_allowed = device->rad_info.family == CHIP_STONEY; } + /* The mere presense of CLEAR_STATE in the IB causes random GPU hangs + * on SI. + */ + device->has_clear_state = device->rad_info.chip_class >= CIK; + return VK_SUCCESS; fail: diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h index e673527811..e58fb2175e 100644 --- a/src/amd/vulkan/radv_private.h +++ b/src/amd/vulkan/radv_private.h @@ -277,7 +277,7 @@ struct radv_physical_device { bool has_rbplus; /* if RB+ register exist */ bool rbplus_allowed; /* if RB+ is allowed */ - + bool has_clear_state; /* This is the drivers on-disk cache used as a fallback as opposed to * the pipeline cache defined by apps. _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
