Browse Source
[vk, qcom] Adjusting Sampler Budget reserved value
eds-true-adreno-fixes
CamilleLaVey
4 weeks ago
committed by
Caio Oliveira
No known key found for this signature in database
GPG Key ID: AAAE6C7FD4186B0C
1 changed files with
5 additions and
4 deletions
-
src/video_core/vulkan_common/vulkan_device.cpp
|
|
|
@ -586,13 +586,14 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR |
|
|
|
const size_t sampler_limit = properties.properties.limits.maxSamplerAllocationCount; |
|
|
|
if (sampler_limit > 0) { |
|
|
|
constexpr size_t MIN_SAMPLER_BUDGET = 1024U; |
|
|
|
const size_t reserved = sampler_limit / 4U; |
|
|
|
const size_t derived_budget = |
|
|
|
(std::max)(MIN_SAMPLER_BUDGET, sampler_limit / 4U); |
|
|
|
(std::max)(MIN_SAMPLER_BUDGET, sampler_limit - reserved); |
|
|
|
sampler_heap_budget = derived_budget; |
|
|
|
LOG_WARNING(Render_Vulkan, |
|
|
|
"Qualcomm driver reports max {} samplers; clamping cache to {} (25%) to " |
|
|
|
"avoid heap exhaustion", |
|
|
|
sampler_limit, sampler_heap_budget); |
|
|
|
"Qualcomm driver reports max {} samplers; reserving {} (25%) and " |
|
|
|
"allowing Eden to use {} (75%) to avoid heap exhaustion", |
|
|
|
sampler_limit, reserved, sampler_heap_budget); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|