diff options
| author | Mark Young <marky@lunarg.com> | 2017-01-19 21:10:49 -0700 |
|---|---|---|
| committer | Lenny Komow <lenny@lunarg.com> | 2017-01-24 14:07:22 -0700 |
| commit | 82ea0b0103880d011ca679b14f0fc5542c5b2012 (patch) | |
| tree | 11be85261197447e58e046affecbd43c36b4a8d8 /loader/trampoline.c | |
| parent | 8fc3d170de6515c0d26fb6b17bd3b5e27711e607 (diff) | |
| download | usermoji-82ea0b0103880d011ca679b14f0fc5542c5b2012.tar.xz | |
loader: Update the loader to 1.0.39
Add new extensions for 1.0.39. Also, updated layers to include
minimal set of functionality for 1.0.39 extensions. Extensions include:
- VK_KHR_get_physical_device_properties2
- VK_KHR_shader_draw_parameters
- VK_EXT_direct_mode_display
- VK_EXT_display_surface_counter
- VK_EXT_display_control
Also, redo the LoaderAndLayerIf document.
Change-Id: I10412086da7a798afe832a3892e18f606259b5af
Diffstat (limited to 'loader/trampoline.c')
| -rw-r--r-- | loader/trampoline.c | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/loader/trampoline.c b/loader/trampoline.c index 257ece7b..4d14f581 100644 --- a/loader/trampoline.c +++ b/loader/trampoline.c @@ -409,6 +409,8 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance( &created_instance); if (res == VK_SUCCESS) { + memset(ptr_instance->enabled_known_extensions.padding, 0, sizeof(uint64_t) * 4); + wsi_create_instance(ptr_instance, &ici); debug_report_create_instance(ptr_instance, &ici); extensions_create_instance(ptr_instance, &ici); @@ -484,7 +486,7 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyInstance( return; } - disp = loader_get_instance_dispatch(instance); + disp = loader_get_instance_layer_dispatch(instance); loader_platform_thread_lock_mutex(&loader_lock); @@ -508,6 +510,7 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyInstance( loader_deactivate_layers(ptr_instance, NULL, &ptr_instance->activated_layer_list); + if (ptr_instance->phys_devs_tramp) { for (uint32_t i = 0; i < ptr_instance->phys_dev_count_tramp; i++) { loader_instance_heap_free(ptr_instance, @@ -515,6 +518,7 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyInstance( } loader_instance_heap_free(ptr_instance, ptr_instance->phys_devs_tramp); } + if (callback_setup) { util_DestroyDebugReportCallbacks(ptr_instance, pAllocator, ptr_instance->num_tmp_callbacks, @@ -535,7 +539,7 @@ vkEnumeratePhysicalDevices(VkInstance instance, uint32_t *pPhysicalDeviceCount, VkResult res = VK_SUCCESS; uint32_t count, i; struct loader_instance *inst; - disp = loader_get_instance_dispatch(instance); + disp = loader_get_instance_layer_dispatch(instance); loader_platform_thread_lock_mutex(&loader_lock); @@ -594,7 +598,7 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures( const VkLayerInstanceDispatchTable *disp; VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice); - disp = loader_get_instance_dispatch(physicalDevice); + disp = loader_get_instance_layer_dispatch(physicalDevice); disp->GetPhysicalDeviceFeatures(unwrapped_phys_dev, pFeatures); } @@ -604,7 +608,7 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties( const VkLayerInstanceDispatchTable *disp; VkPhysicalDevice unwrapped_pd = loader_unwrap_physical_device(physicalDevice); - disp = loader_get_instance_dispatch(physicalDevice); + disp = loader_get_instance_layer_dispatch(physicalDevice); disp->GetPhysicalDeviceFormatProperties(unwrapped_pd, format, pFormatInfo); } @@ -616,7 +620,7 @@ vkGetPhysicalDeviceImageFormatProperties( const VkLayerInstanceDispatchTable *disp; VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice); - disp = loader_get_instance_dispatch(physicalDevice); + disp = loader_get_instance_layer_dispatch(physicalDevice); return disp->GetPhysicalDeviceImageFormatProperties( unwrapped_phys_dev, format, type, tiling, usage, flags, pImageFormatProperties); @@ -627,7 +631,7 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties( const VkLayerInstanceDispatchTable *disp; VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice); - disp = loader_get_instance_dispatch(physicalDevice); + disp = loader_get_instance_layer_dispatch(physicalDevice); disp->GetPhysicalDeviceProperties(unwrapped_phys_dev, pProperties); } @@ -638,7 +642,7 @@ vkGetPhysicalDeviceQueueFamilyProperties( const VkLayerInstanceDispatchTable *disp; VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice); - disp = loader_get_instance_dispatch(physicalDevice); + disp = loader_get_instance_layer_dispatch(physicalDevice); disp->GetPhysicalDeviceQueueFamilyProperties( unwrapped_phys_dev, pQueueFamilyPropertyCount, pQueueProperties); } @@ -649,7 +653,7 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties( const VkLayerInstanceDispatchTable *disp; VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice); - disp = loader_get_instance_dispatch(physicalDevice); + disp = loader_get_instance_layer_dispatch(physicalDevice); disp->GetPhysicalDeviceMemoryProperties(unwrapped_phys_dev, pMemoryProperties); } @@ -682,7 +686,7 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice( } res = loader_add_device_extensions( - inst, inst->disp->EnumerateDeviceExtensionProperties, + inst, inst->disp->layer_inst_disp.EnumerateDeviceExtensionProperties, phys_dev->phys_dev, "Unknown", &icd_exts); if (res != VK_SUCCESS) { loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, @@ -801,7 +805,7 @@ vkEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, if (pLayerName == NULL || strlen(pLayerName) == 0) { const VkLayerInstanceDispatchTable *disp; - disp = loader_get_instance_dispatch(physicalDevice); + disp = loader_get_instance_layer_dispatch(physicalDevice); res = disp->EnumerateDeviceExtensionProperties( phys_dev->phys_dev, NULL, pPropertyCount, pProperties); } else { @@ -1147,7 +1151,7 @@ vkGetPhysicalDeviceSparseImageFormatProperties( const VkLayerInstanceDispatchTable *disp; VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice); - disp = loader_get_instance_dispatch(physicalDevice); + disp = loader_get_instance_layer_dispatch(physicalDevice); disp->GetPhysicalDeviceSparseImageFormatProperties( unwrapped_phys_dev, format, type, samples, usage, tiling, |
