18#ifndef INCLUDED_RENDERER_BACKEND_VULKAN_DEVICESELECTION
19#define INCLUDED_RENDERER_BACKEND_VULKAN_DEVICESELECTION
23#include <glad/vulkan.h>
42 VkPhysicalDevice
device = VK_NULL_HANDLE;
69 VkInstance instance, VkSurfaceKHR surface,
70 const std::vector<const char*>& requiredDeviceExtensions);
90 const VkSurfaceFormatKHR& surfaceFormat);
Spidermonkey maintains some 'local' state via the JSContext* object.
Definition: ScriptRequest.h:60
bool ComparePhysicalDevices(const SAvailablePhysicalDevice &device1, const SAvailablePhysicalDevice &device2)
Definition: DeviceSelection.cpp:318
std::vector< SAvailablePhysicalDevice > GetAvailablePhysicalDevices(VkInstance instance, VkSurfaceKHR surface, const std::vector< const char * > &requiredDeviceExtensions)
Definition: DeviceSelection.cpp:277
bool IsPhysicalDeviceUnsupported(const SAvailablePhysicalDevice &device)
Definition: DeviceSelection.cpp:300
bool IsSurfaceFormatSupported(const VkSurfaceFormatKHR &surfaceFormat)
Definition: DeviceSelection.cpp:333
void ReportAvailablePhysicalDevice(const SAvailablePhysicalDevice &device, const ScriptRequest &rq, JS::HandleValue settings)
Report all desired information about the available physical device.
Definition: DeviceSelection.cpp:342
Backend
Definition: Backend.h:28
Definition: VideoMode.h:29
Structure to store all information that might be useful on device selection.
Definition: DeviceSelection.h:40
bool hasOutputToSurfaceSupport
Definition: DeviceSelection.h:50
std::vector< VkQueueFamilyProperties > queueFamilies
Definition: DeviceSelection.h:48
VkPhysicalDeviceProperties properties
Definition: DeviceSelection.h:43
VkDeviceSize deviceTotalMemory
Definition: DeviceSelection.h:53
VkPhysicalDeviceFeatures features
Definition: DeviceSelection.h:46
std::vector< VkSurfaceFormatKHR > surfaceFormats
Definition: DeviceSelection.h:57
std::vector< VkPresentModeKHR > presentModes
Definition: DeviceSelection.h:58
VkPhysicalDeviceDescriptorIndexingPropertiesEXT descriptorIndexingProperties
Definition: DeviceSelection.h:44
VkPhysicalDeviceMemoryProperties memoryProperties
Definition: DeviceSelection.h:45
VkPhysicalDeviceDescriptorIndexingFeaturesEXT descriptorIndexingFeatures
Definition: DeviceSelection.h:47
bool hasRequiredExtensions
Definition: DeviceSelection.h:49
VkDeviceSize hostTotalMemory
Definition: DeviceSelection.h:54
size_t presentQueueFamilyIndex
Definition: DeviceSelection.h:52
VkPhysicalDevice device
Definition: DeviceSelection.h:42
uint32_t index
Definition: DeviceSelection.h:41
size_t graphicsQueueFamilyIndex
Definition: DeviceSelection.h:51
std::vector< std::string > extensions
Definition: DeviceSelection.h:55
VkSurfaceCapabilitiesKHR surfaceCapabilities
Definition: DeviceSelection.h:56
unsigned int uint32_t
Definition: wposix_types.h:53