[ClientSharedImage] Refactor CreateSharedImage()
As part of the effort of introducing ClientSharedImage, this CL
continues to refactor CreateSharedImage() so that this function
returns a pointer to ClientSharedImage instead of a mailbox.
Bug: 1494911
Change-Id: I5ac5ed7fdb2a6af4c3c2f41db94747c7b5044050
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4986181
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Commit-Queue: Mingjing Zhang <mjzhang@chromium.org>
Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org>
Reviewed-by: Peter McNeeley <petermcneeley@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Reviewed-by: Khushal Sagar <khushalsagar@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1218193}
diff --git a/cc/raster/gpu_raster_buffer_provider.cc b/cc/raster/gpu_raster_buffer_provider.cc
index 2d1dde8a..5fc41f8a 100644
--- a/cc/raster/gpu_raster_buffer_provider.cc
+++ b/cc/raster/gpu_raster_buffer_provider.cc
@@ -29,6 +29,7 @@
#include "components/viz/common/features.h"
#include "components/viz/common/gpu/raster_context_provider.h"
#include "gpu/GLES2/gl2extchromium.h"
+#include "gpu/command_buffer/client/client_shared_image.h"
#include "gpu/command_buffer/client/context_support.h"
#include "gpu/command_buffer/client/raster_interface.h"
#include "gpu/command_buffer/client/shared_image_interface.h"
@@ -380,10 +381,12 @@
} else if (client_->is_using_raw_draw_) {
flags |= gpu::SHARED_IMAGE_USAGE_RAW_DRAW;
}
- backing_->mailbox = sii->CreateSharedImage(
+ auto client_shared_image = sii->CreateSharedImage(
shared_image_format_, resource_size_, color_space_,
kTopLeft_GrSurfaceOrigin, kPremul_SkAlphaType, flags, "GpuRasterTile",
gpu::kNullSurfaceHandle);
+ CHECK(client_shared_image);
+ backing_->mailbox = client_shared_image->mailbox();
mailbox_needs_clear = true;
ri->WaitSyncTokenCHROMIUM(sii->GenUnverifiedSyncToken().GetConstData());
} else {