#include "dawn/native/Adapter.h"
#include <algorithm>
#include <memory>
#include <string>
#include <tuple>
#include <unordered_set>
#include <utility>
#include <vector>
#include "dawn/common/Log.h"
#include "dawn/native/ChainUtils.h"
#include "dawn/native/Device.h"
#include "dawn/native/Instance.h"
#include "dawn/native/PhysicalDevice.h"
#include "partition_alloc/pointers/raw_ptr.h"
namespace dawn::native {
namespace {
static constexpr DeviceDescriptor kDefaultDeviceDesc = …;
}
AdapterBase::AdapterBase(InstanceBase* instance,
Ref<PhysicalDeviceBase> physicalDevice,
FeatureLevel featureLevel,
const TogglesState& requiredAdapterToggles,
wgpu::PowerPreference powerPreference)
: … { … }
AdapterBase::~AdapterBase() = default;
void AdapterBase::SetUseTieredLimits(bool useTieredLimits) { … }
FeaturesSet AdapterBase::GetSupportedFeatures() const { … }
PhysicalDeviceBase* AdapterBase::GetPhysicalDevice() { … }
const PhysicalDeviceBase* AdapterBase::GetPhysicalDevice() const { … }
InstanceBase* AdapterBase::GetInstance() const { … }
InstanceBase* AdapterBase::APIGetInstance() const { … }
wgpu::Status AdapterBase::APIGetLimits(SupportedLimits* limits) const { … }
wgpu::Status AdapterBase::APIGetInfo(AdapterInfo* info) const { … }
wgpu::Status AdapterBase::APIGetProperties(AdapterProperties* properties) const { … }
wgpu::Status AdapterBase::GetPropertiesInternal(AdapterProperties* properties) const { … }
void APIAdapterInfoFreeMembers(WGPUAdapterInfo info) { … }
void APIAdapterPropertiesFreeMembers(WGPUAdapterProperties properties) { … }
void APIAdapterPropertiesMemoryHeapsFreeMembers(
WGPUAdapterPropertiesMemoryHeaps memoryHeapProperties) { … }
void APIDrmFormatCapabilitiesFreeMembers(WGPUDrmFormatCapabilities capabilities) { … }
bool AdapterBase::APIHasFeature(wgpu::FeatureName feature) const { … }
size_t AdapterBase::APIEnumerateFeatures(wgpu::FeatureName* features) const { … }
DeviceBase* AdapterBase::APICreateDevice(const DeviceDescriptor* descriptor) { … }
ResultOrError<Ref<DeviceBase>> AdapterBase::CreateDeviceInternal(
const DeviceDescriptor* rawDescriptor,
Ref<DeviceBase::DeviceLostEvent> lostEvent) { … }
std::pair<Ref<DeviceBase::DeviceLostEvent>, ResultOrError<Ref<DeviceBase>>>
AdapterBase::CreateDevice(const DeviceDescriptor* descriptor) { … }
void AdapterBase::APIRequestDevice(const DeviceDescriptor* descriptor,
WGPURequestDeviceCallback callback,
void* userdata) { … }
Future AdapterBase::APIRequestDeviceF(const DeviceDescriptor* descriptor,
const RequestDeviceCallbackInfo& callbackInfo) { … }
Future AdapterBase::APIRequestDevice2(const DeviceDescriptor* descriptor,
const WGPURequestDeviceCallbackInfo2& callbackInfo) { … }
wgpu::Status AdapterBase::APIGetFormatCapabilities(wgpu::TextureFormat format,
FormatCapabilities* capabilities) { … }
const TogglesState& AdapterBase::GetTogglesState() const { … }
FeatureLevel AdapterBase::GetFeatureLevel() const { … }
const std::string& AdapterBase::GetName() const { … }
std::vector<Ref<AdapterBase>> SortAdapters(std::vector<Ref<AdapterBase>> adapters,
const RequestAdapterOptions* options) { … }
}