Jacek Caban : wine/vulkan.h: Properly declare enum values that use value attribute in spec.

Alexandre Julliard julliard at winehq.org
Fri Jul 20 12:14:32 CDT 2018


Module: wine
Branch: master
Commit: 427f3599103cf07de45e6dc008dbbd5dcc5f183b
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=427f3599103cf07de45e6dc008dbbd5dcc5f183b

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Fri Jul 20 12:49:06 2018 +0200

wine/vulkan.h: Properly declare enum values that use value attribute in spec.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/winevulkan/make_vulkan | 12 +++++++-----
 include/wine/vulkan.h       |  5 ++---
 2 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan
index a7dc040..fe742b7 100755
--- a/dlls/winevulkan/make_vulkan
+++ b/dlls/winevulkan/make_vulkan
@@ -2490,11 +2490,12 @@ class VkRegistry(object):
         self.enums = OrderedDict(sorted(enums.items()))
 
     def _process_require_enum(self, enum_elem, ext=None):
+        if "extends" in enum_elem.keys():
+            enum = self.types[enum_elem.attrib["extends"]]["data"]
+
             if "bitpos" in enum_elem.keys():
                 # We need to add an extra value to an existing enum type.
                 # E.g. VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG to VkFormatFeatureFlagBits.
-                type_name = enum_elem.attrib["extends"]
-                enum = self.types[type_name]["data"]
                 enum.add(VkEnumValue(enum_elem.attrib["name"], 1 << int(enum_elem.attrib["bitpos"]), hex=True))
 
             elif "offset" in enum_elem.keys():
@@ -2512,12 +2513,13 @@ class VkRegistry(object):
                 if direction is not None:
                     value = -value
 
-                type_name = enum_elem.attrib["extends"]
-                enum = self.types[type_name]["data"]
                 enum.add(VkEnumValue(enum_elem.attrib["name"], value))
 
             elif "value" in enum_elem.keys():
-                self.consts.append(VkConstant(enum_elem.attrib.get("name"), enum_elem.attrib.get("value")))
+                enum.add(VkEnumValue(enum_elem.attrib["name"], int(enum_elem.attrib["value"])))
+
+        elif "value" in enum_elem.keys():
+            self.consts.append(VkConstant(enum_elem.attrib["name"], enum_elem.attrib["value"]))
 
     def _parse_extensions(self, root):
         """ Parse extensions section and pull in any types and commands for this extensioin. """
diff --git a/include/wine/vulkan.h b/include/wine/vulkan.h
index 965e26f..31e8e5c 100644
--- a/include/wine/vulkan.h
+++ b/include/wine/vulkan.h
@@ -94,7 +94,6 @@
 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 1
 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
-#define VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE 4
 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
@@ -143,14 +142,12 @@
 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
-#define VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR 1
 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 1
 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
-#define VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR 1
 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
@@ -706,6 +703,7 @@ typedef enum VkDescriptorType
 typedef enum VkDescriptorUpdateTemplateType
 {
     VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
+    VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
     VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7fffffff,
 } VkDescriptorUpdateTemplateType;
 
@@ -1481,6 +1479,7 @@ typedef enum VkSamplerAddressMode
     VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
     VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
     VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
+    VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
     VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7fffffff,
 } VkSamplerAddressMode;
 




More information about the wine-cvs mailing list