Bläddra i källkod

Preserve denorms for frc on half inputs, and fix sqrt(-denorm) for float (#1042)

Young Kim 7 år sedan
förälder
incheckning
6f2aaa6ab3
2 ändrade filer med 6 tillägg och 8 borttagningar
  1. 3 5
      tools/clang/unittests/HLSL/ShaderOpArithTable.xml
  2. 3 3
      utils/hct/hctdb_test.py

+ 3 - 5
tools/clang/unittests/HLSL/ShaderOpArithTable.xml

@@ -514,7 +514,7 @@
             <Parameter Name="Validation.Expected1">
             <Parameter Name="Validation.Expected1">
                 <Value>NaN</Value>
                 <Value>NaN</Value>
                 <Value>NaN</Value>
                 <Value>NaN</Value>
-                <Value>NaN</Value>
+                <Value>-0</Value>
                 <Value>-0</Value>
                 <Value>-0</Value>
                 <Value>0</Value>
                 <Value>0</Value>
                 <Value>0</Value>
                 <Value>0</Value>
@@ -1867,10 +1867,9 @@
             <Parameter Name="Validation.Input1">
             <Parameter Name="Validation.Input1">
                 <Value>NaN</Value>
                 <Value>NaN</Value>
                 <Value>-Inf</Value>
                 <Value>-Inf</Value>
-                <Value>-denorm</Value>
+                <Value>0x03FF</Value>
                 <Value>-0</Value>
                 <Value>-0</Value>
                 <Value>0</Value>
                 <Value>0</Value>
-                <Value>denorm</Value>
                 <Value>Inf</Value>
                 <Value>Inf</Value>
                 <Value>-1</Value>
                 <Value>-1</Value>
                 <Value>2.719</Value>
                 <Value>2.719</Value>
@@ -1880,8 +1879,7 @@
             <Parameter Name="Validation.Expected1">
             <Parameter Name="Validation.Expected1">
                 <Value>NaN</Value>
                 <Value>NaN</Value>
                 <Value>NaN</Value>
                 <Value>NaN</Value>
-                <Value>0</Value>
-                <Value>0</Value>
+                <Value>0x03FF</Value>
                 <Value>0</Value>
                 <Value>0</Value>
                 <Value>0</Value>
                 <Value>0</Value>
                 <Value>NaN</Value>
                 <Value>NaN</Value>

+ 3 - 3
utils/hct/hctdb_test.py

@@ -642,10 +642,10 @@ def add_test_cases():
         'NaN', 'NaN', '0', '0', '0', '0', 'NaN', '0', '0.718280', '0.599976',
         'NaN', 'NaN', '0', '0', '0', '0', 'NaN', '0', '0.718280', '0.599976',
         '0.611'
         '0.611'
     ]], "unary float", "frac",
     ]], "unary float", "frac",
-        half_inputs=[['NaN', '-Inf', '-denorm', '-0', '0', 'denorm', 'Inf', '-1', '2.719',
+        half_inputs=[['NaN', '-Inf', '0x03FF', '-0', '0', 'Inf', '-1', '2.719',
         '1000.5', '0xC764']],
         '1000.5', '0xC764']],
         half_outputs=[[
         half_outputs=[[
-         'NaN', 'NaN', '0', '0', '0', '0', 'NaN', '0', '0.719', '0.5',
+         'NaN', 'NaN', '0x03FF', '0', '0', 'NaN', '0', '0.719', '0.5',
         '0x38E1']])
         '0x38E1']])
     add_test_case_float_half('Log', ['Log'], 'Relative', 21, [[
     add_test_case_float_half('Log', ['Log'], 'Relative', 21, [[
         'NaN', '-Inf', '-denorm', '-0', '0', 'denorm', 'Inf', '-1',
         'NaN', '-Inf', '-denorm', '-0', '0', 'denorm', 'Inf', '-1',
@@ -664,7 +664,7 @@ def add_test_cases():
         'NaN', '-Inf', '-denorm', '-0', '0', 'denorm', 'Inf', '-1', '2',
         'NaN', '-Inf', '-denorm', '-0', '0', 'denorm', 'Inf', '-1', '2',
         '16.0', '256.0'
         '16.0', '256.0'
     ]], [[
     ]], [[
-        'NaN', 'NaN', 'NaN', '-0', '0', '0', 'Inf', 'NaN', '1.41421356237',
+        'NaN', 'NaN', '-0', '-0', '0', '0', 'Inf', 'NaN', '1.41421356237',
         '4.0', '16.0'
         '4.0', '16.0'
     ]], "unary float", "sqrt",
     ]], "unary float", "sqrt",
     half_inputs=[['NaN', '-Inf', '-denorm', '-0', '0', '0x03FF', 'Inf', '-1', '2', '16.0', '256.0']],
     half_inputs=[['NaN', '-Inf', '-denorm', '-0', '0', '0x03FF', 'Inf', '-1', '2', '16.0', '256.0']],