Commit 41f86f35 by Gert Wollny Committed by Angle LUCI CQ

Capture: Serialize only the content of initialized attachments

If a resource is marked MayNeedInit, then we don't serialize it but mark the data as not initialized. Bug: angleproject:6041 Change-Id: If3d3431a58848f7835692fe10b30fab68c901d8a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2976657Reviewed-by: 's avatarCody Northrop <cnorthrop@google.com> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
parent ac795859
...@@ -398,10 +398,18 @@ Result SerializeFramebufferAttachment(const gl::Context *context, ...@@ -398,10 +398,18 @@ Result SerializeFramebufferAttachment(const gl::Context *context,
framebuffer->setReadBuffer(framebufferAttachment.getBinding()); framebuffer->setReadBuffer(framebufferAttachment.getBinding());
ANGLE_TRY(framebuffer->syncState(context, GL_FRAMEBUFFER, gl::Command::Other)); ANGLE_TRY(framebuffer->syncState(context, GL_FRAMEBUFFER, gl::Command::Other));
} }
MemoryBuffer *pixelsPtr = nullptr;
ANGLE_TRY(ReadPixelsFromAttachment(context, framebuffer, framebufferAttachment, if (framebufferAttachment.initState() == gl::InitState::Initialized)
scratchBuffer, &pixelsPtr)); {
json->addBlob("Data", pixelsPtr->data(), pixelsPtr->size()); MemoryBuffer *pixelsPtr = nullptr;
ANGLE_TRY(ReadPixelsFromAttachment(context, framebuffer, framebufferAttachment,
scratchBuffer, &pixelsPtr));
json->addBlob("Data", pixelsPtr->data(), pixelsPtr->size());
}
else
{
json->addCString("Data", "Not initialized");
}
// Reset framebuffer state // Reset framebuffer state
framebuffer->setReadBuffer(prevReadBufferState); framebuffer->setReadBuffer(prevReadBufferState);
} }
......
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