=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: vkd3d-shader: Merge ifs in vkd3d_dxbc_compiler_emit_swizzle_ext().

Alexandre Julliard julliard at winehq.org
Mon Feb 25 14:26:12 CST 2019


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

Author: Józef Kucia <jkucia at codeweavers.com>
Date:   Mon Feb 25 11:59:09 2019 +0100

vkd3d-shader: Merge ifs in vkd3d_dxbc_compiler_emit_swizzle_ext().

Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

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

diff --git a/libs/vkd3d-shader/spirv.c b/libs/vkd3d-shader/spirv.c
index 5ed4df2..b447a13 100644
--- a/libs/vkd3d-shader/spirv.c
+++ b/libs/vkd3d-shader/spirv.c
@@ -2633,14 +2633,11 @@ static uint32_t vkd3d_dxbc_compiler_emit_swizzle_ext(struct vkd3d_dxbc_compiler
     val_component_count = vkd3d_write_mask_component_count(val_write_mask);
 
     if (component_count == val_component_count
-            && vkd3d_swizzle_is_equal(val_write_mask, swizzle, write_mask))
+            && (component_count == 1 || vkd3d_swizzle_is_equal(val_write_mask, swizzle, write_mask)))
         return val_id;
 
     type_id = vkd3d_spirv_get_type_id(builder, component_type, component_count);
 
-    if (component_count == 1 && val_component_count == 1)
-        return val_id;
-
     if (component_count == 1)
     {
         component_idx = vkd3d_write_mask_get_component_idx(write_mask);




More information about the wine-cvs mailing list