Commit e7b9118b by Xinyi He Committed by Commit Bot

Vulkan: Set maxShaderImageUniforms zero on some Mali GPUs

Some Mali GPUs don't support vertexPipelineStoresAndAtomics feature, so the maxShaderImageUniforms should be set zero. Bug: angleproject:4629 Change-Id: I754506dd27c75b3dfd5ab695e24a680f683ca78a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2195424 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
parent 3d598abb
...@@ -425,10 +425,15 @@ void RendererVk::ensureCapsInitialized() const ...@@ -425,10 +425,15 @@ void RendererVk::ensureCapsInitialized() const
// GL Images correspond to Vulkan Storage Images. // GL Images correspond to Vulkan Storage Images.
const int32_t maxPerStageImages = LimitToInt(limitsVk.maxPerStageDescriptorStorageImages); const int32_t maxPerStageImages = LimitToInt(limitsVk.maxPerStageDescriptorStorageImages);
const int32_t maxCombinedImages = LimitToInt(limitsVk.maxDescriptorSetStorageImages); const int32_t maxCombinedImages = LimitToInt(limitsVk.maxDescriptorSetStorageImages);
for (gl::ShaderType shaderType : gl::AllShaderTypes())
{ mNativeCaps.maxShaderImageUniforms[gl::ShaderType::Vertex] =
mNativeCaps.maxShaderImageUniforms[shaderType] = maxPerStageImages; mPhysicalDeviceFeatures.vertexPipelineStoresAndAtomics ? maxPerStageImages : 0;
} mNativeCaps.maxShaderImageUniforms[gl::ShaderType::Fragment] =
mPhysicalDeviceFeatures.fragmentStoresAndAtomics ? maxPerStageImages : 0;
mNativeCaps.maxShaderImageUniforms[gl::ShaderType::Geometry] =
mPhysicalDeviceFeatures.vertexPipelineStoresAndAtomics ? maxPerStageImages : 0;
mNativeCaps.maxShaderImageUniforms[gl::ShaderType::Compute] = maxPerStageImages;
mNativeCaps.maxCombinedImageUniforms = maxCombinedImages; mNativeCaps.maxCombinedImageUniforms = maxCombinedImages;
mNativeCaps.maxImageUnits = maxCombinedImages; mNativeCaps.maxImageUnits = maxCombinedImages;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment