Fix Vulkan headless backend resize (#4030)

This commit is contained in:
Adrian Cojocaru
2026-01-08 12:54:58 +02:00
committed by GitHub
parent 3f64c7e646
commit 32eed7a806
4 changed files with 34 additions and 6 deletions

View File

@@ -75,16 +75,21 @@ gfx::Renderable& HeadlessBackend::getDefaultRenderable() {
}
PremultipliedImage HeadlessBackend::readStillImage() {
if (!resource) {
resource = std::make_unique<HeadlessRenderableResource>(*this);
}
auto& contextImpl = static_cast<Context&>(*context);
auto& resourceImpl = static_cast<HeadlessRenderableResource&>(*resource);
if (!texture) {
texture = std::make_unique<Texture2D>(contextImpl);
texture->setFormat(gfx::TexturePixelType::RGBA, gfx::TextureChannelDataType::UnsignedByte);
texture->setSize(size);
texture->setUsage(Texture2DUsage::Read);
}
texture->setSize(size);
contextImpl.waitFrame();
texture->copyImage(resourceImpl.getAcquiredImage());