FrameCapture: Update context limits
We're seeing multiple titles run incorrectly without
updating these two limits during capture.
I've verified locally that these still fit within the
limits of all modern devices we're looking at.
If there are any problems with older devices, we can
address them with:
addIntegerPrerequisite(GL_MAX_DRAW_BUFFERS_EXT, 6);
addIntegerPrerequisite(GL_MAX_VERTEX_UNIFORM_VECTORS, 4096);
Bug: b/431854319
Bug: b/433331917
Change-Id: Id21de17acc4d24157dfe07de6b9de818561399ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6775624
Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
diff --git a/src/libANGLE/Context.cpp b/src/libANGLE/Context.cpp
index 5535d54..b937e8a 100644
--- a/src/libANGLE/Context.cpp
+++ b/src/libANGLE/Context.cpp
@@ -4416,8 +4416,8 @@
"supported on some native drivers";
extensions->textureMirrorClampToEdgeEXT = false;
- // NVIDIA's Vulkan driver only supports 4 draw buffers
- constexpr GLint maxDrawBuffers = 4;
+ // Modern content is starting to require 6
+ constexpr GLint maxDrawBuffers = 6;
INFO() << "Limiting draw buffer count to " << maxDrawBuffers;
ANGLE_LIMIT_CAP(caps->maxDrawBuffers, maxDrawBuffers);
@@ -4468,11 +4468,6 @@
INFO() << "Limiting GL_MAX_SAMPLES to " << maxSamples;
ANGLE_LIMIT_CAP(caps->maxSamples, maxSamples);
- // Pixel 4/5 only supports GL_MAX_VERTEX_UNIFORM_VECTORS of 256
- constexpr GLint maxVertexUniformVectors = 256;
- INFO() << "Limiting GL_MAX_VERTEX_UNIFORM_VECTORS to " << maxVertexUniformVectors;
- ANGLE_LIMIT_CAP(caps->maxVertexUniformVectors, maxVertexUniformVectors);
-
// Test if we require shadow memory for coherent buffer tracking
getShareGroup()->getFrameCaptureShared()->determineMemoryProtectionSupport(this);
}