| // Copyright 2024 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| module gpu.mojom; |
| |
| import "services/viz/public/mojom/compositing/shared_image_format.mojom"; |
| import "ui/gfx/geometry/mojom/geometry.mojom"; |
| import "ui/gfx/mojom/color_space.mojom"; |
| import "skia/public/mojom/surface_origin.mojom"; |
| import "skia/public/mojom/image_info.mojom"; |
| |
| // Metadata describing a shared image. |
| struct SharedImageMetadata { |
| // The pixel format of the image. |
| viz.mojom.SharedImageFormat format; |
| |
| // Size in pixels. |
| gfx.mojom.Size size; |
| |
| // Color space. |
| gfx.mojom.ColorSpace color_space; |
| |
| // Which corner is considered the origin of the new image. |
| skia.mojom.SurfaceOrigin surface_origin; |
| |
| // Indicates how the alpha component of each pixel is interpreted. |
| skia.mojom.AlphaType alpha_type; |
| |
| // Usage flags corresponding to values defined in |
| // gpu/command_buffer/common/shared_image_usage.h. |
| uint32 usage; |
| }; |