On Wed, Nov 9, 2016 at 10:10 AM, Emil Velikov <[email protected]>
wrote:

> From: Emil Velikov <[email protected]>
>
> Vulkan has introduced the consept of .specVersion which can be used to
> attribute changes of the said extension.
>
> The current loader does not check the value, thus it have gone unnoticed
> that the driver exposes an old version of the following extensions:
>
> VK_KHR_xcb_surface        (Rev 6)
> VK_KHR_xlib_surface       (Rev 6)
> VK_KHR_wayland_surface    (Rev 5)
> - Updated the surface create function to take a pCreateInfo structure
>
> VK_KHR_swapchain          (Rev 68)
> - Moved the "validity" include for vkAcquireNextImage to be in its proper
>   place, after the prototype and list of parameters.
> ...
>
> According to the documentation:
>
>   * pname:specVersion is the version of this extension.
>     It is an integer, incremented with backward compatible changes.
>
> Based on the history of vk.xml the above (latest) revision has been
> available since Vulkan 1.0 so even if they were any backwards
> incompatible change(s) [as hinted by the revision log] those should be
> safe.
>

Thanks for bumping the versions.

Reviewed-by: Jason Ekstrand <[email protected]>


> Cc: "13.0" <[email protected]>
> Cc: Jason Ekstrand <[email protected]>
> Signed-off-by: Emil Velikov <[email protected]>
> ---
> Not 100% sure on the "can one break ABI with .specVersion updates" part,
> yet considering the loader does not check the number it seems to be the
> case.
>

You can't.  However, as you said, the latest revision has been available
since 1.0 and there was lots of API/ABI breakage pre-1.0.


> Otherwise ... we'll be getting stack corruption all over the place ;-)
> ---
>  src/intel/vulkan/anv_device.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c
> index fcbe587..d2ab992 100644
> --- a/src/intel/vulkan/anv_device.c
> +++ b/src/intel/vulkan/anv_device.c
> @@ -203,19 +203,19 @@ static const VkExtensionProperties
> global_extensions[] = {
>  #ifdef VK_USE_PLATFORM_XCB_KHR
>     {
>        .extensionName = VK_KHR_XCB_SURFACE_EXTENSION_NAME,
> -      .specVersion = 5,
> +      .specVersion = 6,
>     },
>  #endif
>  #ifdef VK_USE_PLATFORM_XLIB_KHR
>     {
>        .extensionName = VK_KHR_XLIB_SURFACE_EXTENSION_NAME,
> -      .specVersion = 5,
> +      .specVersion = 6,
>     },
>  #endif
>  #ifdef VK_USE_PLATFORM_WAYLAND_KHR
>     {
>        .extensionName = VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME,
> -      .specVersion = 4,
> +      .specVersion = 5,
>     },
>  #endif
>  };
> @@ -223,7 +223,7 @@ static const VkExtensionProperties global_extensions[]
> = {
>  static const VkExtensionProperties device_extensions[] = {
>     {
>        .extensionName = VK_KHR_SWAPCHAIN_EXTENSION_NAME,
> -      .specVersion = 67,
> +      .specVersion = 68,
>     },
>  };
>
> --
> 2.10.2
>
>
_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to