-
Notifications
You must be signed in to change notification settings - Fork 0
/
Device.h
19 lines (12 loc) · 868 Bytes
/
Device.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#pragma once
#include <vulkan/vulkan_core.h>
#include <optional>
#include <vector>
namespace ShmulkDevice {
void pickPhysicalDevice(VkInstance* instance, VkPhysicalDevice* physicalDevice, VkSurfaceKHR* surface, VkSampleCountFlagBits* msaaSamples, const std::vector<const char*> deviceExtensions);
void createLogicalDevice(VkPhysicalDevice* physicalDevice, VkQueue* graphicsQueue, VkQueue* presentQueue, VkDevice* device, VkSurfaceKHR* surface,
const std::vector<const char*> deviceExtensions, const std::vector<const char*> validationLayers);
bool checkDeviceExtensionSupport(VkPhysicalDevice* device, const std::vector<const char*> deviceExtensions);
bool isDeviceSuitable(VkPhysicalDevice* device, const std::vector<const char*> deviceExtensions);
VkSampleCountFlagBits getMaxUsableSampleCount(VkPhysicalDevice* physicalDevice);
}