A non-exhaustive set of driver specific workarounds. More...
#include <workarounds_vk.h>
Public Attributes | |
bool | slow_primitive_restart_performance = false |
bool | batch_submit_command_buffer_timeout = false |
bool | input_attachment_self_dependency_broken = false |
bool | broken_mipmap_generation = false |
A non-exhaustive set of driver specific workarounds.
Definition at line 13 of file workarounds_vk.h.
bool impeller::WorkaroundsVK::batch_submit_command_buffer_timeout = false |
Early 600 series Adreno drivers would deadlock if a command buffer submission had too much work attached to it, this requires the renderer to split up command buffers that could be logically combined.
Definition at line 24 of file workarounds_vk.h.
Referenced by impeller::testing::CanBatchSubmitTest(), and impeller::GetWorkaroundsFromDriverInfo().
bool impeller::WorkaroundsVK::broken_mipmap_generation = false |
Almost all Adreno series GPU (from 600 up to 800) have problems generating mipmaps, resulting in corruption of the mip levels. See:
Definition at line 38 of file workarounds_vk.h.
Referenced by impeller::SamplerLibraryVK::ApplyWorkarounds(), impeller::testing::CanUseMipgeneration(), and impeller::GetWorkaroundsFromDriverInfo().
bool impeller::WorkaroundsVK::input_attachment_self_dependency_broken = false |
On older 600 Series Adreno the input attachment / self dependency cycle for programmable blending is broken.
Also broken on newer PowerVR.
Definition at line 30 of file workarounds_vk.h.
Referenced by impeller::CapabilitiesVK::ApplyWorkarounds(), impeller::testing::CanUseFramebufferFetch(), impeller::GetWorkaroundsFromDriverInfo(), and impeller::testing::TEST().
bool impeller::WorkaroundsVK::slow_primitive_restart_performance = false |
Definition at line 18 of file workarounds_vk.h.
Referenced by impeller::CapabilitiesVK::ApplyWorkarounds(), impeller::testing::CanUsePrimitiveRestartSubmitTest(), and impeller::GetWorkaroundsFromDriverInfo().