Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e59f8263 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "SF: Trigger ANR when buffer exceeds max size"

parents 615c1f39 ae9ab533
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -7022,9 +7022,16 @@ std::shared_ptr<renderengine::ExternalTexture> SurfaceFlinger::getExternalTextur
        BufferData& bufferData, const char* layerName, uint64_t transactionId) {
    if (bufferData.buffer &&
        exceedsMaxRenderTargetSize(bufferData.buffer->getWidth(), bufferData.buffer->getHeight())) {
        ALOGE("Attempted to create an ExternalTexture for layer %s that exceeds render target "
              "size limit.",
              layerName);
        std::string errorMessage =
                base::StringPrintf("Attempted to create an ExternalTexture with size (%u, %u) for "
                                   "layer %s that exceeds render target size limit of %u.",
                                   bufferData.buffer->getWidth(), bufferData.buffer->getHeight(),
                                   layerName, static_cast<uint32_t>(mMaxRenderTargetSize));
        ALOGD("%s", errorMessage.c_str());
        if (bufferData.releaseBufferListener) {
            bufferData.releaseBufferListener->onTransactionQueueStalled(
                    String8(errorMessage.c_str()));
        }
        return nullptr;
    }