Thanks for the heads up. I just sent a patch which should fix it. Hooray for the CTS catching memory leaks.
--Jason On Wed, Aug 29, 2018 at 9:32 AM Andres Gomez <[email protected]> wrote: > Jason, this series (specifically, the patch 2/3), is causing > regressions in VK-GL-CTS with mesa's 18.2 stable queue. I don't know if > this is happening also in master, but it's quite possible. > > I've checked with the x11_egl target and the "vulkan-cts-1.1.2" branch: > https://github.com/KhronosGroup/VK-GL-CTS/tree/vulkan-cts-1.1.2 > > -- > > $ ./deqp-vk --deqp-case="dEQP-VK.wsi.xlib.surface*" > Writing test log into TestResults.qpa > dEQP Core git-6140c85a76b7866db94aaf77bcd5dca80490e19b (0x6140c85a) > starting.. > target implementation = 'X11 EGL' > > Test case 'dEQP-VK.wsi.xlib.surface.create'.. > Test case duration in microseconds = 5425 us > Pass (Creating surface succeeded) > > Test case 'dEQP-VK.wsi.xlib.surface.create_custom_allocator'.. > Test case duration in microseconds = 6497 us > Fail (Detected invalid system allocation callback) > > Test case 'dEQP-VK.wsi.xlib.surface.create_simulate_oom'.. > Test case duration in microseconds = 4048 us > Fail (Detected invalid system allocation callback) > > Test case 'dEQP-VK.wsi.xlib.surface.query_support'.. > Test case duration in microseconds = 6105 us > Pass (Pass) > > Test case 'dEQP-VK.wsi.xlib.surface.query_capabilities'.. > Test case duration in microseconds = 4290 us > Pass (Pass) > > Test case 'dEQP-VK.wsi.xlib.surface.query_capabilities2'.. > Test case duration in microseconds = 4052 us > Pass (Pass) > > Test case 'dEQP-VK.wsi.xlib.surface.query_formats'.. > Test case duration in microseconds = 4615 us > Pass (Pass) > > Test case 'dEQP-VK.wsi.xlib.surface.query_formats2'.. > Test case duration in microseconds = 4125 us > Pass (Pass) > > Test case 'dEQP-VK.wsi.xlib.surface.query_present_modes'.. > Test case duration in microseconds = 3999 us > Pass (Pass) > > Test case 'dEQP-VK.wsi.xlib.surface.destroy_null_handle'.. > Test case duration in microseconds = 533 us > Pass (Destroying a VK_NULL_HANDLE surface has no effect) > > Test case 'dEQP-VK.wsi.xlib.surface.initial_size'.. > Test case duration in microseconds = 4339 us > Pass (Pass) > > Test case 'dEQP-VK.wsi.xlib.surface.resize'.. > Test case duration in microseconds = 4323 us > Pass (Pass) > > DONE! > > > Test run totals: > Passed: 10/12 (83.3%) > Failed: 2/12 (16.7%) > Not supported: 0/12 (0.0%) > Warnings: 0/12 (0.0%) > > -- > > $ ./deqp-vk --deqp-case="dEQP-VK.wsi.xlib.swapchain.simulate_oom*" > Writing test log into TestResults.qpa > dEQP Core git-6140c85a76b7866db94aaf77bcd5dca80490e19b (0x6140c85a) > starting.. > target implementation = 'X11 EGL' > > Test case 'dEQP-VK.wsi.xlib.swapchain.simulate_oom.min_image_count'.. > Test case duration in microseconds = 208603 us > Fail (Detected invalid system allocation callback) > > Test case 'dEQP-VK.wsi.xlib.swapchain.simulate_oom.image_format'.. > Test case duration in microseconds = 8237 us > Fail (Detected invalid system allocation callback) > > Test case 'dEQP-VK.wsi.xlib.swapchain.simulate_oom.image_extent'.. > Test case duration in microseconds = 7118 us > Fail (Detected invalid system allocation callback) > > Test case 'dEQP-VK.wsi.xlib.swapchain.simulate_oom.image_array_layers'.. > Test case duration in microseconds = 7230 us > Fail (Detected invalid system allocation callback) > > Test case 'dEQP-VK.wsi.xlib.swapchain.simulate_oom.image_usage'.. > Test case duration in microseconds = 19784 us > Fail (Detected invalid system allocation callback) > > Test case 'dEQP-VK.wsi.xlib.swapchain.simulate_oom.image_sharing_mode'.. > Test case duration in microseconds = 7921 us > Fail (Detected invalid system allocation callback) > > Test case 'dEQP-VK.wsi.xlib.swapchain.simulate_oom.pre_transform'.. > Test case duration in microseconds = 6936 us > Fail (Detected invalid system allocation callback) > > Test case 'dEQP-VK.wsi.xlib.swapchain.simulate_oom.composite_alpha'.. > Test case duration in microseconds = 8021 us > Fail (Detected invalid system allocation callback) > > Test case 'dEQP-VK.wsi.xlib.swapchain.simulate_oom.present_mode'.. > Test case duration in microseconds = 8615 us > Fail (Detected invalid system allocation callback) > > Test case 'dEQP-VK.wsi.xlib.swapchain.simulate_oom.clipped'.. > Test case duration in microseconds = 8362 us > Fail (Detected invalid system allocation callback) > > DONE! > > Test run totals: > Passed: 0/10 (0.0%) > Failed: 10/10 (100.0%) > Not supported: 0/10 (0.0%) > Warnings: 0/10 (0.0%) > > -- > > Therefore, although it is marked for the 18.2 stable queue, I'm leaving > it out by now. > > > On Thu, 2018-08-23 at 10:13 -0500, Jason Ekstrand wrote: > > --- > > src/intel/vulkan/anv_device.c | 27 ++++++++++++++++++++------- > > src/intel/vulkan/anv_private.h | 11 ++++++++++- > > 2 files changed, 30 insertions(+), 8 deletions(-) > > > > diff --git a/src/intel/vulkan/anv_device.c > b/src/intel/vulkan/anv_device.c > > index d85615caaed..0357fc7c0ea 100644 > > --- a/src/intel/vulkan/anv_device.c > > +++ b/src/intel/vulkan/anv_device.c > > @@ -610,20 +610,33 @@ VkResult anv_CreateInstance( > > else > > instance->alloc = default_alloc; > > > > - if (pCreateInfo->pApplicationInfo && > > - pCreateInfo->pApplicationInfo->apiVersion != 0) { > > - instance->apiVersion = pCreateInfo->pApplicationInfo->apiVersion; > > - } else { > > - anv_EnumerateInstanceVersion(&instance->apiVersion); > > + instance->app_info = (struct anv_app_info) { .api_version = 0 }; > > + if (pCreateInfo->pApplicationInfo) { > > + const VkApplicationInfo *app = pCreateInfo->pApplicationInfo; > > + > > + instance->app_info.app_name = > > + vk_strdup(&instance->alloc, app->pApplicationName, > > + VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE); > > + instance->app_info.app_version = app->applicationVersion; > > + > > + instance->app_info.engine_name = > > + vk_strdup(&instance->alloc, app->pEngineName, > > + VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE); > > + instance->app_info.engine_version = app->engineVersion; > > + > > + instance->app_info.api_version = app->apiVersion; > > } > > > > + if (instance->app_info.api_version == 0) > > + anv_EnumerateInstanceVersion(&instance->app_info.api_version); > > + > > instance->enabled_extensions = enabled_extensions; > > > > for (unsigned i = 0; i < ARRAY_SIZE(instance->dispatch.entrypoints); > i++) { > > /* Vulkan requires that entrypoints for extensions which have not > been > > * enabled must not be advertised. > > */ > > - if (!anv_entrypoint_is_enabled(i, instance->apiVersion, > > + if (!anv_entrypoint_is_enabled(i, instance->app_info.api_version, > > &instance->enabled_extensions, > NULL)) { > > instance->dispatch.entrypoints[i] = NULL; > > } else if (anv_dispatch_table.entrypoints[i] != NULL) { > > @@ -1496,7 +1509,7 @@ anv_device_init_dispatch(struct anv_device *device) > > /* Vulkan requires that entrypoints for extensions which have not > been > > * enabled must not be advertised. > > */ > > - if (!anv_entrypoint_is_enabled(i, device->instance->apiVersion, > > + if (!anv_entrypoint_is_enabled(i, > device->instance->app_info.api_version, > > > &device->instance->enabled_extensions, > > &device->enabled_extensions)) { > > device->dispatch.entrypoints[i] = NULL; > > diff --git a/src/intel/vulkan/anv_private.h > b/src/intel/vulkan/anv_private.h > > index 2ced8afcabe..5537c8cab57 100644 > > --- a/src/intel/vulkan/anv_private.h > > +++ b/src/intel/vulkan/anv_private.h > > @@ -882,12 +882,21 @@ struct anv_physical_device { > > int master_fd; > > }; > > > > +struct anv_app_info { > > + const char* app_name; > > + uint32_t app_version; > > + const char* engine_name; > > + uint32_t engine_version; > > + uint32_t api_version; > > +}; > > + > > struct anv_instance { > > VK_LOADER_DATA _loader_data; > > > > VkAllocationCallbacks alloc; > > > > - uint32_t apiVersion; > > + struct anv_app_info app_info; > > + > > struct anv_instance_extension_table enabled_extensions; > > struct anv_dispatch_table dispatch; > > > -- > Br, > > Andres >
_______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
