diff options
Diffstat (limited to 'vulkan/libvulkan')
| -rw-r--r-- | vulkan/libvulkan/api_gen.cpp | 62 | ||||
| -rw-r--r-- | vulkan/libvulkan/code-generator.tmpl | 8 | ||||
| -rw-r--r-- | vulkan/libvulkan/driver.cpp | 10 | ||||
| -rw-r--r-- | vulkan/libvulkan/driver_gen.cpp | 7 | ||||
| -rw-r--r-- | vulkan/libvulkan/driver_gen.h | 3 | ||||
| -rw-r--r-- | vulkan/libvulkan/swapchain.cpp | 25 |
6 files changed, 45 insertions, 70 deletions
diff --git a/vulkan/libvulkan/api_gen.cpp b/vulkan/libvulkan/api_gen.cpp index 7bc04a8205..2aa1d5a4fc 100644 --- a/vulkan/libvulkan/api_gen.cpp +++ b/vulkan/libvulkan/api_gen.cpp @@ -152,23 +152,23 @@ bool InitDispatchTable( INIT_PROC(true, instance, CreateDevice); INIT_PROC(true, instance, EnumerateDeviceExtensionProperties); INIT_PROC(true, instance, GetPhysicalDeviceSparseImageFormatProperties); - INIT_PROC(true, instance, EnumeratePhysicalDeviceGroups); - INIT_PROC(true, instance, GetPhysicalDeviceFeatures2); - INIT_PROC(true, instance, GetPhysicalDeviceProperties2); - INIT_PROC(true, instance, GetPhysicalDeviceFormatProperties2); - INIT_PROC(true, instance, GetPhysicalDeviceImageFormatProperties2); - INIT_PROC(true, instance, GetPhysicalDeviceQueueFamilyProperties2); - INIT_PROC(true, instance, GetPhysicalDeviceMemoryProperties2); - INIT_PROC(true, instance, GetPhysicalDeviceSparseImageFormatProperties2); - INIT_PROC(true, instance, GetPhysicalDeviceExternalBufferProperties); - INIT_PROC(true, instance, GetPhysicalDeviceExternalFenceProperties); - INIT_PROC(true, instance, GetPhysicalDeviceExternalSemaphoreProperties); + INIT_PROC(false, instance, EnumeratePhysicalDeviceGroups); + INIT_PROC(false, instance, GetPhysicalDeviceFeatures2); + INIT_PROC(false, instance, GetPhysicalDeviceProperties2); + INIT_PROC(false, instance, GetPhysicalDeviceFormatProperties2); + INIT_PROC(false, instance, GetPhysicalDeviceImageFormatProperties2); + INIT_PROC(false, instance, GetPhysicalDeviceQueueFamilyProperties2); + INIT_PROC(false, instance, GetPhysicalDeviceMemoryProperties2); + INIT_PROC(false, instance, GetPhysicalDeviceSparseImageFormatProperties2); + INIT_PROC(false, instance, GetPhysicalDeviceExternalBufferProperties); + INIT_PROC(false, instance, GetPhysicalDeviceExternalFenceProperties); + INIT_PROC(false, instance, GetPhysicalDeviceExternalSemaphoreProperties); INIT_PROC_EXT(KHR_surface, true, instance, DestroySurfaceKHR); INIT_PROC_EXT(KHR_surface, true, instance, GetPhysicalDeviceSurfaceSupportKHR); INIT_PROC_EXT(KHR_surface, true, instance, GetPhysicalDeviceSurfaceCapabilitiesKHR); INIT_PROC_EXT(KHR_surface, true, instance, GetPhysicalDeviceSurfaceFormatsKHR); INIT_PROC_EXT(KHR_surface, true, instance, GetPhysicalDeviceSurfacePresentModesKHR); - INIT_PROC_EXT(KHR_swapchain, true, instance, GetPhysicalDevicePresentRectanglesKHR); + INIT_PROC_EXT(KHR_swapchain, false, instance, GetPhysicalDevicePresentRectanglesKHR); INIT_PROC_EXT(KHR_android_surface, true, instance, CreateAndroidSurfaceKHR); // clang-format on @@ -304,30 +304,30 @@ bool InitDispatchTable( INIT_PROC(true, dev, CmdNextSubpass); INIT_PROC(true, dev, CmdEndRenderPass); INIT_PROC(true, dev, CmdExecuteCommands); - INIT_PROC(true, dev, BindBufferMemory2); - INIT_PROC(true, dev, BindImageMemory2); - INIT_PROC(true, dev, GetDeviceGroupPeerMemoryFeatures); - INIT_PROC(true, dev, CmdSetDeviceMask); - INIT_PROC(true, dev, CmdDispatchBase); - INIT_PROC(true, dev, GetImageMemoryRequirements2); - INIT_PROC(true, dev, GetBufferMemoryRequirements2); - INIT_PROC(true, dev, GetImageSparseMemoryRequirements2); - INIT_PROC(true, dev, TrimCommandPool); - INIT_PROC(true, dev, GetDeviceQueue2); - INIT_PROC(true, dev, CreateSamplerYcbcrConversion); - INIT_PROC(true, dev, DestroySamplerYcbcrConversion); - INIT_PROC(true, dev, CreateDescriptorUpdateTemplate); - INIT_PROC(true, dev, DestroyDescriptorUpdateTemplate); - INIT_PROC(true, dev, UpdateDescriptorSetWithTemplate); - INIT_PROC(true, dev, GetDescriptorSetLayoutSupport); + INIT_PROC(false, dev, BindBufferMemory2); + INIT_PROC(false, dev, BindImageMemory2); + INIT_PROC(false, dev, GetDeviceGroupPeerMemoryFeatures); + INIT_PROC(false, dev, CmdSetDeviceMask); + INIT_PROC(false, dev, CmdDispatchBase); + INIT_PROC(false, dev, GetImageMemoryRequirements2); + INIT_PROC(false, dev, GetBufferMemoryRequirements2); + INIT_PROC(false, dev, GetImageSparseMemoryRequirements2); + INIT_PROC(false, dev, TrimCommandPool); + INIT_PROC(false, dev, GetDeviceQueue2); + INIT_PROC(false, dev, CreateSamplerYcbcrConversion); + INIT_PROC(false, dev, DestroySamplerYcbcrConversion); + INIT_PROC(false, dev, CreateDescriptorUpdateTemplate); + INIT_PROC(false, dev, DestroyDescriptorUpdateTemplate); + INIT_PROC(false, dev, UpdateDescriptorSetWithTemplate); + INIT_PROC(false, dev, GetDescriptorSetLayoutSupport); INIT_PROC_EXT(KHR_swapchain, true, dev, CreateSwapchainKHR); INIT_PROC_EXT(KHR_swapchain, true, dev, DestroySwapchainKHR); INIT_PROC_EXT(KHR_swapchain, true, dev, GetSwapchainImagesKHR); INIT_PROC_EXT(KHR_swapchain, true, dev, AcquireNextImageKHR); INIT_PROC_EXT(KHR_swapchain, true, dev, QueuePresentKHR); - INIT_PROC_EXT(KHR_swapchain, true, dev, GetDeviceGroupPresentCapabilitiesKHR); - INIT_PROC_EXT(KHR_swapchain, true, dev, GetDeviceGroupSurfacePresentModesKHR); - INIT_PROC_EXT(KHR_swapchain, true, dev, AcquireNextImage2KHR); + INIT_PROC_EXT(KHR_swapchain, false, dev, GetDeviceGroupPresentCapabilitiesKHR); + INIT_PROC_EXT(KHR_swapchain, false, dev, GetDeviceGroupSurfacePresentModesKHR); + INIT_PROC_EXT(KHR_swapchain, false, dev, AcquireNextImage2KHR); // clang-format on return success; diff --git a/vulkan/libvulkan/code-generator.tmpl b/vulkan/libvulkan/code-generator.tmpl index e13ec0eabb..3b48e08a4f 100644 --- a/vulkan/libvulkan/code-generator.tmpl +++ b/vulkan/libvulkan/code-generator.tmpl @@ -419,7 +419,7 @@ bool InitDriverTable(VkDevice dev, PFN_vkGetDeviceProcAddr get_proc, INIT_PROC(§ {{end}} - {{if GetAnnotation $ "optional"}}false{{else}}true{{end}}, § + {{if GetAnnotation $ "optional"}}false{{else if GetAnnotation $ "vulkan1_1"}}false{{else}}true{{end}}, § {{if (Macro "IsInstanceDispatched" $)}} instance, § @@ -734,9 +734,6 @@ VK_KHR_get_physical_device_properties2 {{else if eq $.Name "vkCreateDevice"}}true {{else if eq $.Name "vkEnumeratePhysicalDevices"}}true {{else if eq $.Name "vkEnumeratePhysicalDeviceGroups"}}true - {{else if eq $.Name "vkGetDeviceGroupPresentCapabilitiesKHR"}}true - {{else if eq $.Name "vkGetDeviceGroupSurfacePresentModesKHR"}}true - {{else if eq $.Name "vkGetPhysicalDevicePresentRectanglesKHR"}}true {{else if eq $.Name "vkGetDeviceQueue"}}true {{else if eq $.Name "vkGetDeviceQueue2"}}true {{else if eq $.Name "vkAllocateCommandBuffers"}}true @@ -976,9 +973,6 @@ VK_KHR_get_physical_device_properties2 {{/* We cache physical devices in loader.cpp */}} {{else if eq $.Name "vkEnumeratePhysicalDevices"}}true {{else if eq $.Name "vkEnumeratePhysicalDeviceGroups"}}true - {{else if eq $.Name "vkGetDeviceGroupPresentCapabilitiesKHR"}}true - {{else if eq $.Name "vkGetDeviceGroupSurfacePresentModesKHR"}}true - {{else if eq $.Name "vkGetPhysicalDevicePresentRectanglesKHR"}}true {{else if eq $.Name "vkGetInstanceProcAddr"}}true {{else if eq $.Name "vkGetDeviceProcAddr"}}true diff --git a/vulkan/libvulkan/driver.cpp b/vulkan/libvulkan/driver.cpp index dfe6793551..ade0bde8f9 100644 --- a/vulkan/libvulkan/driver.cpp +++ b/vulkan/libvulkan/driver.cpp @@ -1053,9 +1053,13 @@ VkResult EnumeratePhysicalDeviceGroups( instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties); if ((result == VK_SUCCESS || result == VK_INCOMPLETE) && *pPhysicalDeviceGroupCount && pPhysicalDeviceGroupProperties) { - for (uint32_t i = 0; - i < pPhysicalDeviceGroupProperties->physicalDeviceCount; i++) - SetData(pPhysicalDeviceGroupProperties->physicalDevices[i], data); + for (uint32_t i = 0; i < *pPhysicalDeviceGroupCount; i++) { + for (uint32_t j = 0; + j < pPhysicalDeviceGroupProperties->physicalDeviceCount; j++) { + SetData(pPhysicalDeviceGroupProperties->physicalDevices[j], + data); + } + } } return result; diff --git a/vulkan/libvulkan/driver_gen.cpp b/vulkan/libvulkan/driver_gen.cpp index 5dde1332ea..c6e8a7aeda 100644 --- a/vulkan/libvulkan/driver_gen.cpp +++ b/vulkan/libvulkan/driver_gen.cpp @@ -492,8 +492,7 @@ bool InitDriverTable(VkInstance instance, INIT_PROC(true, instance, GetPhysicalDeviceProperties); INIT_PROC(true, instance, CreateDevice); INIT_PROC(true, instance, EnumerateDeviceExtensionProperties); - INIT_PROC(true, instance, EnumeratePhysicalDeviceGroups); - INIT_PROC_EXT(KHR_swapchain, true, instance, GetPhysicalDevicePresentRectanglesKHR); + INIT_PROC(false, instance, EnumeratePhysicalDeviceGroups); INIT_PROC_EXT(EXT_debug_report, true, instance, CreateDebugReportCallbackEXT); INIT_PROC_EXT(EXT_debug_report, true, instance, DestroyDebugReportCallbackEXT); INIT_PROC_EXT(EXT_debug_report, true, instance, DebugReportMessageEXT); @@ -516,9 +515,7 @@ bool InitDriverTable(VkDevice dev, INIT_PROC(true, dev, CreateImage); INIT_PROC(true, dev, DestroyImage); INIT_PROC(true, dev, AllocateCommandBuffers); - INIT_PROC(true, dev, GetDeviceQueue2); - INIT_PROC_EXT(KHR_swapchain, true, dev, GetDeviceGroupPresentCapabilitiesKHR); - INIT_PROC_EXT(KHR_swapchain, true, dev, GetDeviceGroupSurfacePresentModesKHR); + INIT_PROC(false, dev, GetDeviceQueue2); INIT_PROC_EXT(ANDROID_native_buffer, false, dev, GetSwapchainGrallocUsageANDROID); INIT_PROC_EXT(ANDROID_native_buffer, false, dev, GetSwapchainGrallocUsage2ANDROID); INIT_PROC_EXT(ANDROID_native_buffer, true, dev, AcquireImageANDROID); diff --git a/vulkan/libvulkan/driver_gen.h b/vulkan/libvulkan/driver_gen.h index e7e3b99713..646662fffc 100644 --- a/vulkan/libvulkan/driver_gen.h +++ b/vulkan/libvulkan/driver_gen.h @@ -68,7 +68,6 @@ struct InstanceDriverTable { PFN_vkCreateDevice CreateDevice; PFN_vkEnumerateDeviceExtensionProperties EnumerateDeviceExtensionProperties; PFN_vkEnumeratePhysicalDeviceGroups EnumeratePhysicalDeviceGroups; - PFN_vkGetPhysicalDevicePresentRectanglesKHR GetPhysicalDevicePresentRectanglesKHR; PFN_vkCreateDebugReportCallbackEXT CreateDebugReportCallbackEXT; PFN_vkDestroyDebugReportCallbackEXT DestroyDebugReportCallbackEXT; PFN_vkDebugReportMessageEXT DebugReportMessageEXT; @@ -85,8 +84,6 @@ struct DeviceDriverTable { PFN_vkDestroyImage DestroyImage; PFN_vkAllocateCommandBuffers AllocateCommandBuffers; PFN_vkGetDeviceQueue2 GetDeviceQueue2; - PFN_vkGetDeviceGroupPresentCapabilitiesKHR GetDeviceGroupPresentCapabilitiesKHR; - PFN_vkGetDeviceGroupSurfacePresentModesKHR GetDeviceGroupSurfacePresentModesKHR; PFN_vkGetSwapchainGrallocUsageANDROID GetSwapchainGrallocUsageANDROID; PFN_vkGetSwapchainGrallocUsage2ANDROID GetSwapchainGrallocUsage2ANDROID; PFN_vkAcquireImageANDROID AcquireImageANDROID; diff --git a/vulkan/libvulkan/swapchain.cpp b/vulkan/libvulkan/swapchain.cpp index d5e7c4323e..03e6ee0870 100644 --- a/vulkan/libvulkan/swapchain.cpp +++ b/vulkan/libvulkan/swapchain.cpp @@ -775,13 +775,8 @@ VkResult GetPhysicalDeviceSurfacePresentModesKHR(VkPhysicalDevice pdev, VKAPI_ATTR VkResult GetDeviceGroupPresentCapabilitiesKHR( - VkDevice device, + VkDevice, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities) { - ALOGV("vkGetDeviceGroupPresentCapabilitiesKHR: device=0x%" PRIx64 - "pDeviceGroupPresentCapabilities=0x%" PRIx64, - reinterpret_cast<uint64_t>(device), - reinterpret_cast<uint64_t>(pDeviceGroupPresentCapabilities)); - ALOGV_IF(pDeviceGroupPresentCapabilities->sType != VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR, "vkGetDeviceGroupPresentCapabilitiesKHR: invalid " @@ -801,30 +796,18 @@ VkResult GetDeviceGroupPresentCapabilitiesKHR( VKAPI_ATTR VkResult GetDeviceGroupSurfacePresentModesKHR( - VkDevice device, - VkSurfaceKHR surface, + VkDevice, + VkSurfaceKHR, VkDeviceGroupPresentModeFlagsKHR* pModes) { - ALOGV("vkGetDeviceGroupSurfacePresentModesKHR: device=0x%" PRIx64 - "surface=0x%" PRIx64 "pModes=0x%" PRIx64, - reinterpret_cast<uint64_t>(device), - reinterpret_cast<uint64_t>(surface), - reinterpret_cast<uint64_t>(pModes)); - *pModes = VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR; return VK_SUCCESS; } VKAPI_ATTR -VkResult GetPhysicalDevicePresentRectanglesKHR(VkPhysicalDevice physicalDevice, +VkResult GetPhysicalDevicePresentRectanglesKHR(VkPhysicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects) { - ALOGV("GetPhysicalDevicePresentRectanglesKHR: physicalDevice=0x%" PRIx64 - "surface=0x%" PRIx64 "pRectCount=%d pRects=0x%" PRIx64, - reinterpret_cast<uint64_t>(physicalDevice), - reinterpret_cast<uint64_t>(surface), *pRectCount, - reinterpret_cast<uint64_t>(pRects)); - if (!pRects) { *pRectCount = 1; } else { |