[go: nahoru, domu]

[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 {