Nikolay Sivov : vkd3d-shader/hlsl: Fix floating point literals matching.

Alexandre Julliard julliard at winehq.org
Thu Feb 17 15:31:20 CST 2022


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

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Tue Feb  8 09:52:15 2022 +0300

vkd3d-shader/hlsl: Fix floating point literals matching.

Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Giovanni Mascellani <gmascellani at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni at codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 libs/vkd3d-shader/hlsl.l                   |  2 +-
 tests/hlsl-initializer-numeric.shader_test | 13 +++++++++++++
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/libs/vkd3d-shader/hlsl.l b/libs/vkd3d-shader/hlsl.l
index c1edfe7..267c8c3 100644
--- a/libs/vkd3d-shader/hlsl.l
+++ b/libs/vkd3d-shader/hlsl.l
@@ -192,7 +192,7 @@ row_major               {return KW_ROW_MAJOR;           }
                             yylval->floatval = atof(yytext);
                             return C_FLOAT;
                         }
-[0-9]+([eE][+-]?[0-9]+)?[h|H|f|F] {
+[0-9]+[eE][+-]?[0-9]+[h|H|f|F]? {
                             yylval->floatval = atof(yytext);
                             return C_FLOAT;
                         }
diff --git a/tests/hlsl-initializer-numeric.shader_test b/tests/hlsl-initializer-numeric.shader_test
index 2fce390..4057688 100644
--- a/tests/hlsl-initializer-numeric.shader_test
+++ b/tests/hlsl-initializer-numeric.shader_test
@@ -33,3 +33,16 @@ float4 main() : sv_target
 [test]
 draw quad
 probe all rgba (1.0, 2.0, 3.0, 4.0) 4
+
+
+[pixel shader]
+float4 main() : sv_target
+{
+    float4 aa = { 1e1, 1e-1,  1., 2.f };
+    float4 bb = {  .1, .1e1, .2f, 1.e-1f };
+    return aa + bb;
+}
+
+[test]
+draw quad
+probe all rgba (10.1, 1.1, 1.2, 2.1) 4




More information about the wine-cvs mailing list