mirror of
https://github.com/Kbz-8/Pulse.git
synced 2026-03-04 04:16:36 +00:00
adding device selection, buffer creation and pipeline creation to Metal backend
This commit is contained in:
@@ -167,13 +167,17 @@ PulseDevice VulkanCreateDevice(PulseBackend backend, PulseDevice* forbiden_devic
|
||||
instance->vkGetPhysicalDeviceMemoryProperties(device->physical, &device->memory_properties);
|
||||
instance->vkGetPhysicalDeviceFeatures(device->physical, &device->features);
|
||||
|
||||
const char* extensions[] = {
|
||||
"VK_KHR_portability_subset",
|
||||
};
|
||||
|
||||
VkDeviceCreateInfo create_info = { 0 };
|
||||
create_info.sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO;
|
||||
create_info.queueCreateInfoCount = unique_queues_count;
|
||||
create_info.pQueueCreateInfos = queue_create_infos;
|
||||
create_info.pEnabledFeatures = &device->features;
|
||||
create_info.enabledExtensionCount = 0;
|
||||
create_info.ppEnabledExtensionNames = PULSE_NULLPTR;
|
||||
create_info.enabledExtensionCount = 1;
|
||||
create_info.ppEnabledExtensionNames = extensions;
|
||||
create_info.enabledLayerCount = 0;
|
||||
create_info.ppEnabledLayerNames = PULSE_NULLPTR;
|
||||
create_info.flags = 0;
|
||||
|
||||
@@ -115,7 +115,7 @@ static VkInstance VulkanCreateInstance(PulseBackend backend, const char** extens
|
||||
create_info.pApplicationInfo = &app_info;
|
||||
create_info.enabledExtensionCount = extensions_count;
|
||||
create_info.ppEnabledExtensionNames = extensions_enabled;
|
||||
#ifdef PULSE_PLAT_MACOS
|
||||
#ifdef PULSE_PLAT_APPLE
|
||||
create_info.flags = VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR;
|
||||
#else
|
||||
create_info.flags = 0;
|
||||
@@ -151,7 +151,7 @@ static VkInstance VulkanCreateInstance(PulseBackend backend, const char** extens
|
||||
|
||||
bool VulkanInitInstance(PulseBackend backend, VulkanInstance* instance, PulseDebugLevel debug_level)
|
||||
{
|
||||
#ifdef PULSE_PLAT_MACOS
|
||||
#ifdef PULSE_PLAT_APPLE
|
||||
const char* extensions[] = {
|
||||
VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME,
|
||||
};
|
||||
|
||||
@@ -40,7 +40,7 @@ bool VulkanInitLoader()
|
||||
const char* libnames[] = {
|
||||
"vulkan-1.dll"
|
||||
};
|
||||
#elif defined(PULSE_PLAT_MACOS)
|
||||
#elif defined(PULSE_PLAT_APPLE)
|
||||
const char* libnames[] = {
|
||||
"libvulkan.dylib",
|
||||
"libvulkan.1.dylib",
|
||||
|
||||
Reference in New Issue
Block a user