diff options
Diffstat (limited to 'src/amd/vulkan')
-rw-r--r-- | src/amd/vulkan/radv_device.c | 5 | ||||
-rw-r--r-- | src/amd/vulkan/radv_private.h | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 23f5e70321d..b2aef2a8130 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 e673527811f..e58fb2175e2 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. |