mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-05-02 01:59:00 +02:00
[vk, qcom] Returned subgroups functions to QCOM
This commit is contained in:
parent
bbfdf82396
commit
dec91df1fa
2 changed files with 1 additions and 20 deletions
|
|
@ -502,9 +502,6 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
|
||||||
CollectToolingInfo();
|
CollectToolingInfo();
|
||||||
|
|
||||||
if (is_qualcomm) {
|
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
|
// Qualcomm Adreno GPUs doesn't handle scaled vertex attributes; keep emulation enabled
|
||||||
must_emulate_scaled_formats = true;
|
must_emulate_scaled_formats = true;
|
||||||
LOG_WARNING(Render_Vulkan,
|
LOG_WARNING(Render_Vulkan,
|
||||||
|
|
@ -1582,23 +1579,8 @@ bool Device::SupportsSubgroupStage(VkShaderStageFlags stage_mask) const {
|
||||||
if (stage_mask == 0) {
|
if (stage_mask == 0) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (disable_graphics_subgroups && (stage_mask & GraphicsStageMask) != 0) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
const VkShaderStageFlags supported = properties.subgroup_properties.supportedStages;
|
const VkShaderStageFlags supported = properties.subgroup_properties.supportedStages;
|
||||||
if ((supported & stage_mask) == stage_mask) {
|
return (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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Device::IsSubgroupFeatureSupported(VkSubgroupFeatureFlagBits feature,
|
bool Device::IsSubgroupFeatureSupported(VkSubgroupFeatureFlagBits feature,
|
||||||
|
|
|
||||||
|
|
@ -1100,7 +1100,6 @@ private:
|
||||||
bool dynamic_state3_alpha_to_coverage{};
|
bool dynamic_state3_alpha_to_coverage{};
|
||||||
bool dynamic_state3_alpha_to_one{};
|
bool dynamic_state3_alpha_to_one{};
|
||||||
bool supports_conditional_barriers{}; ///< Allows barriers in conditional control flow.
|
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).
|
size_t sampler_heap_budget{}; ///< Sampler budget for buggy drivers (0 = unlimited).
|
||||||
VkDeviceSize uniform_buffer_alignment_minimum{}; ///< Minimum enforced UBO alignment.
|
VkDeviceSize uniform_buffer_alignment_minimum{}; ///< Minimum enforced UBO alignment.
|
||||||
VkDeviceSize storage_buffer_alignment_minimum{}; ///< Minimum enforced SSBO alignment.
|
VkDeviceSize storage_buffer_alignment_minimum{}; ///< Minimum enforced SSBO alignment.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue