36 [[nodiscard]] std::string name()
const noexcept override;
39 [[nodiscard]]
lib::Uuid uuid()
const noexcept override;
42 [[nodiscard]]
unsigned vendorId()
const noexcept override;
45 [[nodiscard]]
unsigned deviceId()
const noexcept override;
48 [[nodiscard]] GraphicsAdapterType type()
const noexcept override;
51 [[nodiscard]]
unsigned driverVersion()
const noexcept override;
54 [[nodiscard]]
unsigned apiVersion()
const noexcept override;
57 [[nodiscard]]
unsigned long long dedicatedVideoMemory()
const noexcept override;
63 [[nodiscard]] VkPhysicalDeviceLimits limits()
const noexcept;
69 [[nodiscard]] std::vector<std::string> deviceExtensions()
const noexcept;
78 [[nodiscard]]
bool validateDeviceExtensions(
const std::vector<std::string>& extensions)
const noexcept;
84 [[nodiscard]] std::vector<std::string> deviceValidationLayers()
const noexcept;
93 [[nodiscard]]
bool validateDeviceValidationLayers(
const std::vector<std::string>& layers)
const noexcept;
97 std::unique_ptr<Impl> m_impl;