Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit faabf0c

Browse files
Fix MakeRenderContextCurrent to handle software rendering (#6827)
1 parent 14db8b3 commit faabf0c

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

shell/common/rasterizer.cc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,16 +93,16 @@ sk_sp<SkImage> Rasterizer::MakeRasterSnapshot(sk_sp<SkPicture> picture,
9393
SkISize picture_size) {
9494
TRACE_EVENT0("flutter", __FUNCTION__);
9595

96-
if (!surface_->MakeRenderContextCurrent()) {
97-
return nullptr;
98-
}
99-
10096
sk_sp<SkSurface> surface;
10197
if (surface_ == nullptr || surface_->GetContext() == nullptr) {
10298
// Raster surface is fine if there is no on screen surface. This might
10399
// happen in case of software rendering.
104100
surface = SkSurface::MakeRaster(SkImageInfo::MakeN32Premul(picture_size));
105101
} else {
102+
if (!surface_->MakeRenderContextCurrent()) {
103+
return nullptr;
104+
}
105+
106106
// When there is an on screen surface, we need a render target SkSurface
107107
// because we want to access texture backed images.
108108
surface = SkSurface::MakeRenderTarget(

0 commit comments

Comments
 (0)