Android-cuttlefish cvd tool
Classes | Namespaces | Macros | Typedefs | Functions | Variables
graphics_flags.cc File Reference
#include "cuttlefish/host/commands/assemble_cvd/graphics_flags.h"
#include <stddef.h>
#include <functional>
#include <ostream>
#include <string_view>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <vector>
#include "absl/log/log.h"
#include "absl/strings/ascii.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/str_join.h"
#include "absl/strings/str_split.h"
#include "android-base/file.h"
#include "fmt/base.h"
#include "fmt/ostream.h"
#include "google/protobuf/io/tokenizer.h"
#include "google/protobuf/text_format.h"
#include "cuttlefish/common/libs/utils/contains.h"
#include "cuttlefish/common/libs/utils/files.h"
#include "cuttlefish/common/libs/utils/host_info.h"
#include "cuttlefish/common/libs/utils/semver.h"
#include "cuttlefish/host/commands/assemble_cvd/guest_config.h"
#include "cuttlefish/host/graphics_detector/graphics_detector.pb.h"
#include "cuttlefish/host/libs/config/config_constants.h"
#include "cuttlefish/host/libs/config/config_utils.h"
#include "cuttlefish/host/libs/config/cuttlefish_config.h"
#include "cuttlefish/host/libs/config/gpu_mode.h"
#include "cuttlefish/host/libs/config/guest_hwui_renderer.h"
#include "cuttlefish/host/libs/config/guest_renderer_preload.h"
#include "cuttlefish/host/libs/config/vmm_mode.h"
#include "cuttlefish/process/command.h"
#include "cuttlefish/process/managed_stdio.h"
#include "cuttlefish/result/result.h"
Include dependency graph for graphics_flags.cc:

Classes

struct  cuttlefish::anonymous_namespace{graphics_flags.cc}::AggregatingErrorCollector
 
struct  cuttlefish::anonymous_namespace{graphics_flags.cc}::CommonState
 
struct  cuttlefish::anonymous_namespace{graphics_flags.cc}::RequirementWithReason
 
struct  cuttlefish::anonymous_namespace{graphics_flags.cc}::AngleFeatures
 
struct  cuttlefish::anonymous_namespace{graphics_flags.cc}::AngleFeatureOverrides
 
struct  cuttlefish::anonymous_namespace{graphics_flags.cc}::VhostUserGpuHostRendererFeatures
 

Namespaces

namespace  cuttlefish
 
namespace  cuttlefish::anonymous_namespace{graphics_flags.cc}
 

Macros

#define CF_UNUSED_ON_MACOS
 

Typedefs

using cuttlefish::anonymous_namespace{graphics_flags.cc}::MeetsRequirementFunc = std::function< bool(const CommonState &common)>
 

Functions

bool cuttlefish::anonymous_namespace{graphics_flags.cc}::IsLikelySoftwareRenderer (const std::string &renderer)
 
bool cuttlefish::anonymous_namespace{graphics_flags.cc}::IsAmdGpu (const gfxstream::proto::GraphicsAvailability &availability)
 
const std::unordered_map< GpuMode, std::vector< RequirementWithReason > > & cuttlefish::anonymous_namespace{graphics_flags.cc}::GetGpuModeRequirementsMap ()
 
std::ostream & cuttlefish::anonymous_namespace{graphics_flags.cc}::operator<< (std::ostream &stream, const AngleFeatures &features)
 
Result< AngleFeatures > cuttlefish::anonymous_namespace{graphics_flags.cc}::GetNeededAngleFeaturesBasedOnQuirks (const GpuMode mode, const ::gfxstream::proto::GraphicsAvailability &availability)
 
CF_UNUSED_ON_MACOS Result< AngleFeatureOverrides > cuttlefish::anonymous_namespace{graphics_flags.cc}::GetNeededAngleFeatures (const GpuMode mode, const ::gfxstream::proto::GraphicsAvailability &availability)
 
CF_UNUSED_ON_MACOS Result< VhostUserGpuHostRendererFeatures > cuttlefish::anonymous_namespace{graphics_flags.cc}::GetNeededVhostUserGpuHostRendererFeatures (GpuMode mode, const ::gfxstream::proto::GraphicsAvailability &availability)
 
bool cuttlefish::anonymous_namespace{graphics_flags.cc}::EnableHostRenderingByDefault ()
 
std::vector< GpuMode > cuttlefish::anonymous_namespace{graphics_flags.cc}::GetGpuModeCandidates (const GuestConfig &guest_config)
 
Result< bool > cuttlefish::anonymous_namespace{graphics_flags.cc}::GpuModeRequirementsMet (const CommonState &common, const GpuMode gpu_mode)
 
Result< std::vector< GpuMode > > cuttlefish::anonymous_namespace{graphics_flags.cc}::GetSupportedGpuModeCandidates (const CommonState &common, const std::vector< GpuMode > &candidates)
 
Result< GpuMode > cuttlefish::anonymous_namespace{graphics_flags.cc}::SelectGpuMode (const GpuMode gpu_mode_arg, VmmMode vmm, const GuestConfig &guest_config, const gfxstream::proto::GraphicsAvailability &graphics_availability)
 
Result< bool > cuttlefish::anonymous_namespace{graphics_flags.cc}::SelectGpuVhostUserMode (const GpuMode gpu_mode, const std::string &gpu_vhost_user_mode_arg, VmmMode vmm)
 
Result< GuestHwuiRenderer > cuttlefish::anonymous_namespace{graphics_flags.cc}::SelectGuestHwuiRenderer (const GpuMode gpu_mode, const GuestConfig &guest_config, const std::string &guest_hwui_renderer_arg)
 
Result< GuestRendererPreload > cuttlefish::anonymous_namespace{graphics_flags.cc}::SelectGuestRendererPreload (const GpuMode gpu_mode, const GuestHwuiRenderer guest_hwui_renderer, const std::string &guest_renderer_preload_arg)
 
CF_UNUSED_ON_MACOS Result< std::unordered_map< std::string, bool > > cuttlefish::anonymous_namespace{graphics_flags.cc}::ParseGfxstreamRendererFlag (const std::string &gpu_renderer_features_arg)
 
CF_UNUSED_ON_MACOS std::string cuttlefish::anonymous_namespace{graphics_flags.cc}::GetGfxstreamRendererFeaturesString (const std::unordered_map< std::string, bool > &features)
 
CF_UNUSED_ON_MACOS bool cuttlefish::anonymous_namespace{graphics_flags.cc}::HasMultipleGraphicsQueues (const gfxstream::proto::GraphicsAvailability &availability)
 
CF_UNUSED_ON_MACOS Result< void > cuttlefish::anonymous_namespace{graphics_flags.cc}::SetGfxstreamFlags (const GpuMode gpu_mode, const GuestHwuiRenderer hwui_renderer, const std::string &gpu_renderer_features_arg, const GuestConfig &guest_config, const gfxstream::proto::GraphicsAvailability &availability, CuttlefishConfig::MutableInstanceSpecific &instance)
 
gfxstream::proto::GraphicsAvailability cuttlefish::GetGraphicsAvailabilityWithSubprocessCheck ()
 
Result< GpuMode > cuttlefish::ConfigureGpuSettings (const gfxstream::proto::GraphicsAvailability &graphics_availability, GpuMode gpu_mode_arg, const std::string &gpu_vhost_user_mode_arg, const std::string &gpu_renderer_features_arg, std::string &gpu_context_types_arg, const std::string &guest_hwui_renderer_arg, const std::string &guest_renderer_preload_arg, VmmMode vmm, const GuestConfig &guest_config, CuttlefishConfig::MutableInstanceSpecific &instance)
 

Variables

const std::string cuttlefish::anonymous_namespace{graphics_flags.cc}::kGfxstreamTransportAsg = "virtio-gpu-asg"
 
const std::string cuttlefish::anonymous_namespace{graphics_flags.cc}::kGfxstreamTransportPipe = "virtio-gpu-pipe"
 
static std::unordered_set< std::string > cuttlefish::anonymous_namespace{graphics_flags.cc}::kSupportedGpuContexts
 

Macro Definition Documentation

◆ CF_UNUSED_ON_MACOS

#define CF_UNUSED_ON_MACOS