[PATCH v4 02/10] winevulkan: Add stub ICD.

Roderick Colenbrander thunderbird2k at gmail.com
Mon Feb 26 13:35:56 CST 2018


On Mon, Feb 26, 2018 at 11:22 AM, Józef Kucia <joseph.kucia at gmail.com> wrote:
> On Mon, Feb 26, 2018 at 7:50 PM, Roderick Colenbrander
> <thunderbird2k at gmail.com> wrote:
>> Signed-off-by: Roderick Colenbrander <thunderbird2k at gmail.com>
>> ---
>>  configure.ac                    |  1 +
>>  dlls/winevulkan/Makefile.in     |  6 +++++
>>  dlls/winevulkan/version.rc      | 27 +++++++++++++++++++++
>>  dlls/winevulkan/vulkan.c        | 54 +++++++++++++++++++++++++++++++++++++++++
>>  dlls/winevulkan/winevulkan.spec |  2 ++
>>  5 files changed, 90 insertions(+)
>>  create mode 100644 dlls/winevulkan/Makefile.in
>>  create mode 100644 dlls/winevulkan/version.rc
>>  create mode 100644 dlls/winevulkan/vulkan.c
>>  create mode 100644 dlls/winevulkan/winevulkan.spec
>>
>> diff --git a/configure.ac b/configure.ac
>> index d06476e6c9..39c9a4c498 100644
>> --- a/configure.ac
>> +++ b/configure.ac
>> @@ -3680,6 +3680,7 @@ WINE_CONFIG_DLL(wineps.drv,,[clean])
>>  WINE_CONFIG_DLL(wineps16.drv16,enable_win16)
>>  WINE_CONFIG_DLL(winepulse.drv)
>>  WINE_CONFIG_DLL(wineqtdecoder)
>> +WINE_CONFIG_DLL(winevulkan)
>>  WINE_CONFIG_DLL(winex11.drv)
>>  WINE_CONFIG_DLL(wing.dll16,enable_win16)
>>  WINE_CONFIG_DLL(wing32)
>> diff --git a/dlls/winevulkan/Makefile.in b/dlls/winevulkan/Makefile.in
>> new file mode 100644
>> index 0000000000..0bffb487e2
>> --- /dev/null
>> +++ b/dlls/winevulkan/Makefile.in
>> @@ -0,0 +1,6 @@
>> +MODULE    = winevulkan.dll
>> +
>> +C_SRCS = \
>> +       vulkan.c
>> +
>> +RC_SRCS = version.rc
>> diff --git a/dlls/winevulkan/version.rc b/dlls/winevulkan/version.rc
>> new file mode 100644
>> index 0000000000..a62ea75a66
>> --- /dev/null
>> +++ b/dlls/winevulkan/version.rc
>> @@ -0,0 +1,27 @@
>> +/*
>> + * Copyright 2017 Roderick Colenbrander
>> + *
>> + * This library is free software; you can redistribute it and/or
>> + * modify it under the terms of the GNU Lesser General Public
>> + * License as published by the Free Software Foundation; either
>> + * version 2.1 of the License, or (at your option) any later version.
>> + *
>> + * This library is distributed in the hope that it will be useful,
>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
>> + * Lesser General Public License for more details.
>> + *
>> + * You should have received a copy of the GNU Lesser General Public
>> + * License along with this library; if not, write to the Free Software
>> + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
>> + */
>> +
>> +#include "config.h" /* Needed to get PACKAGE_VERSION */
>> +
>> +#define WINE_FILEDESCRIPTION_STR "Wine Vulkan ICD"
>> +#define WINE_FILENAME_STR "winevulkan.dll"
>> +#define WINE_FILEVERSION_STR PACKAGE_VERSION
>> +#define WINE_PRODUCTVERSION_STR PACKAGE_VERSION
>> +#define WINE_PRODUCTNAME_STR "Wine Vulkan"
>> +
>> +#include "wine/wine_common_ver.rc"
>> diff --git a/dlls/winevulkan/vulkan.c b/dlls/winevulkan/vulkan.c
>> new file mode 100644
>> index 0000000000..ab9c52ee60
>> --- /dev/null
>> +++ b/dlls/winevulkan/vulkan.c
>> @@ -0,0 +1,54 @@
>> +/* Wine Vulkan ICD implementation
>> + *
>> + * Copyright 2017 Roderick Colenbrander
>> + *
>> + * This library is free software; you can redistribute it and/or
>> + * modify it under the terms of the GNU Lesser General Public
>> + * License as published by the Free Software Foundation; either
>> + * version 2.1 of the License, or (at your option) any later version.
>> + *
>> + * This library is distributed in the hope that it will be useful,
>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
>> + * Lesser General Public License for more details.
>> + *
>> + * You should have received a copy of the GNU Lesser General Public
>> + * License along with this library; if not, write to the Free Software
>> + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
>> + */
>> +
>> +#include <stdarg.h>
>> +
>> +#include "windef.h"
>> +#include "winbase.h"
>> +
>> +#include "wine/debug.h"
>> +#include "wine/vulkan.h"
>> +
>> +WINE_DEFAULT_DEBUG_CHANNEL(vulkan);
>> +
>> +void * WINAPI wine_vk_icdGetInstanceProcAddr(VkInstance instance, const char *name)
>> +{
>> +    FIXME("stub: %p %s\n", instance, debugstr_a(name));
>> +    return NULL;
>> +}
>> +
>> +VkResult WINAPI wine_vk_icdNegotiateLoaderICDInterfaceVersion(uint32_t *supported_version)
>> +{
>> +    FIXME("stub: %p\n", pSupportedVersion);
>> +    return VK_ERROR_INCOMPATIBLE_DRIVER;
>> +}
>
> It won't compile. You can run "git rebase -i -x make origin/master" or
> a similar command to test if all patches compile separately.
>

Grr, you are right missed that. Will run that from now on for the next
patches. So far it has been a bit tricky without rerunning configure
as not all headers/source files exist in each previous revision.



More information about the wine-devel mailing list