// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef GPU_COMMAND_BUFFER_COMMON_SHARED_IMAGE_CAPABILITIES_H_
#define GPU_COMMAND_BUFFER_COMMON_SHARED_IMAGE_CAPABILITIES_H_

#include <stdint.h>

#include "build/build_config.h"
#include "gpu/command_buffer/common/gpu_command_buffer_common_export.h"

namespace gpu {

struct GPU_COMMAND_BUFFER_COMMON_EXPORT SharedImageCapabilities {
  SharedImageCapabilities();
  SharedImageCapabilities(const SharedImageCapabilities& other);
  ~SharedImageCapabilities();

  bool supports_scanout_shared_images = false;

#if BUILDFLAG(IS_WIN)
  // On Windows, overlays are in general not supported. However, in some cases
  // they are supported for the software video frame use case in particular.
  // This cap details whether that support is present.
  bool supports_scanout_shared_images_for_software_video_frames = false;
#endif

  bool supports_luminance_shared_images = false;
  bool supports_r16_shared_images = false;
  bool supports_native_nv12_mappable_shared_images = false;
  bool is_r16f_supported = false;
  bool disable_r8_shared_images = false;
  bool disable_webgpu_shared_images = false;
  bool disable_one_component_textures = false;

  bool shared_image_d3d = false;
  bool shared_image_swap_chain = false;

#if BUILDFLAG(IS_MAC)
  uint32_t texture_target_for_io_surfaces = 0;
#endif
};

}  // namespace gpu

#endif  // GPU_COMMAND_BUFFER_COMMON_SHARED_IMAGE_CAPABILITIES_H_
