Henri Verbeet : vkd3d-shader/spirv: Properly compare integers in vkd3d_spirv_declaration_compare().

Alexandre Julliard julliard at winehq.org
Mon Feb 28 15:48:39 CST 2022


Module: vkd3d
Branch: master
Commit: 7e08773d4e0338e5daf99a93bb385b3eee182073
URL:    https://source.winehq.org/git/vkd3d.git/?a=commit;h=7e08773d4e0338e5daf99a93bb385b3eee182073

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Mon Feb 28 12:23:50 2022 +0100

vkd3d-shader/spirv: Properly compare integers in vkd3d_spirv_declaration_compare().

Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 libs/vkd3d-shader/spirv.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/libs/vkd3d-shader/spirv.c b/libs/vkd3d-shader/spirv.c
index 1ffce6a..cc8748d 100644
--- a/libs/vkd3d-shader/spirv.c
+++ b/libs/vkd3d-shader/spirv.c
@@ -511,11 +511,12 @@ static int vkd3d_spirv_declaration_compare(const void *key, const struct rb_entr
 {
     const struct vkd3d_spirv_declaration *a = key;
     const struct vkd3d_spirv_declaration *b = RB_ENTRY_VALUE(e, const struct vkd3d_spirv_declaration, entry);
+    int ret;
 
-    if (a->op != b->op)
-        return a->op - b->op;
-    if (a->parameter_count != b->parameter_count)
-        return a->parameter_count - b->parameter_count;
+    if ((ret = vkd3d_u32_compare(a->op, b->op)))
+        return ret;
+    if ((ret = vkd3d_u32_compare(a->parameter_count, b->parameter_count)))
+        return ret;
     assert(a->parameter_count <= ARRAY_SIZE(a->parameters));
     return memcmp(&a->parameters, &b->parameters, a->parameter_count * sizeof(*a->parameters));
 }




More information about the wine-cvs mailing list