#include "dawn/native/opengl/PhysicalDeviceGL.h"
#include <algorithm>
#include <memory>
#include <string>
#include <string_view>
#include <utility>
#include "dawn/common/GPUInfo.h"
#include "dawn/native/ChainUtils.h"
#include "dawn/native/Instance.h"
#include "dawn/native/opengl/ContextEGL.h"
#include "dawn/native/opengl/DeviceGL.h"
#include "dawn/native/opengl/DisplayEGL.h"
#include "dawn/native/opengl/SwapChainEGL.h"
namespace dawn::native::opengl {
namespace {
struct Vendor { … };
const Vendor kVendors[] = …;
uint32_t GetVendorIdFromVendors(const char* vendor) { … }
uint32_t GetDeviceIdFromRender(std::string_view render) { … }
bool IsANGLEDesktopGL(std::string renderer) { … }
}
ResultOrError<Ref<PhysicalDevice>> PhysicalDevice::Create(wgpu::BackendType backendType,
Ref<DisplayEGL> display) { … }
PhysicalDevice::PhysicalDevice(wgpu::BackendType backendType, Ref<DisplayEGL> display)
: … { … }
DisplayEGL* PhysicalDevice::GetDisplay() const { … }
bool PhysicalDevice::SupportsExternalImages() const { … }
MaybeError PhysicalDevice::InitializeImpl() { … }
void PhysicalDevice::InitializeSupportedFeaturesImpl() { … }
namespace {
GLint Get(const OpenGLFunctions& gl, GLenum pname) { … }
GLint GetIndexed(const OpenGLFunctions& gl, GLenum pname, GLuint index) { … }
}
MaybeError PhysicalDevice::InitializeSupportedLimitsImpl(CombinedLimits* limits) { … }
void PhysicalDevice::SetupBackendAdapterToggles(dawn::platform::Platform* platform,
TogglesState* adapterToggles) const { … }
void PhysicalDevice::SetupBackendDeviceToggles(dawn::platform::Platform* platform,
TogglesState* deviceToggles) const { … }
ResultOrError<Ref<DeviceBase>> PhysicalDevice::CreateDeviceImpl(
AdapterBase* adapter,
const UnpackedPtr<DeviceDescriptor>& descriptor,
const TogglesState& deviceToggles,
Ref<DeviceBase::DeviceLostEvent>&& lostEvent) { … }
bool PhysicalDevice::SupportsFeatureLevel(FeatureLevel featureLevel) const { … }
ResultOrError<PhysicalDeviceSurfaceCapabilities> PhysicalDevice::GetSurfaceCapabilities(
InstanceBase*,
const Surface*) const { … }
FeatureValidationResult PhysicalDevice::ValidateFeatureSupportedWithTogglesImpl(
wgpu::FeatureName feature,
const TogglesState& toggles) const { … }
void PhysicalDevice::PopulateBackendProperties(UnpackedPtr<AdapterProperties>& properties) const { … }
}