DevCheck-lib/myphoneinfo/andinfo/src/main/cpp/vulkan/VkSession.h
2025-12-09 13:48:11 +08:00

33 lines
780 B
C++

/*
* SPDX-FileCopyrightText: Sebastiano Barezzi
* SPDX-License-Identifier: Apache-2.0
*/
#pragma once
#include <memory>
#include <vector>
#include "./vkloader.h"
class VkSession {
public:
VkSession(const VkSession &) = delete;
~VkSession();
VkSession &operator=(const VkSession &) = delete;
std::vector<VkPhysicalDevice> vkEnumeratePhysicalDevices();
static std::unique_ptr<VkSession>
create(const VkInstanceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator);
VkPhysicalDeviceProperties vkGetPhysicalDeviceProperties(VkPhysicalDevice device);
private:
VkSession(const VkInstanceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator);
VkInstance mInstance = nullptr;
VulkanLoader* mLoader= nullptr;
};