[PATCH v2 07/10] winex11: Implement vkEnumerateInstanceExtensionProperties.

Józef Kucia joseph.kucia at gmail.com
Fri Feb 23 05:03:11 CST 2018


On Fri, Feb 23, 2018 at 8:22 AM, Roderick Colenbrander
<thunderbird2k at gmail.com> wrote:
> Signed-off-by: Roderick Colenbrander <thunderbird2k at gmail.com>
> ---
>  dlls/winex11.drv/vulkan.c | 28 ++++++++++++++++++++++++++--
>  1 file changed, 26 insertions(+), 2 deletions(-)
>
> diff --git a/dlls/winex11.drv/vulkan.c b/dlls/winex11.drv/vulkan.c
> index bfcf95a7ac..3dad034288 100644
> --- a/dlls/winex11.drv/vulkan.c
> +++ b/dlls/winex11.drv/vulkan.c
> @@ -41,8 +41,32 @@ static void X11DRV_vkDestroyInstance(VkInstance instance, const VkAllocationCall
>  static VkResult X11DRV_vkEnumerateInstanceExtensionProperties(const char *layer_name, uint32_t *count,
>          VkExtensionProperties* properties)
>  {
> -    FIXME("stub: %s %p %p\n", debugstr_a(layer_name), count, properties);
> -    return VK_ERROR_OUT_OF_HOST_MEMORY;
> +    TRACE("layer_name %p, count %p, properties %p\n", debugstr_a(layer_name), count, properties);
> +
> +    /* This shouldn't get called with pLayerName set, the ICD loader prevents it. */

Comment should be updated to match the variable name, i.e. layer_name.
Other comments have the same issue.

> +    if (layer_name)
> +    {
> +        ERR("Layer enumeration not supported from ICD.\n");
> +        return VK_ERROR_LAYER_NOT_PRESENT;
> +    }
> +
> +    if (!properties)
> +    {
> +        /* When pProperties is NULL, we need to return the number of extensions supported.
> +         * For now report 0 until we add some e.g. VK_KHR_win32_surface.
> +         * Long-term this needs to be an intersection between what the native library supports
> +         * and what thunks we have.
> +         */
> +        *count = 0;
> +        return VK_SUCCESS;
> +    }
> +
> +    /* When pProperties is not NULL, we copy the extensions over and set pPropertyCount to
> +     * the number of copied extensions. For now we don't have much to do as we don't support
> +     * any extensions yet.
> +     */
> +    *count = 0;
> +    return VK_SUCCESS;
>  }
>
>  static void * X11DRV_vkGetInstanceProcAddr(VkInstance instance, const char *name)
> --
> 2.14.3
>
>
>



More information about the wine-devel mailing list