[vk, qcom] Returned subgroups functions to QCOM

This commit is contained in:
CamilleLaVey
2025-11-27 22:10:10 -04:00
committed by Caio Oliveira
parent 3117521da9
commit 0c45096e6f
2 changed files with 1 additions and 20 deletions

View File

@@ -500,9 +500,6 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
CollectToolingInfo();
if (is_qualcomm) {
disable_graphics_subgroups = true;
LOG_WARNING(Render_Vulkan,
"Qualcomm drivers force subgroup emulation; disabling graphics warp intrinsics");
// Qualcomm Adreno GPUs doesn't handle scaled vertex attributes; keep emulation enabled
must_emulate_scaled_formats = true;
LOG_WARNING(Render_Vulkan,
@@ -1562,23 +1559,8 @@ bool Device::SupportsSubgroupStage(VkShaderStageFlags stage_mask) const {
if (stage_mask == 0) {
return true;
}
if (disable_graphics_subgroups && (stage_mask & GraphicsStageMask) != 0) {
return false;
}
const VkShaderStageFlags supported = properties.subgroup_properties.supportedStages;
if ((supported & stage_mask) == stage_mask) {
return true;
}
if ((stage_mask & GraphicsStageMask) != 0 &&
((supported & VK_SHADER_STAGE_ALL_GRAPHICS) == VK_SHADER_STAGE_ALL_GRAPHICS ||
(supported & VK_SHADER_STAGE_ALL) == VK_SHADER_STAGE_ALL)) {
return true;
}
if ((stage_mask & VK_SHADER_STAGE_COMPUTE_BIT) != 0 &&
(supported & VK_SHADER_STAGE_ALL) == VK_SHADER_STAGE_ALL) {
return true;
}
return false;
return (supported & stage_mask) == stage_mask;
}
bool Device::IsSubgroupFeatureSupported(VkSubgroupFeatureFlagBits feature,

View File

@@ -1100,7 +1100,6 @@ private:
bool dynamic_state3_alpha_to_coverage{};
bool dynamic_state3_alpha_to_one{};
bool supports_conditional_barriers{}; ///< Allows barriers in conditional control flow.
bool disable_graphics_subgroups{}; ///< Forces subgroup emulation on graphics stages.
size_t sampler_heap_budget{}; ///< Sampler budget for buggy drivers (0 = unlimited).
VkDeviceSize uniform_buffer_alignment_minimum{}; ///< Minimum enforced UBO alignment.
VkDeviceSize storage_buffer_alignment_minimum{}; ///< Minimum enforced SSBO alignment.