vk_renderpass_cache: Flush on qcom as well
This commit is contained in:
@ -258,9 +258,10 @@ public:
|
|||||||
return min_vertex_stride_alignment;
|
return min_vertex_stride_alignment;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Returns true if the physical device is a Mali gpu
|
/// Returns true if commands should be flushed at the end of each major renderpass
|
||||||
bool IsMaliGpu() const {
|
bool ShouldFlush() const {
|
||||||
return driver_id == vk::DriverIdKHR::eArmProprietary;
|
return driver_id == vk::DriverIdKHR::eArmProprietary ||
|
||||||
|
driver_id == vk::DriverIdKHR::eQualcommProprietary;
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -194,7 +194,7 @@ void RenderpassCache::ExitRenderpass() {
|
|||||||
|
|
||||||
// The Mali guide recommends flushing at the end of each major renderpass
|
// The Mali guide recommends flushing at the end of each major renderpass
|
||||||
// Testing has shown this has a significant effect on rendering performance
|
// Testing has shown this has a significant effect on rendering performance
|
||||||
if (cmd_count > 20 && instance.IsMaliGpu()) {
|
if (cmd_count > 20 && instance.ShouldFlush()) {
|
||||||
scheduler.Flush();
|
scheduler.Flush();
|
||||||
cmd_count = 0;
|
cmd_count = 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user