Conor McCarthy : vkd3d-shader: Emit negation modifier for double-precision float registers.

Alexandre Julliard julliard at winehq.org
Mon Jul 26 15:28:32 CDT 2021


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

Author: Conor McCarthy <cmccarthy at codeweavers.com>
Date:   Fri Jul 23 15:32:21 2021 +1000

vkd3d-shader: Emit negation modifier for double-precision float registers.

Signed-off-by: Conor McCarthy <cmccarthy 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 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libs/vkd3d-shader/spirv.c b/libs/vkd3d-shader/spirv.c
index 33e664c..511f0c3 100644
--- a/libs/vkd3d-shader/spirv.c
+++ b/libs/vkd3d-shader/spirv.c
@@ -3393,7 +3393,7 @@ static uint32_t vkd3d_dxbc_compiler_emit_neg(struct vkd3d_dxbc_compiler *compile
     uint32_t type_id;
 
     type_id = vkd3d_dxbc_compiler_get_type_id_for_reg(compiler, reg, write_mask);
-    if (reg->data_type == VKD3D_DATA_FLOAT)
+    if (reg->data_type == VKD3D_DATA_FLOAT || reg->data_type == VKD3D_DATA_DOUBLE)
         return vkd3d_spirv_build_op_fnegate(builder, type_id, val_id);
     else if (reg->data_type == VKD3D_DATA_INT)
         return vkd3d_spirv_build_op_snegate(builder, type_id, val_id);




More information about the wine-cvs mailing list