Browse Source

[TEST] Some adjustments to QCOM removed features

vk-experiments1
CamilleLaVey 4 weeks ago
parent
commit
251a92cc8e
  1. 16
      src/video_core/vulkan_common/vulkan_device.cpp

16
src/video_core/vulkan_common/vulkan_device.cpp

@ -486,11 +486,21 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
CollectToolingInfo(); CollectToolingInfo();
if (is_qualcomm) { if (is_qualcomm) {
// Qualcomm Adreno GPUs doesn't handle scaled vertex attributes; keep emulation enabled
// Qualcomm doesn't handle scaled vertex attributes
must_emulate_scaled_formats = true; must_emulate_scaled_formats = true;
LOG_WARNING(Render_Vulkan, LOG_WARNING(Render_Vulkan,
"Qualcomm drivers require scaled vertex format emulation; forcing fallback");
"Qualcomm drivers require scaled vertex format emulation");
LOG_WARNING(Render_Vulkan,
"Qualcomm has slow push descriptors, disabling VK_KHR_push_descriptor");
RemoveExtension(extensions.push_descriptor, VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME);
if (!features.shader_float16_int8.shaderFloat16) {
LOG_WARNING(Render_Vulkan,
"Qualcomm has broken VK_EXT_sampler_filter_minmax");
RemoveExtension(extensions.sampler_filter_minmax,
VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME);
has_broken_cube_compatibility = true;
}
LOG_WARNING(Render_Vulkan, LOG_WARNING(Render_Vulkan,
"Disabling shader float controls and 64-bit integer features on Qualcomm proprietary drivers"); "Disabling shader float controls and 64-bit integer features on Qualcomm proprietary drivers");
RemoveExtension(extensions.shader_float_controls, VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME); RemoveExtension(extensions.shader_float_controls, VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME);

Loading…
Cancel
Save