Commit cea73963 by Alexis Hetu Committed by Commit Bot

Vulkan: Base max renderbuffer size on max framebuffer size

maxRenderbufferSize was based on max2DTextureSize, which is larger in SwiftShader than maxFramebufferX. This was causing the dEQP-GLES3.functional.shaders.builtin_functions.precision.* tests to create rendertargets that were too large for what SwiftShader supports. Adding checks for maxFramebufferX values on top of the max2DTextureSize check fixes all the tests. Bug: angleproject:3990 Change-Id: I006d2ddeb0f7e582d6aef88457cfb292efd5a05c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1852709 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
parent 67a017f4
...@@ -132,7 +132,9 @@ void RendererVk::ensureCapsInitialized() const ...@@ -132,7 +132,9 @@ void RendererVk::ensureCapsInitialized() const
mNativeCaps.maxArrayTextureLayers = limitsVk.maxImageArrayLayers; mNativeCaps.maxArrayTextureLayers = limitsVk.maxImageArrayLayers;
mNativeCaps.maxLODBias = limitsVk.maxSamplerLodBias; mNativeCaps.maxLODBias = limitsVk.maxSamplerLodBias;
mNativeCaps.maxCubeMapTextureSize = limitsVk.maxImageDimensionCube; mNativeCaps.maxCubeMapTextureSize = limitsVk.maxImageDimensionCube;
mNativeCaps.maxRenderbufferSize = mNativeCaps.max2DTextureSize; mNativeCaps.maxRenderbufferSize =
std::min({limitsVk.maxImageDimension2D, limitsVk.maxFramebufferWidth,
limitsVk.maxFramebufferHeight});
mNativeCaps.minAliasedPointSize = std::max(1.0f, limitsVk.pointSizeRange[0]); mNativeCaps.minAliasedPointSize = std::max(1.0f, limitsVk.pointSizeRange[0]);
mNativeCaps.maxAliasedPointSize = limitsVk.pointSizeRange[1]; mNativeCaps.maxAliasedPointSize = limitsVk.pointSizeRange[1];
......
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