Signed-off-by: Józef Kucia jkucia@codeweavers.com ---
This patch could be applied after 147041.
--- dlls/vulkan-1/vulkan-1.spec | 34 ++++++++++++++++++++++++++++++++++ dlls/winevulkan/make_vulkan | 26 +++++++++++++++++++------- dlls/winevulkan/vulkan_thunks.c | 37 ++++++++++++++++++++++++++++++++++++- dlls/winevulkan/vulkan_thunks.h | 37 ++++++++++++++++++++++++++++++++++++- dlls/winevulkan/winevulkan.spec | 34 ++++++++++++++++++++++++++++++++++ include/wine/vulkan.h | 37 ++++++++++++++++++++++++++++++++++++- include/wine/vulkan_driver.h | 37 ++++++++++++++++++++++++++++++++++++- 7 files changed, 231 insertions(+), 11 deletions(-)
diff --git a/dlls/vulkan-1/vulkan-1.spec b/dlls/vulkan-1/vulkan-1.spec index 3d457749b46a..0a4e85e96859 100644 --- a/dlls/vulkan-1/vulkan-1.spec +++ b/dlls/vulkan-1/vulkan-1.spec @@ -1,4 +1,38 @@ # Automatically generated from Vulkan vk.xml; DO NOT EDIT! +# +# This file is generated from Vulkan vk.xml file covered +# by the following copyright and permission notice: +# +# Copyright (c) 2015-2018 The Khronos Group Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ---- Exceptions to the Apache 2.0 License: ---- +# +# As an exception, if you use this Software to generate code and portions of +# this Software are embedded into the generated code as a result, you may +# redistribute such product without providing attribution as would otherwise +# be required by Sections 4(a), 4(b) and 4(d) of the License. +# +# In addition, if you combine or link code generated by this Software with +# software that is licensed under the GPLv2 or the LGPL v2.0 or 2.1 +# ("`Combined Software`") and if a court of competent jurisdiction determines +# that the patent provision (Section 3), the indemnity provision (Section 9) +# or other Section of the License conflicts with the conditions of the +# applicable GPL or LGPL license, you may retroactively and prospectively +# choose to deem waived or otherwise exclude such Section(s) of the License, +# but only in their entirety and only with respect to the Combined Software. +#
@ stdcall vkAcquireNextImageKHR(ptr int64 int64 int64 int64 ptr) winevulkan.wine_vkAcquireNextImageKHR @ stdcall vkAllocateCommandBuffers(ptr ptr ptr) winevulkan.wine_vkAllocateCommandBuffers diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan index 69ea807389e7..ea64c052fa5f 100755 --- a/dlls/winevulkan/make_vulkan +++ b/dlls/winevulkan/make_vulkan @@ -1893,9 +1893,19 @@ class VkGenerator(object): if not any(s.name == conv.struct.name for s in self.host_structs): self.host_structs.append(conv.struct)
- def generate_thunks_c(self, f, prefix): - f.write("/* Automatically generated from Vulkan vk.xml; DO NOT EDIT! */\n\n") + def _generate_copyright(self, f, spec_file=False): + c = "# " if spec_file else " * " + f.write("# " if spec_file else "/* ") + f.write("Automatically generated from Vulkan vk.xml; DO NOT EDIT!\n") + lines = ["", "This file is generated from Vulkan vk.xml file covered", + "by the following copyright and permission notice:"] + lines.extend([l.rstrip(" ") for l in self.registry.copyright.splitlines()]) + for line in lines: + f.write("{0}{1}".format("# " if spec_file else " * ", line).rstrip(" ") + "\n") + f.write("\n" if spec_file else " */\n\n")
+ def generate_thunks_c(self, f, prefix): + self._generate_copyright(f) f.write("#include "config.h"\n") f.write("#include "wine/port.h"\n\n")
@@ -2011,7 +2021,7 @@ class VkGenerator(object): f.write("}\n")
def generate_thunks_h(self, f, prefix): - f.write("/* Automatically generated from Vulkan vk.xml; DO NOT EDIT! */\n\n") + self._generate_copyright(f)
f.write("#ifndef __WINE_VULKAN_THUNKS_H\n") f.write("#define __WINE_VULKAN_THUNKS_H\n\n") @@ -2109,7 +2119,7 @@ class VkGenerator(object): f.write("#endif /* __WINE_VULKAN_THUNKS_H */\n")
def generate_vulkan_h(self, f): - f.write("/* Automatically generated from Vulkan vk.xml; DO NOT EDIT! */\n\n") + self._generate_copyright(f) f.write("#ifndef __WINE_VULKAN_H\n") f.write("#define __WINE_VULKAN_H\n\n")
@@ -2203,7 +2213,7 @@ class VkGenerator(object): f.write("#endif /* __WINE_VULKAN_H */\n")
def generate_vulkan_driver_h(self, f): - f.write("/* Automatically generated from Vulkan vk.xml; DO NOT EDIT! */\n\n") + self._generate_copyright(f) f.write("#ifndef __WINE_VULKAN_DRIVER_H\n") f.write("#define __WINE_VULKAN_DRIVER_H\n\n")
@@ -2231,7 +2241,7 @@ class VkGenerator(object): f.write("#endif /* __WINE_VULKAN_DRIVER_H */\n")
def generate_vulkan_spec(self, f): - f.write("# Automatically generated from Vulkan vk.xml; DO NOT EDIT!\n\n") + self._generate_copyright(f, spec_file=True) f.write("@ stdcall vk_icdGetInstanceProcAddr(ptr str) wine_vk_icdGetInstanceProcAddr\n") f.write("@ stdcall vk_icdNegotiateLoaderICDInterfaceVersion(ptr) wine_vk_icdNegotiateLoaderICDInterfaceVersion\n")
@@ -2252,7 +2262,7 @@ class VkGenerator(object): f.write("@ stub {0}\n".format(func.name))
def generate_vulkan_loader_spec(self, f): - f.write("# Automatically generated from Vulkan vk.xml; DO NOT EDIT!\n\n") + self._generate_copyright(f, spec_file=True)
# Export symbols for all Vulkan Core functions. for func in self.registry.funcs.values(): @@ -2303,6 +2313,8 @@ class VkRegistry(object): self._parse_features(root) self._parse_extensions(root)
+ self.copyright = root.find('./comment').text + def _mark_command_required(self, command): """ Helper function to mark a certain command and the datatypes it needs as required.""" def mark_bitmask_dependencies(bitmask, types): diff --git a/dlls/winevulkan/vulkan_thunks.c b/dlls/winevulkan/vulkan_thunks.c index cdb229d7df32..2f89fdb5bde4 100644 --- a/dlls/winevulkan/vulkan_thunks.c +++ b/dlls/winevulkan/vulkan_thunks.c @@ -1,4 +1,39 @@ -/* Automatically generated from Vulkan vk.xml; DO NOT EDIT! */ +/* Automatically generated from Vulkan vk.xml; DO NOT EDIT! + * + * This file is generated from Vulkan vk.xml file covered + * by the following copyright and permission notice: + * + * Copyright (c) 2015-2018 The Khronos Group Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ---- Exceptions to the Apache 2.0 License: ---- + * + * As an exception, if you use this Software to generate code and portions of + * this Software are embedded into the generated code as a result, you may + * redistribute such product without providing attribution as would otherwise + * be required by Sections 4(a), 4(b) and 4(d) of the License. + * + * In addition, if you combine or link code generated by this Software with + * software that is licensed under the GPLv2 or the LGPL v2.0 or 2.1 + * ("`Combined Software`") and if a court of competent jurisdiction determines + * that the patent provision (Section 3), the indemnity provision (Section 9) + * or other Section of the License conflicts with the conditions of the + * applicable GPL or LGPL license, you may retroactively and prospectively + * choose to deem waived or otherwise exclude such Section(s) of the License, + * but only in their entirety and only with respect to the Combined Software. + * + */
#include "config.h" #include "wine/port.h" diff --git a/dlls/winevulkan/vulkan_thunks.h b/dlls/winevulkan/vulkan_thunks.h index f193c4310761..55645afd4735 100644 --- a/dlls/winevulkan/vulkan_thunks.h +++ b/dlls/winevulkan/vulkan_thunks.h @@ -1,4 +1,39 @@ -/* Automatically generated from Vulkan vk.xml; DO NOT EDIT! */ +/* Automatically generated from Vulkan vk.xml; DO NOT EDIT! + * + * This file is generated from Vulkan vk.xml file covered + * by the following copyright and permission notice: + * + * Copyright (c) 2015-2018 The Khronos Group Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ---- Exceptions to the Apache 2.0 License: ---- + * + * As an exception, if you use this Software to generate code and portions of + * this Software are embedded into the generated code as a result, you may + * redistribute such product without providing attribution as would otherwise + * be required by Sections 4(a), 4(b) and 4(d) of the License. + * + * In addition, if you combine or link code generated by this Software with + * software that is licensed under the GPLv2 or the LGPL v2.0 or 2.1 + * ("`Combined Software`") and if a court of competent jurisdiction determines + * that the patent provision (Section 3), the indemnity provision (Section 9) + * or other Section of the License conflicts with the conditions of the + * applicable GPL or LGPL license, you may retroactively and prospectively + * choose to deem waived or otherwise exclude such Section(s) of the License, + * but only in their entirety and only with respect to the Combined Software. + * + */
#ifndef __WINE_VULKAN_THUNKS_H #define __WINE_VULKAN_THUNKS_H diff --git a/dlls/winevulkan/winevulkan.spec b/dlls/winevulkan/winevulkan.spec index 551c7fd89724..b923c6422518 100644 --- a/dlls/winevulkan/winevulkan.spec +++ b/dlls/winevulkan/winevulkan.spec @@ -1,4 +1,38 @@ # Automatically generated from Vulkan vk.xml; DO NOT EDIT! +# +# This file is generated from Vulkan vk.xml file covered +# by the following copyright and permission notice: +# +# Copyright (c) 2015-2018 The Khronos Group Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ---- Exceptions to the Apache 2.0 License: ---- +# +# As an exception, if you use this Software to generate code and portions of +# this Software are embedded into the generated code as a result, you may +# redistribute such product without providing attribution as would otherwise +# be required by Sections 4(a), 4(b) and 4(d) of the License. +# +# In addition, if you combine or link code generated by this Software with +# software that is licensed under the GPLv2 or the LGPL v2.0 or 2.1 +# ("`Combined Software`") and if a court of competent jurisdiction determines +# that the patent provision (Section 3), the indemnity provision (Section 9) +# or other Section of the License conflicts with the conditions of the +# applicable GPL or LGPL license, you may retroactively and prospectively +# choose to deem waived or otherwise exclude such Section(s) of the License, +# but only in their entirety and only with respect to the Combined Software. +#
@ stdcall vk_icdGetInstanceProcAddr(ptr str) wine_vk_icdGetInstanceProcAddr @ stdcall vk_icdNegotiateLoaderICDInterfaceVersion(ptr) wine_vk_icdNegotiateLoaderICDInterfaceVersion diff --git a/include/wine/vulkan.h b/include/wine/vulkan.h index 74ff22b52e08..93e0d0118ff8 100644 --- a/include/wine/vulkan.h +++ b/include/wine/vulkan.h @@ -1,4 +1,39 @@ -/* Automatically generated from Vulkan vk.xml; DO NOT EDIT! */ +/* Automatically generated from Vulkan vk.xml; DO NOT EDIT! + * + * This file is generated from Vulkan vk.xml file covered + * by the following copyright and permission notice: + * + * Copyright (c) 2015-2018 The Khronos Group Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ---- Exceptions to the Apache 2.0 License: ---- + * + * As an exception, if you use this Software to generate code and portions of + * this Software are embedded into the generated code as a result, you may + * redistribute such product without providing attribution as would otherwise + * be required by Sections 4(a), 4(b) and 4(d) of the License. + * + * In addition, if you combine or link code generated by this Software with + * software that is licensed under the GPLv2 or the LGPL v2.0 or 2.1 + * ("`Combined Software`") and if a court of competent jurisdiction determines + * that the patent provision (Section 3), the indemnity provision (Section 9) + * or other Section of the License conflicts with the conditions of the + * applicable GPL or LGPL license, you may retroactively and prospectively + * choose to deem waived or otherwise exclude such Section(s) of the License, + * but only in their entirety and only with respect to the Combined Software. + * + */
#ifndef __WINE_VULKAN_H #define __WINE_VULKAN_H diff --git a/include/wine/vulkan_driver.h b/include/wine/vulkan_driver.h index 60d16dd52a24..c11cf33e9c88 100644 --- a/include/wine/vulkan_driver.h +++ b/include/wine/vulkan_driver.h @@ -1,4 +1,39 @@ -/* Automatically generated from Vulkan vk.xml; DO NOT EDIT! */ +/* Automatically generated from Vulkan vk.xml; DO NOT EDIT! + * + * This file is generated from Vulkan vk.xml file covered + * by the following copyright and permission notice: + * + * Copyright (c) 2015-2018 The Khronos Group Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ---- Exceptions to the Apache 2.0 License: ---- + * + * As an exception, if you use this Software to generate code and portions of + * this Software are embedded into the generated code as a result, you may + * redistribute such product without providing attribution as would otherwise + * be required by Sections 4(a), 4(b) and 4(d) of the License. + * + * In addition, if you combine or link code generated by this Software with + * software that is licensed under the GPLv2 or the LGPL v2.0 or 2.1 + * ("`Combined Software`") and if a court of competent jurisdiction determines + * that the patent provision (Section 3), the indemnity provision (Section 9) + * or other Section of the License conflicts with the conditions of the + * applicable GPL or LGPL license, you may retroactively and prospectively + * choose to deem waived or otherwise exclude such Section(s) of the License, + * but only in their entirety and only with respect to the Combined Software. + * + */
#ifndef __WINE_VULKAN_DRIVER_H #define __WINE_VULKAN_DRIVER_H