diff --git a/COMMIT b/COMMIT index aaa32033..fe91121b 100644 --- a/COMMIT +++ b/COMMIT @@ -1 +1 @@ -fe5becd13638873db90d46e7ba7d48255971f82a +1f69c762be68feb9fcd5276d75acc6e5a6160a19 diff --git a/parallel-rdp/rdp_renderer.cpp b/parallel-rdp/rdp_renderer.cpp index 961e2e13..ec822b55 100644 --- a/parallel-rdp/rdp_renderer.cpp +++ b/parallel-rdp/rdp_renderer.cpp @@ -201,6 +201,11 @@ bool Renderer::init_caps() LOGW("Current proprietary Intel Windows driver is tested to perform much better without 8/16-bit integer support.\n"); allow_small_types = false; } + else if (features.driver_id == VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR) + { + LOGW("Current proprietary Qcom driver is known to be buggy with 8/16-bit integer arithmetic, disabling support for time being.\n"); + allow_small_types = false; + } // Intel ANV *must* use small integer arithmetic, or it doesn't pass test suite. } diff --git a/vulkan/device.cpp b/vulkan/device.cpp index 9199b273..6623a9dd 100644 --- a/vulkan/device.cpp +++ b/vulkan/device.cpp @@ -889,6 +889,12 @@ void Device::init_workarounds() LOGW("Disabling pipeline cache control.\n"); workarounds.broken_pipeline_cache_control = true; } + else if (ext.driver_id == VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR) + { + // Seems broken on this driver too. Compilation stutter galore ... + LOGW("Disabling pipeline cache control.\n"); + workarounds.broken_pipeline_cache_control = true; + } if (sync2_workarounds) { diff --git a/vulkan/wsi.cpp b/vulkan/wsi.cpp index ad00a8b3..1252cc1d 100644 --- a/vulkan/wsi.cpp +++ b/vulkan/wsi.cpp @@ -357,7 +357,8 @@ bool WSI::init_context_from_platform(InstanceFactory* instanceFactory, unsigned new_context->set_application_info(platform->get_application_info()); new_context->set_num_thread_indices(num_thread_indices); new_context->set_system_handles(system_handles); - new_context->set_instance_factory(instanceFactory); + if(instanceFactory) + new_context->set_instance_factory(instanceFactory); if (!new_context->init_instance( instance_ext.data(), instance_ext.size(),