Commit 617cb015 by Courtney Goeltzenleuchter Committed by Commit Bot

Enable blob cache when debugging

We've had several issues with shader caches which are only implemented on Android which makes them challenging to debug. The existing BlobCache object has a default implementation that is disabled by default. When debug layers are enabled resize the default cache so that it gets used and provides behavior closer to Android. This caching will be enabled when debug layers are enabled, e.g. EGL_PLATFORM_ANGLE_DEBUG_LAYERS_ENABLED_ANGLE attribute is true. This is done for angle_end2end_tests and deqp tests. Bug: b:152292873 Change-Id: I9dcd90a1a8da88127bf8dac25031056b7279207e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2113133 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
parent 50a47bd9
......@@ -655,6 +655,14 @@ Error Display::initialize()
ASSERT(mImplementation != nullptr);
mImplementation->setBlobCache(&mBlobCache);
// Enable shader caching if debug layers are turned on. This allows us to test that shaders are
// properly saved & restored on all platforms. The cache won't allocate space until it's used
// and will be ignored entirely if the application / system sets it's own cache functions.
if (rx::ShouldUseDebugLayers(mAttributeMap))
{
mBlobCache.resize(1024 * 1024);
}
gl::InitializeDebugAnnotations(&mAnnotator);
gl::InitializeDebugMutexIfNeeded();
......
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