yes
This commit is contained in:
+112
@@ -0,0 +1,112 @@
|
||||
#!amber
|
||||
# Copyright 2021 Google LLC.
|
||||
# Copyright 2021 The Khronos Group Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Matrix 3x3 determinant precision test 16bit
|
||||
|
||||
DEVICE_EXTENSION VK_KHR_storage_buffer_storage_class
|
||||
DEVICE_EXTENSION VK_KHR_16bit_storage
|
||||
DEVICE_FEATURE Float16Int8Features.shaderFloat16
|
||||
|
||||
SHADER compute compute_shader GLSL
|
||||
#version 450
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable
|
||||
|
||||
const int NUMMATRICES = 10;
|
||||
|
||||
layout(set = 0, binding = 0) buffer block0
|
||||
{
|
||||
mat3 matIns[NUMMATRICES];
|
||||
};
|
||||
|
||||
layout(set = 0, binding = 1) buffer block1
|
||||
{
|
||||
float detM[NUMMATRICES];
|
||||
};
|
||||
|
||||
void main()
|
||||
{
|
||||
for (int ndx = 0; ndx < NUMMATRICES; ndx++)
|
||||
{
|
||||
f16mat3 matIn = f16mat3(matIns[ndx]);
|
||||
float16_t det16bit = determinant(matIn);
|
||||
detM[ndx] = uintBitsToFloat(packFloat2x16(f16vec2(det16bit, -1.0)));
|
||||
}
|
||||
}
|
||||
END
|
||||
|
||||
BUFFER bufIn DATA_TYPE mat3x3<float> DATA
|
||||
1.0 5.0 3.0
|
||||
2.0 4.0 7.0
|
||||
4.0 6.0 2.0
|
||||
|
||||
1.0 0.0 1.0
|
||||
0.0 0.0 1.0
|
||||
1.0 1.0 1.0
|
||||
|
||||
-0.00400161743164062 -2.900390625 -41
|
||||
-0.419921875 0.00490188598632812 -0.016998291015625
|
||||
-0.7001953125 0.00500106811523438 -0.00259971618652344
|
||||
|
||||
-0.140000000596046 0.00109999999403954 -0.399999976158142
|
||||
-32 1.80000007152557 -0.046000003814697
|
||||
5 0.00500000035390258 -27
|
||||
|
||||
-4.0234375 1.2275390625 21.125
|
||||
5.73828125 90.5625 -60.4375
|
||||
-2.1484375 -1.27734375 -1.951171875
|
||||
|
||||
6 4.80078125 0.1500244140625
|
||||
-100 3.599609375 3.099609375
|
||||
-50 0.040008544921875 80
|
||||
|
||||
24.171875 2.798828125 0.82958984375
|
||||
-9.703125 1.1630859375 -17.46875
|
||||
-1.3828125 -4.83984375 3.56640625
|
||||
|
||||
-1.615234375 5.9296875 1.181640625
|
||||
1.7802734375 19.1875 4.7578125
|
||||
52.8125 -1.1171875 1.1513671875
|
||||
|
||||
3.17578125 -2.3984375 4.12890625
|
||||
1.3818359375 5.53125 1.8154296875
|
||||
-16.40625 -1.8486328125 0.95263671875
|
||||
|
||||
1.615234375 0.62890625 2.73828125
|
||||
-0.9716796875 -18.828125 3.509765625
|
||||
-8.015625 3.5703125 5.98046875
|
||||
END
|
||||
|
||||
BUFFER bufOut DATA_TYPE float SIZE 10 FILL 0.0
|
||||
|
||||
PIPELINE compute pipeline
|
||||
ATTACH compute_shader
|
||||
|
||||
BIND BUFFER bufIn AS storage DESCRIPTOR_SET 0 BINDING 0
|
||||
BIND BUFFER bufOut AS storage DESCRIPTOR_SET 0 BINDING 1
|
||||
END
|
||||
|
||||
RUN pipeline 1 1 1
|
||||
|
||||
EXPECT bufOut IDX 0 TOLERANCE 0.00000762939453125 EQ -0.00783267617225647
|
||||
EXPECT bufOut IDX 4 TOLERANCE 0.00000762939453125 EQ -0.00785732269287109
|
||||
EXPECT bufOut IDX 8 TOLERANCE 0.00000762939453125 EQ -0.00785386469215155
|
||||
EXPECT bufOut IDX 12 TOLERANCE 0.00000762939453125 EQ -0.00782984681427479
|
||||
EXPECT bufOut IDX 16 TOLERANCE 0.00000762939453125 EQ -0.00783849507570267
|
||||
EXPECT bufOut IDX 20 TOLERANCE 0.00000762939453125 EQ -0.00784130394458771
|
||||
EXPECT bufOut IDX 24 TOLERANCE 0.00000762939453125 EQ -0.00786752626299858
|
||||
EXPECT bufOut IDX 28 TOLERANCE 0.00000762939453125 EQ -0.00783427059650421
|
||||
EXPECT bufOut IDX 32 TOLERANCE 0.00000762939453125 EQ -0.00783521682024002
|
||||
EXPECT bufOut IDX 36 TOLERANCE 0.00000762939453125 EQ -0.00786614231765270
|
||||
+122
@@ -0,0 +1,122 @@
|
||||
#!amber
|
||||
# Copyright 2021 Google LLC.
|
||||
# Copyright 2021 The Khronos Group Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Matrix 4x4 determinant precision test 16bit
|
||||
|
||||
DEVICE_EXTENSION VK_KHR_storage_buffer_storage_class
|
||||
DEVICE_EXTENSION VK_KHR_16bit_storage
|
||||
DEVICE_FEATURE Float16Int8Features.shaderFloat16
|
||||
|
||||
SHADER compute compute_shader GLSL
|
||||
#version 450
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable
|
||||
|
||||
const int NUMMATRICES = 10;
|
||||
|
||||
layout(set = 0, binding = 0) buffer block0
|
||||
{
|
||||
mat4 matIns[NUMMATRICES];
|
||||
};
|
||||
|
||||
layout(set = 0, binding = 1) buffer block1
|
||||
{
|
||||
float detM[NUMMATRICES];
|
||||
};
|
||||
|
||||
void main()
|
||||
{
|
||||
for (int ndx = 0; ndx < NUMMATRICES; ndx++)
|
||||
{
|
||||
f16mat4 matIn = f16mat4(matIns[ndx]);
|
||||
float16_t det16bit = determinant(matIn);
|
||||
detM[ndx] = uintBitsToFloat(packFloat2x16(f16vec2(det16bit, -1.0)));
|
||||
}
|
||||
}
|
||||
END
|
||||
|
||||
BUFFER bufIn DATA_TYPE mat4x4<float> DATA
|
||||
-1.0 1.0 4.0 2.0
|
||||
2.0 -1.0 2.0 5.0
|
||||
1.0 2.0 3.0 4.0
|
||||
3.0 4.0 -1.0 2.0
|
||||
|
||||
1.0 0.0 0.0 0.0
|
||||
0.0 0.0 1.0 0.0
|
||||
0.0 1.0 0.0 0.0
|
||||
0.0 0.0 0.0 1.0
|
||||
|
||||
-0.08837890625 0.1569824219 0.001299858093 0.2451171875
|
||||
0.0380859375 0.7124023438 -0.003200531006 0.9111328125
|
||||
0.07598876953 0.09777832031 -1.060546875 1.904296875
|
||||
-0.4968261719 1.595703125 0.01309967041 -2.6953125
|
||||
|
||||
42 0.3000488281 -0.04800415039 -270
|
||||
15 4.80078125 -4.8984375 -41
|
||||
-0.1800537109 -0.7001953125 -0.02299499512 0.3701171875
|
||||
-0.000500202179 -0.002799987793 -0.7998046875 -0.2900390625
|
||||
|
||||
500 -3.599609375 -15 37
|
||||
2.900390625 -0.4699707031 3.19921875 4.69921875
|
||||
0.09997558594 0.04400634766 0.005001068115 -0.02799987793
|
||||
-48 19 -1.099609375 0.03799438477
|
||||
|
||||
-17 -1100 -100 -0.01800537109
|
||||
6 43 -3.099609375 20
|
||||
-2.30078125 0.002700805664 -0.000500202179 -1.900390625
|
||||
0.3601074219 0.3100585938 -0.00479888916 0.02699279785
|
||||
|
||||
-3.384765625 3.154296875 -9.8671875 1.489257812
|
||||
-1.336914062 1.853515625 13.1875 4.7734375
|
||||
-2.580078125 54.8125 -5.62890625 -1.877929688
|
||||
-0.7348632812 -1.95703125 1.390625 5.82421875
|
||||
|
||||
-1.60546875 -18.71875 -2.263671875 2.4296875
|
||||
-2.67578125 -7.33984375 226.5 3.841796875
|
||||
9.5234375 -3.541015625 -2.8828125 1.755859375
|
||||
1.602539062 1.243164062 10.6796875 -0.7749023438
|
||||
|
||||
25.703125 1.28125 2.548828125 -2.83203125
|
||||
-1.983398438 -2.9296875 -6.0625 -1.15625
|
||||
-2.45703125 -39.84375 0.8330078125 -4.12109375
|
||||
0.814453125 0.6962890625 3.279296875 -2.87109375
|
||||
|
||||
-13.421875 -1.57421875 4.17578125 4.421875
|
||||
-1.33300781 2.875 -5.18359375 1.84960938
|
||||
-1.30273438 -5.03125 -0.909179688 1.53710938
|
||||
-17.03125 1.13378906 2.16601562 -1.44628906
|
||||
END
|
||||
|
||||
BUFFER bufOut DATA_TYPE float SIZE 10 FILL 0.0
|
||||
|
||||
PIPELINE compute pipeline
|
||||
ATTACH compute_shader
|
||||
|
||||
BIND BUFFER bufIn AS storage DESCRIPTOR_SET 0 BINDING 0
|
||||
BIND BUFFER bufOut AS storage DESCRIPTOR_SET 0 BINDING 1
|
||||
END
|
||||
|
||||
RUN pipeline 1 1 1
|
||||
|
||||
EXPECT bufOut IDX 0 TOLERANCE 0.00000762939453125 EQ -0.007861733437
|
||||
EXPECT bufOut IDX 4 TOLERANCE 0.00000762939453125 EQ -0.007857322693
|
||||
EXPECT bufOut IDX 8 TOLERANCE 0.00000762939453125 EQ -0.007855851203
|
||||
EXPECT bufOut IDX 12 TOLERANCE 0.00000762939453125 EQ -0.007836524397
|
||||
EXPECT bufOut IDX 16 TOLERANCE 0.00000762939453125 EQ -0.007867698558
|
||||
EXPECT bufOut IDX 20 TOLERANCE 0.00000762939453125 EQ -0.007838701829
|
||||
EXPECT bufOut IDX 24 TOLERANCE 0.00000762939453125 EQ -0.007839817554
|
||||
EXPECT bufOut IDX 28 TOLERANCE 0.00000762939453125 EQ -0.007841326296
|
||||
EXPECT bufOut IDX 32 TOLERANCE 0.00000762939453125 EQ -0.007840413600
|
||||
EXPECT bufOut IDX 36 TOLERANCE 0.00000762939453125 EQ -0.007868356071
|
||||
@@ -0,0 +1,131 @@
|
||||
#!amber
|
||||
# Copyright 2021 Google LLC.
|
||||
# Copyright 2021 The Khronos Group Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Matrix 3x3 determinant precision test 16bit
|
||||
|
||||
DEVICE_EXTENSION VK_KHR_storage_buffer_storage_class
|
||||
DEVICE_EXTENSION VK_KHR_16bit_storage
|
||||
DEVICE_FEATURE Float16Int8Features.shaderFloat16
|
||||
DEVICE_FEATURE Storage16BitFeatures.storageBuffer16BitAccess
|
||||
|
||||
SHADER compute compute_shader GLSL
|
||||
#version 450
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable
|
||||
|
||||
const int NUMMATRICES = 10;
|
||||
|
||||
layout(set = 0, binding = 0) buffer block0
|
||||
{
|
||||
f16mat3 matIns[NUMMATRICES];
|
||||
};
|
||||
|
||||
layout(set = 0, binding = 1) buffer block1
|
||||
{
|
||||
float16_t detM[NUMMATRICES];
|
||||
};
|
||||
|
||||
void main()
|
||||
{
|
||||
for (int ndx = 0; ndx < NUMMATRICES; ndx++)
|
||||
{
|
||||
f16mat3 matIn = matIns[ndx];
|
||||
detM[ndx] = determinant(matIn);
|
||||
}
|
||||
}
|
||||
END
|
||||
|
||||
BUFFER bufIn DATA_TYPE mat3x3<float16> DATA
|
||||
1.0 5.0 3.0
|
||||
2.0 4.0 7.0
|
||||
4.0 6.0 2.0
|
||||
|
||||
1.0 0.0 1.0
|
||||
0.0 0.0 1.0
|
||||
1.0 1.0 1.0
|
||||
|
||||
-0.00400000019 -2.9000001 -41.0
|
||||
-0.419999987 0.00490000006 -0.0170000009
|
||||
-0.699999988 0.00500000035 -0.00260000001
|
||||
|
||||
-0.140000000596046 0.00109999999403954 -0.399999976158142
|
||||
-32.0 1.80000007152557 -0.046000003814697
|
||||
5.0 0.00500000035390258 -27.0
|
||||
|
||||
-4.0233599 1.22770872 21.1278195
|
||||
5.73735199 90.5568627 -60.4349515
|
||||
-2.14830406 -1.27748196 -1.95159347
|
||||
|
||||
6.0 4.80000019073486 0.149999991059303
|
||||
-100.0 3.60000014305115 3.10000014305115
|
||||
-50.0 0.0399999991059303 80.0
|
||||
|
||||
24.1753959 2.79813019 0.829575022
|
||||
-9.7064469 1.16276185 -17.4720435
|
||||
-1.38314259 -4.84031414 3.56710072
|
||||
|
||||
-1.61521246 5.92810797 1.18125284
|
||||
1.78069006 19.186389 4.75964561
|
||||
52.7974026 -1.11742044 1.15160604
|
||||
|
||||
3.17625232 -2.39810968 4.12844617
|
||||
1.38140651 5.53174748 1.81531844
|
||||
-16.4044715 -1.84897984 0.952559261
|
||||
|
||||
1.61552133 0.62901187 2.73753558
|
||||
-0.971753372 -18.8233818 3.51006655
|
||||
-8.01648116 3.5704698 5.98052632
|
||||
END
|
||||
|
||||
BUFFER bufOut DATA_TYPE float16 SIZE 10 FILL 0.0
|
||||
|
||||
PIPELINE compute pipeline
|
||||
ATTACH compute_shader
|
||||
|
||||
BIND BUFFER bufIn AS storage DESCRIPTOR_SET 0 BINDING 0
|
||||
BIND BUFFER bufOut AS storage DESCRIPTOR_SET 0 BINDING 1
|
||||
END
|
||||
|
||||
RUN pipeline 1 1 1
|
||||
|
||||
# Decimals between 64 and 128: 0.0625
|
||||
EXPECT bufOut IDX 0 TOLERANCE 0.0625 EQ 74
|
||||
|
||||
# Decimals between 0.5 and 1: 0.00048828125
|
||||
EXPECT bufOut IDX 2 TOLERANCE 0.00048828125 EQ -1
|
||||
|
||||
# Decimals between 0.0625 and 0.125: 0.0002441406
|
||||
EXPECT bufOut IDX 4 TOLERANCE 0.0002441406 EQ -0.0858154296875
|
||||
|
||||
# Decimals between 8 and 16: 0.03125
|
||||
EXPECT bufOut IDX 6 TOLERANCE 0.03125 EQ 9.5156
|
||||
|
||||
# Integers between 4096 and 8192: 4
|
||||
EXPECT bufOut IDX 8 TOLERANCE 4.0 EQ 5140
|
||||
|
||||
# Integers between 32768 and 65536: 128
|
||||
EXPECT bufOut IDX 10 TOLERANCE 128 EQ 39424
|
||||
|
||||
# Decimals between 1024 and 2048: 4.0
|
||||
EXPECT bufOut IDX 12 TOLERANCE 4.0 EQ -1739.0
|
||||
|
||||
# Decimals between 128 and 256: 2.0
|
||||
EXPECT bufOut IDX 14 TOLERANCE 2.0 EQ 234.75
|
||||
|
||||
# Decimals between 256 and 512: 0.25
|
||||
EXPECT bufOut IDX 16 TOLERANCE 0.5 EQ 465.25
|
||||
|
||||
# Decimals between 512 and 1024: 1.0
|
||||
EXPECT bufOut IDX 18 TOLERANCE 1.0 EQ -638.0
|
||||
@@ -0,0 +1,141 @@
|
||||
#!amber
|
||||
# Copyright 2021 Google LLC.
|
||||
# Copyright 2021 The Khronos Group Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Matrix 4x4 determinant precision test 16bit
|
||||
|
||||
DEVICE_EXTENSION VK_KHR_storage_buffer_storage_class
|
||||
DEVICE_EXTENSION VK_KHR_16bit_storage
|
||||
DEVICE_FEATURE Float16Int8Features.shaderFloat16
|
||||
DEVICE_FEATURE Storage16BitFeatures.storageBuffer16BitAccess
|
||||
|
||||
SHADER compute compute_shader GLSL
|
||||
#version 450
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable
|
||||
|
||||
const int NUMMATRICES = 10;
|
||||
|
||||
layout(set = 0, binding = 0) buffer block0
|
||||
{
|
||||
f16mat4 matIns[NUMMATRICES];
|
||||
};
|
||||
|
||||
layout(set = 0, binding = 1) buffer block1
|
||||
{
|
||||
float16_t detM[NUMMATRICES];
|
||||
};
|
||||
|
||||
void main()
|
||||
{
|
||||
for (int ndx = 0; ndx < NUMMATRICES; ndx++)
|
||||
{
|
||||
f16mat4 matIn = matIns[ndx];
|
||||
detM[ndx] = determinant(matIn);
|
||||
}
|
||||
}
|
||||
END
|
||||
|
||||
BUFFER bufIn DATA_TYPE mat4x4<float16> DATA
|
||||
-1.0 1.0 4.0 2.0
|
||||
2.0 -1.0 2.0 5.0
|
||||
1.0 2.0 3.0 4.0
|
||||
3.0 4.0 -1.0 2.0
|
||||
|
||||
1.0 0.0 0.0 0.0
|
||||
0.0 0.0 1.0 0.0
|
||||
0.0 1.0 0.0 0.0
|
||||
0.0 0.0 0.0 1.0
|
||||
|
||||
-0.08837890625 0.1569824219 0.001299858093 0.2451171875
|
||||
0.0380859375 0.7124023438 -0.003200531006 0.9111328125
|
||||
0.07598876953 0.09777832031 -1.060546875 1.904296875
|
||||
-0.4968261719 1.595703125 0.01309967041 -2.6953125
|
||||
|
||||
0.55322265625 -2.6953125 -12.75 -0.381103515625
|
||||
-0.473876953125 -0.014030456543 -4.9140625 -9.59375
|
||||
-1.083984375 0.62841796875 0.067443847656 -4.7734375
|
||||
-0.062286376953 -0.58935546875 -0.143798828125 0.4453125
|
||||
|
||||
14.4765625 -4.6953125 -5.40625 2.572265625
|
||||
-3.298828125 9.1796875 2.822265625 6.46484375
|
||||
3.6953125 3.67578125 -3.779296875 4.26953125
|
||||
-7.3828125 5.45703125 -7.4921875 3.99609375
|
||||
|
||||
-17 -1100 -100 -0.01800537109
|
||||
6 43 -3.099609375 20
|
||||
-2.30078125 0.002700805664 -0.000500202179 -1.900390625
|
||||
0.3601074219 0.3100585938 -0.00479888916 0.02699279785
|
||||
|
||||
-3.384765625 3.154296875 -9.8671875 1.489257812
|
||||
-1.336914062 1.853515625 13.1875 4.7734375
|
||||
-2.580078125 54.8125 -5.62890625 -1.877929688
|
||||
-0.7348632812 -1.95703125 1.390625 5.82421875
|
||||
|
||||
-1.60546875 -18.71875 -2.263671875 2.4296875
|
||||
-2.67578125 -7.33984375 226.5 3.841796875
|
||||
9.5234375 -3.541015625 -2.8828125 1.755859375
|
||||
1.602539062 1.243164062 10.6796875 -0.7749023438
|
||||
|
||||
25.703125 1.28125 2.548828125 -2.83203125
|
||||
-1.983398438 -2.9296875 -6.0625 -1.15625
|
||||
-2.45703125 -39.84375 0.8330078125 -4.12109375
|
||||
0.814453125 0.6962890625 3.279296875 -2.87109375
|
||||
|
||||
-13.421875 -1.57421875 4.17578125 4.421875
|
||||
-1.33300781 2.875 -5.18359375 1.84960938
|
||||
-1.30273438 -5.03125 -0.909179688 1.53710938
|
||||
-17.03125 1.13378906 2.16601562 -1.44628906
|
||||
END
|
||||
|
||||
BUFFER bufOut DATA_TYPE float16 SIZE 10 FILL 0.0
|
||||
|
||||
PIPELINE compute pipeline
|
||||
ATTACH compute_shader
|
||||
|
||||
BIND BUFFER bufIn AS storage DESCRIPTOR_SET 0 BINDING 0
|
||||
BIND BUFFER bufOut AS storage DESCRIPTOR_SET 0 BINDING 1
|
||||
END
|
||||
|
||||
RUN pipeline 1 1 1
|
||||
|
||||
# Decimals between 16 and 32: 0.015625
|
||||
EXPECT bufOut IDX 0 TOLERANCE 0.015625 EQ -26.0
|
||||
|
||||
# Decimals between 0.5 and 1: 0.00048828125
|
||||
EXPECT bufOut IDX 2 TOLERANCE 0.00048828125 EQ -1.0
|
||||
|
||||
# Decimals between 0.25 and 0.5: 0.00146484375
|
||||
EXPECT bufOut IDX 4 TOLERANCE 0.00146484375 EQ -0.3641016781
|
||||
|
||||
# Decimals between 32 and 64: 0.25
|
||||
EXPECT bufOut IDX 6 TOLERANCE 0.25 EQ 46.3125
|
||||
|
||||
# Decimals between 1024 and 2048: 12.0
|
||||
EXPECT bufOut IDX 8 TOLERANCE 12.0 EQ -1840
|
||||
|
||||
# Integers between 4096 and 8192: 24
|
||||
EXPECT bufOut IDX 10 TOLERANCE 24 EQ 6036
|
||||
|
||||
# Integers between 8192 and 16384: 64
|
||||
EXPECT bufOut IDX 12 TOLERANCE 64 EQ 13472
|
||||
|
||||
# Integers between 32768 and 65536: 128
|
||||
EXPECT bufOut IDX 14 TOLERANCE 128 EQ 40192
|
||||
|
||||
# Integers between 16384 and 32768: 96
|
||||
EXPECT bufOut IDX 16 TOLERANCE 96 EQ 20800
|
||||
|
||||
# Integers between 2048 and 4096: 8
|
||||
EXPECT bufOut IDX 18 TOLERANCE 8 EQ -3212
|
||||
@@ -0,0 +1,127 @@
|
||||
#!amber
|
||||
# Copyright 2021 Google LLC.
|
||||
# Copyright 2021 The Khronos Group Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Matrix 3x3 determinant precision test 64bit
|
||||
|
||||
DEVICE_FEATURE shaderFloat64
|
||||
|
||||
SHADER compute compute_shader GLSL
|
||||
#version 450
|
||||
|
||||
const int NUMMATRICES = 10;
|
||||
|
||||
layout(set = 0, binding = 0) buffer block0
|
||||
{
|
||||
dmat3 matIns[NUMMATRICES];
|
||||
};
|
||||
|
||||
layout(set = 0, binding = 1) buffer block1
|
||||
{
|
||||
double detM[NUMMATRICES];
|
||||
};
|
||||
|
||||
void main()
|
||||
{
|
||||
for (int ndx = 0; ndx < NUMMATRICES; ndx++)
|
||||
{
|
||||
dmat3 matIn = matIns[ndx];
|
||||
detM[ndx] = determinant(matIn);
|
||||
}
|
||||
}
|
||||
END
|
||||
|
||||
BUFFER bufIn DATA_TYPE mat3x3<double> DATA
|
||||
1.0 5.0 3.0
|
||||
2.0 4.0 7.0
|
||||
4.0 6.0 2.0
|
||||
|
||||
1.0 0.0 1.0
|
||||
0.0 0.0 1.0
|
||||
1.0 1.0 1.0
|
||||
|
||||
-0.00400000019 -2.9000001 -41.0
|
||||
-0.419999987 0.00490000006 -0.0170000009
|
||||
-0.699999988 0.00500000035 -0.00260000001
|
||||
|
||||
-0.140000000596046 0.00109999999403954 -0.399999976158142
|
||||
-32.0 1.80000007152557 -0.046000003814697
|
||||
5.0 0.00500000035390258 -27.0
|
||||
|
||||
-1.39999997615814 -0.449999988079071 -0.0
|
||||
260.0 0.399999976158142 90.0
|
||||
-3.40000009536743 -0.419999986886978 -40.0
|
||||
|
||||
6.0 4.80000019073486 0.149999991059303
|
||||
-100.0 3.60000014305115 3.10000014305115
|
||||
-50.0 0.0399999991059303 80.0
|
||||
|
||||
-16132.9695 59037.9967 -24574.7252
|
||||
35850.322 46793.3449 -328946.914
|
||||
-22869.431 26404.5123 21301.7202
|
||||
|
||||
-251.256059 -18.9422633 -28.2466605
|
||||
-27.4345721 77.0803571 27.8791292
|
||||
-41.9989703 31.9438685 -44.1174942
|
||||
|
||||
-1690.54461 -17438.4039 -1783.23503
|
||||
-2073.71794 23603.1964 -51459.9156
|
||||
-1908.4221 3618.75624 3788.92769
|
||||
|
||||
-16.8431843 84.5075181 -18.2598076
|
||||
-14.9214002 -84.4076786 -15.1675014
|
||||
21.3443665 -146.383183 -48.9589896
|
||||
END
|
||||
|
||||
BUFFER bufOut DATA_TYPE double SIZE 10 FILL 0.0
|
||||
|
||||
PIPELINE compute pipeline
|
||||
ATTACH compute_shader
|
||||
|
||||
BIND BUFFER bufIn AS storage DESCRIPTOR_SET 0 BINDING 0
|
||||
BIND BUFFER bufOut AS storage DESCRIPTOR_SET 0 BINDING 1
|
||||
END
|
||||
|
||||
RUN pipeline 1 1 1
|
||||
|
||||
# Decimals between 64 and 128: 1.421085472e-14
|
||||
EXPECT bufOut IDX 0 TOLERANCE 0.000000000000014210855 EQ 74
|
||||
|
||||
# Decimals between 0.5 and 1: 2.220446049e-16
|
||||
EXPECT bufOut IDX 8 TOLERANCE 0.0000000000000002220446 EQ -1
|
||||
|
||||
# Decimals between 0.0625 and 0.125: 2.775557562e-17
|
||||
EXPECT bufOut IDX 16 TOLERANCE 0.000000000000000222044605 EQ -0.085873487391295
|
||||
|
||||
# Decimals between 8 and 16: 1.776356839e-15
|
||||
EXPECT bufOut IDX 24 TOLERANCE 0.0000000000000017763569 EQ 9.5173150336492971682352
|
||||
|
||||
# Decimals between 4096 and 8192: 9.094947018e-13
|
||||
EXPECT bufOut IDX 32 TOLERANCE 0.000000000001818989403546 EQ -4572.819874970912419629875268
|
||||
|
||||
# Decimals between 32768 and 65536: 7.275957614e-12
|
||||
EXPECT bufOut IDX 40 TOLERANCE 0.0000000000072759576141834259 EQ 39409.657530142280652696
|
||||
|
||||
# Decimals between 1.407374884e+14 and 2.814749767e+14: 0.03125
|
||||
EXPECT bufOut IDX 48 TOLERANCE 0.125 EQ 193279112353655.781250
|
||||
|
||||
# Decimals between 1048576 and 2097152: 2.328306437e-10
|
||||
EXPECT bufOut IDX 56 TOLERANCE 0.00000000023283064365387 EQ 1056597.50481621926485282276659
|
||||
|
||||
# Decimals between 0.000244140625 and 0.00048828125: 0.00048828125
|
||||
EXPECT bufOut IDX 64 TOLERANCE 0.00048828125000000001 EQ -2382539145823.611328125
|
||||
|
||||
# Decimals between 131072 and 262144: 2.910383046e-11
|
||||
EXPECT bufOut IDX 72 TOLERANCE 0.00000000002910383046 EQ -194083.93092791094919429
|
||||
@@ -0,0 +1,137 @@
|
||||
#!amber
|
||||
# Copyright 2021 Google LLC.
|
||||
# Copyright 2021 The Khronos Group Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Matrix 4x4 determinant precision test 64bit
|
||||
|
||||
DEVICE_FEATURE shaderFloat64
|
||||
|
||||
SHADER compute compute_shader GLSL
|
||||
#version 450
|
||||
|
||||
const int NUMMATRICES = 10;
|
||||
|
||||
layout(set = 0, binding = 0) buffer block0
|
||||
{
|
||||
dmat4 matIns[NUMMATRICES];
|
||||
};
|
||||
|
||||
layout(set = 0, binding = 1) buffer block1
|
||||
{
|
||||
double detM[NUMMATRICES];
|
||||
};
|
||||
|
||||
void main()
|
||||
{
|
||||
for (int ndx = 0; ndx < NUMMATRICES; ndx++)
|
||||
{
|
||||
dmat4 matIn = matIns[ndx];
|
||||
detM[ndx] = determinant(matIn);
|
||||
}
|
||||
}
|
||||
END
|
||||
|
||||
BUFFER bufIn DATA_TYPE mat4x4<double> DATA
|
||||
-1.0 1.0 4.0 2.0
|
||||
2.0 -1.0 2.0 5.0
|
||||
1.0 2.0 3.0 4.0
|
||||
3.0 4.0 -1.0 2.0
|
||||
|
||||
1.0 0.0 0.0 0.0
|
||||
0.0 0.0 1.0 0.0
|
||||
0.0 1.0 0.0 0.0
|
||||
0.0 0.0 0.0 1.0
|
||||
|
||||
-0.0883788988 0.156982005 0.00129985996 0.245116994
|
||||
0.0380859002 0.712401986 -0.00320053007 0.911132991
|
||||
0.0759887993 0.097778298 -1.06054997 1.90429997
|
||||
-0.496825993 1.59570003 0.0130997002 -2.69531012
|
||||
|
||||
42.0 0.300049007 -0.0480041988 -270.0
|
||||
15.0 4.80077982 -4.89843988 -41.0
|
||||
-0.180053994 -0.700195014 -0.0229950007 0.370117009
|
||||
-0.000500202004 -0.00279998989 -0.799804986 -0.290039003
|
||||
|
||||
500.0 -3.5999999 -15.0 37.0
|
||||
2.9000001 -0.469999999 3.20000005 4.69999981
|
||||
0.100000001 0.0439999998 0.00499999989 -0.0280000009
|
||||
-48.0 19.0 -1.10000002 0.0379999988
|
||||
|
||||
-17.0 -1100.0 -100.0 -0.0180054009
|
||||
6.0 43.0 -3.09961009 20.0
|
||||
-2.30078006 0.00270081009 -0.000500202004 -1.90039003
|
||||
0.360107005 0.310059011 -0.00479889009 0.026992799
|
||||
|
||||
19.623375 16.395330 23.824263 16.653233
|
||||
-28.074343 -23.819447 24.132942 52.970188
|
||||
-19.421518 -22.756260 -17.654331 -18.975327
|
||||
16.584002 19.627544 18.864560 20.070559
|
||||
|
||||
-0.00622151 -0.006746047 -0.002207905 -0.02056567
|
||||
-0.030076593 -0.0267689 0.01095024 -0.09132
|
||||
-0.01297636 0.04533594 -0.01379582 -0.01475323
|
||||
-0.004602736 -0.01200175 0.01090538 0.02836178
|
||||
|
||||
-0.0119948 -0.03789127 -0.00611719 0.0448515
|
||||
0.04644695 -0.02320256 -0.03514489 -1.3571429
|
||||
-0.03181969 0.008329804 0.13061533 0.287190083
|
||||
-0.0098646 -0.587016575 0.040482634 -0.66131907
|
||||
|
||||
-49.9153838 -21.0593973 -46.518005 59.6618775
|
||||
-32.0837048 -15.4093261 22.1520919 32.4487472
|
||||
-18.0335364 19.6343962 40.2818031 -16.6847517
|
||||
30.3650256 430.773516 335.057641 84.5618449
|
||||
END
|
||||
|
||||
BUFFER bufOut DATA_TYPE double SIZE 10 FILL 0.0
|
||||
|
||||
PIPELINE compute pipeline
|
||||
ATTACH compute_shader
|
||||
|
||||
BIND BUFFER bufIn AS storage DESCRIPTOR_SET 0 BINDING 0
|
||||
BIND BUFFER bufOut AS storage DESCRIPTOR_SET 0 BINDING 1
|
||||
END
|
||||
|
||||
RUN pipeline 1 1 1
|
||||
|
||||
# Decimals between 16 and 32: 3.552713679e-15
|
||||
EXPECT bufOut IDX 0 EQ -26
|
||||
|
||||
# Decimals between 0.5 and 1: 2.220446049e-16
|
||||
EXPECT bufOut IDX 8 EQ -1
|
||||
|
||||
# Decimals between 0.25 and 0.5: 1.110223025e-16
|
||||
EXPECT bufOut IDX 16 EQ -0.364101678133011
|
||||
|
||||
# Decimals between 1024 and 2048: 2.273736754e-13
|
||||
EXPECT bufOut IDX 24 EQ 1219.946419379439168064366576570556410934016
|
||||
|
||||
# Decimals between 1024 and 2048: 2.273736754e-13
|
||||
EXPECT bufOut IDX 32 EQ -1924.85973816225951203237126921896020732
|
||||
|
||||
# Decimals between 4096 and 8192: 9.094947018e-13
|
||||
EXPECT bufOut IDX 40 EQ 6034.51084090743653255911117932092367232645
|
||||
|
||||
# Decimals between 8192 and 16384: 1.818989404e-12
|
||||
EXPECT bufOut IDX 48 EQ -10978.146941518156549970360707
|
||||
|
||||
# Decimals between 2.384185791e-07 and 4.768371582e-07: 1.058791184e-22
|
||||
EXPECT bufOut IDX 56 EQ 0.0000003679074841726843985005892741
|
||||
|
||||
# Decimals between 0.0009765625 and 0.001953125: 4.33680869e-19
|
||||
EXPECT bufOut IDX 64 EQ 0.0009920748085783632901867328594585
|
||||
|
||||
# Decimals between 4194304 and 8388608: 7.450580597e-09
|
||||
EXPECT bufOut IDX 72 EQ 47256976.9201866878572731957034908014
|
||||
@@ -0,0 +1,126 @@
|
||||
#!amber
|
||||
# Copyright 2021 Google LLC.
|
||||
# Copyright 2021 The Khronos Group Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Matrix 3x3 determinant precision test float32_t
|
||||
|
||||
SHADER compute compute_shader GLSL
|
||||
#version 450
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_float32 : enable
|
||||
|
||||
const int NUMMATRICES = 10;
|
||||
|
||||
layout(set = 0, binding = 0) buffer block0
|
||||
{
|
||||
f32mat3 matIns[NUMMATRICES];
|
||||
};
|
||||
|
||||
layout(set = 0, binding = 1) buffer block1
|
||||
{
|
||||
float32_t detM[NUMMATRICES];
|
||||
};
|
||||
|
||||
void main()
|
||||
{
|
||||
for (int ndx = 0; ndx < NUMMATRICES; ndx++)
|
||||
{
|
||||
f32mat3 matIn = matIns[ndx];
|
||||
detM[ndx] = determinant(matIn);
|
||||
}
|
||||
}
|
||||
END
|
||||
|
||||
BUFFER bufIn DATA_TYPE mat3x3<float> DATA
|
||||
1.0 5.0 3.0
|
||||
2.0 4.0 7.0
|
||||
4.0 6.0 2.0
|
||||
|
||||
1.0 0.0 1.0
|
||||
0.0 0.0 1.0
|
||||
1.0 1.0 1.0
|
||||
|
||||
-0.00400000019 -2.9000001 -41.0
|
||||
-0.419999987 0.00490000006 -0.0170000009
|
||||
-0.699999988 0.00500000035 -0.00260000001
|
||||
|
||||
-0.140000000596046 0.00109999999403954 -0.399999976158142
|
||||
-32.0 1.80000007152557 -0.046000003814697
|
||||
5.0 0.00500000035390258 -27.0
|
||||
|
||||
-1.39999997615814 -0.449999988079071 -0.0
|
||||
260.0 0.399999976158142 90.0
|
||||
-3.40000009536743 -0.419999986886978 -40.0
|
||||
|
||||
6.0 4.80000019073486 0.149999991059303
|
||||
-100.0 3.60000014305115 3.10000014305115
|
||||
-50.0 0.0399999991059303 80.0
|
||||
|
||||
-16132.9695 59037.9967 -24574.7252
|
||||
35850.322 46793.3449 -328946.914
|
||||
-22869.431 26404.5123 21301.7202
|
||||
|
||||
-251.256059 -18.9422633 -28.2466605
|
||||
-27.4345721 77.0803571 27.8791292
|
||||
-41.9989703 31.9438685 -44.1174942
|
||||
|
||||
-1690.54461 -17438.4039 -1783.23503
|
||||
-2073.71794 23603.1964 -51459.9156
|
||||
-1908.4221 3618.75624 3788.92769
|
||||
|
||||
-16.8431843 84.5075181 -18.2598076
|
||||
-14.9214002 -84.4076786 -15.1675014
|
||||
21.3443665 -146.383183 -48.9589896
|
||||
END
|
||||
|
||||
BUFFER bufOut DATA_TYPE float SIZE 10 FILL 0.0
|
||||
|
||||
PIPELINE compute pipeline
|
||||
ATTACH compute_shader
|
||||
|
||||
BIND BUFFER bufIn AS storage DESCRIPTOR_SET 0 BINDING 0
|
||||
BIND BUFFER bufOut AS storage DESCRIPTOR_SET 0 BINDING 1
|
||||
END
|
||||
|
||||
RUN pipeline 1 1 1
|
||||
|
||||
# Decimals between 64 and 128: 7.629394531e-06
|
||||
EXPECT bufOut IDX 0 TOLERANCE 0.0000076293945 EQ 74
|
||||
|
||||
# Decimals between 0.5 and 1: 1.192092896e-07
|
||||
EXPECT bufOut IDX 4 TOLERANCE 0.00000011920929 EQ -1
|
||||
|
||||
# Decimals between 0.0625 and 0.125: 1.490116119e-08
|
||||
EXPECT bufOut IDX 8 TOLERANCE 0.00000011920928955078125 EQ -0.0858734846115112
|
||||
|
||||
# Decimals between 8 and 16: 0.00000190734864
|
||||
EXPECT bufOut IDX 12 TOLERANCE 0.00000190734864 EQ 9.51731491088867
|
||||
|
||||
# Decimals between 4096 and 8192: 0.00048828125
|
||||
EXPECT bufOut IDX 16 TOLERANCE 0.00048828125 EQ -4572.8198749709125947182780748699
|
||||
|
||||
# Decimals between 32768 and 65536: 0.00390625
|
||||
EXPECT bufOut IDX 20 TOLERANCE 0.00390625 EQ 39409.657530142280691
|
||||
|
||||
# Integers between 1.407374884e+14 and 2.814749767e+14: 16777216
|
||||
EXPECT bufOut IDX 24 TOLERANCE 100663296 EQ 193279131910144
|
||||
|
||||
# Decimals between 1048576 and 2097152: 0.250
|
||||
EXPECT bufOut IDX 28 TOLERANCE 0.250 EQ 1056597.5
|
||||
|
||||
# Integers between 2.199023256e+12 and 4.398046511e+12: 524288
|
||||
EXPECT bufOut IDX 32 TOLERANCE 1048576 EQ -2382539145824
|
||||
|
||||
# Decimals between 131072 and 262144: 0.015625
|
||||
EXPECT bufOut IDX 36 TOLERANCE 0.03125 EQ -194083.90625
|
||||
@@ -0,0 +1,133 @@
|
||||
#!amber
|
||||
# Copyright 2021 Google LLC.
|
||||
# Copyright 2021 The Khronos Group Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Matrix 4x4 determinant precision test float32_t
|
||||
|
||||
SHADER compute compute_shader GLSL
|
||||
#version 450
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_float32 : enable
|
||||
|
||||
const int NUMMATRICES = 10;
|
||||
|
||||
layout(set = 0, binding = 0) buffer block0
|
||||
{
|
||||
f32mat4 matIns[NUMMATRICES];
|
||||
};
|
||||
|
||||
layout(set = 0, binding = 1) buffer block1
|
||||
{
|
||||
float32_t detM[NUMMATRICES];
|
||||
};
|
||||
|
||||
void main()
|
||||
{
|
||||
for (int ndx = 0; ndx < NUMMATRICES; ndx++)
|
||||
{
|
||||
f32mat4 matIn = matIns[ndx];
|
||||
detM[ndx] = determinant(matIn);
|
||||
}
|
||||
}
|
||||
END
|
||||
|
||||
BUFFER bufIn DATA_TYPE mat4x4<float> DATA
|
||||
-1.0 1.0 4.0 2.0
|
||||
2.0 -1.0 2.0 5.0
|
||||
1.0 2.0 3.0 4.0
|
||||
3.0 4.0 -1.0 2.0
|
||||
|
||||
1.0 0.0 0.0 0.0
|
||||
0.0 0.0 1.0 0.0
|
||||
0.0 1.0 0.0 0.0
|
||||
0.0 0.0 0.0 1.0
|
||||
|
||||
-0.0883788988 0.156982005 0.00129985996 0.245116994
|
||||
0.0380859002 0.712401986 -0.00320053007 0.911132991
|
||||
0.0759887993 0.097778298 -1.06054997 1.90429997
|
||||
-0.496825993 1.59570003 0.0130997002 -2.69531012
|
||||
|
||||
42 0.30004900694 -0.04800419882 -270
|
||||
15 4.80077981949 -4.89843988419 -41
|
||||
-0.1800539941 -0.70019501448 -0.02299500071 0.37011700869
|
||||
-0.000500202 -0.00279998989 -0.79980498552 -0.2900390029
|
||||
|
||||
500.0 -3.5999999 -15.0 37.0
|
||||
2.9000001 -0.469999999 3.20000005 4.69999981
|
||||
0.100000001 0.0439999998 0.00499999989 -0.0280000009
|
||||
-48.0 19.0 -1.10000002 0.0379999988
|
||||
|
||||
-17.0 -1100.0 -100.0 -0.0180054009
|
||||
6.0 43.0 -3.09961009 20.0
|
||||
-2.30078006 0.00270081009 -0.000500202 -1.90039003
|
||||
0.360107005 0.310059011 -0.00479889009 0.026992799
|
||||
|
||||
19.623375 16.395330 23.824263 16.653233
|
||||
-28.074343 -23.819447 24.132942 52.970188
|
||||
-19.421518 -22.756260 -17.654331 -18.975327
|
||||
16.584002 19.627544 18.864560 20.070559
|
||||
|
||||
-0.00622151 -0.006746047 -0.002207905 -0.02056567
|
||||
-0.030076593 -0.0267689 0.01095024 -0.09132
|
||||
-0.01297636 0.04533594 -0.01379582 -0.01475323
|
||||
-0.004602736 -0.01200175 0.01090538 0.02836178
|
||||
|
||||
-0.0119948 -0.03789127 -0.00611719 0.0448515
|
||||
0.04644695 -0.02320256 -0.03514489 -1.3571429
|
||||
-0.03181969 0.008329804 0.13061533 0.287190083
|
||||
-0.0098646 -0.587016575 0.040482634 -0.66131907
|
||||
|
||||
-49.9153838 -21.0593973 -46.518005 59.6618775
|
||||
-32.0837048 -15.4093261 22.1520919 32.4487472
|
||||
-18.0335364 19.6343962 40.2818031 -16.6847517
|
||||
30.3650256 430.773516 335.057641 84.5618449
|
||||
END
|
||||
|
||||
BUFFER bufOut DATA_TYPE float SIZE 10 FILL 0.0
|
||||
|
||||
PIPELINE compute pipeline
|
||||
ATTACH compute_shader
|
||||
|
||||
BIND BUFFER bufIn AS storage DESCRIPTOR_SET 0 BINDING 0
|
||||
BIND BUFFER bufOut AS storage DESCRIPTOR_SET 0 BINDING 1
|
||||
END
|
||||
|
||||
RUN pipeline 1 1 1
|
||||
|
||||
EXPECT bufOut IDX 0 EQ -26
|
||||
EXPECT bufOut IDX 4 EQ -1
|
||||
|
||||
# Decimals between 0.25 and 0.5: 2.384185791e-07
|
||||
EXPECT bufOut IDX 8 TOLERANCE 0.000030517578125 EQ -0.364101678133011
|
||||
|
||||
# Decimals between 1024 and 2048: 0.00048828125
|
||||
EXPECT bufOut IDX 12 TOLERANCE 0.00048828125 EQ 1219.946419379439168064366576570556410934016
|
||||
|
||||
# Decimals between 1024 and 2048: 0.001220703125
|
||||
EXPECT bufOut IDX 16 TOLERANCE 0.001220703125 EQ -1924.85973816225951203237126921896020732
|
||||
|
||||
# Decimals between 4096 and 8192: 0.0048828125
|
||||
EXPECT bufOut IDX 20 TOLERANCE 0.0048828125 EQ 6034.51084090743653255911117932092367232645
|
||||
|
||||
# Decimals between 8192 and 16384: 0.0009765625
|
||||
EXPECT bufOut IDX 24 TOLERANCE 0.0625 EQ -10978.146941518156549970360707
|
||||
|
||||
# Decimals between 2.384185791e-07 and 4.768371582e-07: 4.768371582e-07
|
||||
EXPECT bufOut IDX 28 TOLERANCE 0.00000047683716 EQ 0.0000003679074841726843985005892741
|
||||
|
||||
# Decimals between 0.0009765625 and 0.001953125: 0.000061035156
|
||||
EXPECT bufOut IDX 32 TOLERANCE 0.000061035156 EQ 0.0009920748085783632901867328594585
|
||||
|
||||
# Decimal between 4194304 and 8388608: 20
|
||||
EXPECT bufOut IDX 36 TOLERANCE 20 EQ 47256980
|
||||
+122
@@ -0,0 +1,122 @@
|
||||
#!amber
|
||||
# Copyright 2021 Google LLC.
|
||||
# Copyright 2021 The Khronos Group Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Matrix 3x3 inverse precision test 16bit
|
||||
|
||||
DEVICE_EXTENSION VK_KHR_storage_buffer_storage_class
|
||||
DEVICE_EXTENSION VK_KHR_16bit_storage
|
||||
DEVICE_FEATURE Float16Int8Features.shaderFloat16
|
||||
|
||||
SHADER compute compute_shader GLSL
|
||||
#version 450
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable
|
||||
|
||||
const int NUMMATRICES = 10;
|
||||
|
||||
layout(set = 0, binding = 0) buffer block0
|
||||
{
|
||||
mat3 matIns[NUMMATRICES];
|
||||
};
|
||||
|
||||
layout(set = 0, binding = 1) buffer block1
|
||||
{
|
||||
mat3 invOutM[NUMMATRICES];
|
||||
};
|
||||
|
||||
void main()
|
||||
{
|
||||
for (int ndx = 0; ndx < NUMMATRICES; ndx++)
|
||||
{
|
||||
f16mat3 matIn_16 = f16mat3(matIns[ndx]);
|
||||
f16mat3 matInv_16 = inverse(matIn_16);
|
||||
|
||||
f16mat3 transMat_16 = f16mat3(vec3(matIn_16[0][0], matIn_16[1][0], matIn_16[2][0]),
|
||||
vec3(matIn_16[0][1], matIn_16[1][1], matIn_16[2][1]),
|
||||
vec3(matIn_16[0][2], matIn_16[1][2], matIn_16[2][2]));
|
||||
|
||||
for (int row = 0; row < 3; row++)
|
||||
{
|
||||
for (int col = 0; col < 3; col++)
|
||||
{
|
||||
invOutM[ndx][row][col] = uintBitsToFloat(packFloat2x16(f16vec2(matInv_16[row][col], -1.0)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
END
|
||||
|
||||
BUFFER bufIn DATA_TYPE mat3x3<float> DATA
|
||||
1.0 5.0 3.0
|
||||
2.0 4.0 7.0
|
||||
4.0 6.0 2.0
|
||||
|
||||
1.0 0.0 1.0
|
||||
0.0 0.0 1.0
|
||||
1.0 1.0 1.0
|
||||
|
||||
-0.00400161743164062 -2.900390625 -41
|
||||
-0.419921875 0.00490188598632812 -0.016998291015625
|
||||
-0.7001953125 0.00500106811523438 -0.00259971618652344
|
||||
|
||||
-0.140000000596046 0.00109999999403954 -0.399999976158142
|
||||
-32 1.80000007152557 -0.046000003814697
|
||||
5 0.00500000035390258 -27
|
||||
|
||||
-4.0234375 1.2275390625 21.125
|
||||
5.73828125 90.5625 -60.4375
|
||||
-2.1484375 -1.27734375 -1.951171875
|
||||
|
||||
1.71191406 -6.6796875 3.72460938
|
||||
4.828125 0.152832031 0.327636719
|
||||
-0.126586914 1.70605469 0.860351562
|
||||
|
||||
24.171875 2.798828125 0.82958984375
|
||||
-9.703125 1.1630859375 -17.46875
|
||||
-1.3828125 -4.83984375 3.56640625
|
||||
|
||||
-1.615234375 5.9296875 1.181640625
|
||||
1.7802734375 19.1875 4.7578125
|
||||
52.8125 -1.1171875 1.1513671875
|
||||
|
||||
3.17578125 -2.3984375 4.12890625
|
||||
1.3818359375 5.53125 1.8154296875
|
||||
-16.40625 -1.8486328125 0.95263671875
|
||||
|
||||
1.615234375 0.62890625 2.73828125
|
||||
-0.9716796875 -18.828125 3.509765625
|
||||
-8.015625 3.5703125 5.98046875
|
||||
END
|
||||
|
||||
BUFFER bufOut DATA_TYPE mat3x3<float> SIZE 10 FILL 0.0
|
||||
|
||||
PIPELINE compute pipeline
|
||||
ATTACH compute_shader
|
||||
|
||||
BIND BUFFER bufIn AS storage DESCRIPTOR_SET 0 BINDING 0
|
||||
BIND BUFFER bufOut AS storage DESCRIPTOR_SET 0 BINDING 1
|
||||
END
|
||||
|
||||
RUN pipeline 1 1 1
|
||||
EXPECT bufOut IDX 0 TOLERANCE 0.00000762939453125 EQ -0.0078562144190073 -0.00782368611544371 -0.00782512966543436 -0.00782518088817596 -0.00785453896969557 -0.00785134267061949 -0.0078532500192523 -0.00782443396747112 -0.00785379111766815
|
||||
EXPECT bufOut IDX 48 TOLERANCE 0.00000762939453125 EQ -0.00782680511474609 -0.00785732269287109 -0.007843017578125 -0.00785732269287109 -0.007843017578125 -0.00782680511474609 -0.007843017578125 -0.00782680511474609 -0.007843017578125
|
||||
EXPECT bufOut IDX 96 TOLERANCE 0.00000762939453125 EQ -0.00784752238541842 -0.00782798510044813 -0.00785871222615242 -0.0078544681891799 -0.0078347260132432 -0.00786453858017921 -0.00785158388316631 -0.00786159280687571 -0.00783040374517441
|
||||
EXPECT bufOut IDX 144 TOLERANCE 0.00000762939453125 EQ -0.00785949360579252 -0.00781868956983089 -0.00782319065183401 -0.00786344427615404 -0.0078260563313961 -0.00782713387161493 -0.00785725098103285 -0.00781663320958614 -0.00785203743726015
|
||||
EXPECT bufOut IDX 192 TOLERANCE 0.00000762939453125 EQ -0.00785310473293066 -0.00784990470856428 -0.00785593315958977 -0.00782180111855268 -0.00782043673098087 -0.0078520905226469 -0.00782219227403402 -0.00784830655902624 -0.00785365328192711
|
||||
EXPECT bufOut IDX 240 TOLERANCE 0.00000762939453125 EQ -0.00785053987056017 -0.00782458204776049 -0.00785305164754391 -0.00785365793853998 -0.00782210659235716 -0.00782508961856365 -0.0078240754082799 -0.00785269215703011 -0.00782596692442894
|
||||
EXPECT bufOut IDX 288 TOLERANCE 0.00000762939453125 EQ -0.00782249309122562 -0.00782015733420849 -0.00782187841832638 -0.00785263068974018 -0.00785313174128532 -0.00785532407462597 -0.00785235036164522 -0.00785354617983103 -0.00785256922245026
|
||||
EXPECT bufOut IDX 336 TOLERANCE 0.00000762939453125 EQ -0.00782382301986217 -0.00785266328603029 -0.00782157573848963 -0.00782686658203602 -0.00785550847649574 -0.00782235898077488 -0.0078593110665679 -0.00782712083309889 -0.00785486306995153
|
||||
EXPECT bufOut IDX 384 TOLERANCE 0.00000762939453125 EQ -0.00782125908881426 -0.00785109400749207 -0.0078533822670579 -0.00785357225686312 -0.00782414898276329 -0.00784495379775763 -0.00782443396747112 -0.0078235175460577 -0.00782245025038719
|
||||
EXPECT bufOut IDX 432 TOLERANCE 0.00000762939453125 EQ -0.00782448425889015 -0.00785084161907434 -0.00785383861511946 -0.00782214943319559 -0.00785311032086611 -0.00782076641917229 -0.00782483350485563 -0.0078211622312665 -0.00782250612974167
|
||||
+132
@@ -0,0 +1,132 @@
|
||||
#!amber
|
||||
# Copyright 2021 Google LLC.
|
||||
# Copyright 2021 The Khronos Group Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Matrix 4x4 inverse precision test 16bit storage 32bit
|
||||
|
||||
DEVICE_EXTENSION VK_KHR_storage_buffer_storage_class
|
||||
DEVICE_EXTENSION VK_KHR_16bit_storage
|
||||
DEVICE_FEATURE Float16Int8Features.shaderFloat16
|
||||
|
||||
SHADER compute compute_shader GLSL
|
||||
#version 450
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable
|
||||
|
||||
const int NUMMATRICES = 10;
|
||||
|
||||
layout(set = 0, binding = 0) buffer block0
|
||||
{
|
||||
mat4 matIns[NUMMATRICES];
|
||||
};
|
||||
|
||||
layout(set = 0, binding = 1) buffer block1
|
||||
{
|
||||
mat4 invOutM[NUMMATRICES];
|
||||
};
|
||||
|
||||
void main()
|
||||
{
|
||||
for (int ndx = 0; ndx < NUMMATRICES; ndx++)
|
||||
{
|
||||
f16mat4 matIn_16 = f16mat4(matIns[ndx]);
|
||||
f16mat4 matInv_16 = inverse(matIn_16);
|
||||
|
||||
for (int row = 0; row < 4; row++)
|
||||
{
|
||||
for (int col = 0; col < 4; col++)
|
||||
{
|
||||
invOutM[ndx][row][col] = uintBitsToFloat(packFloat2x16(f16vec2(matInv_16[row][col], float16_t(-1.0))));
|
||||
|
||||
// Some GPUs are handling -0.0 as 0.0 when others don't.
|
||||
if (matInv_16[row][col] == -0.0) invOutM[ndx][row][col] = uintBitsToFloat(packFloat2x16(f16vec2(0.0, float16_t(-1.0))));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
END
|
||||
|
||||
BUFFER bufIn DATA_TYPE mat4x4<float> DATA
|
||||
-1.0 1.0 4.0 2.0
|
||||
2.0 -1.0 2.0 5.0
|
||||
1.0 2.0 3.0 4.0
|
||||
3.0 4.0 -1.0 2.0
|
||||
|
||||
1.0 0.0 0.0 0.0
|
||||
0.0 0.0 1.0 0.0
|
||||
0.0 1.0 0.0 0.0
|
||||
0.0 0.0 0.0 1.0
|
||||
|
||||
-0.08837890625 0.1569824219 0.001299858093 0.2451171875
|
||||
0.0380859375 0.7124023438 -0.003200531006 0.9111328125
|
||||
0.07598876953 0.09777832031 -1.060546875 1.904296875
|
||||
-0.4968261719 1.595703125 0.01309967041 -2.6953125
|
||||
|
||||
42 0.3000488281 -0.04800415039 -270
|
||||
15 4.80078125 -4.8984375 -41
|
||||
-0.1800537109 -0.7001953125 -0.02299499512 0.3701171875
|
||||
-0.000500202179 -0.002799987793 -0.7998046875 -0.2900390625
|
||||
|
||||
500 -3.599609375 -15 37
|
||||
2.900390625 -0.4699707031 3.19921875 4.69921875
|
||||
0.09997558594 0.04400634766 0.005001068115 -0.02799987793
|
||||
-48 19 -1.099609375 0.03799438477
|
||||
|
||||
-17 -1100 -100 -0.01800537109
|
||||
6 43 -3.099609375 20
|
||||
-2.30078125 0.002700805664 -0.000500202179 -1.900390625
|
||||
0.3601074219 0.3100585938 -0.00479888916 0.02699279785
|
||||
|
||||
-3.384765625 3.154296875 -9.8671875 1.489257812
|
||||
-1.336914062 1.853515625 13.1875 4.7734375
|
||||
-2.580078125 54.8125 -5.62890625 -1.877929688
|
||||
-0.7348632812 -1.95703125 1.390625 5.82421875
|
||||
|
||||
0.033935546875 0.0477600097656 -0.0791015625 0.40380859375
|
||||
0.0431823730469 0.0899047851563 0.033966064453 -0.00238609313965
|
||||
0.10986328125 -0.4140625 0.184326171875 -0.00595855712891
|
||||
-7.19921875 0.0353088378906 -0.020690917969 -0.02047729492188
|
||||
|
||||
-11.9375 3.626953125 1.5517578125 -2.2109375
|
||||
0.9501953125 3.873046875 2.546875 5.64453125
|
||||
9.3515625 -1.462890625 -1.759765625 1.2939453125
|
||||
5.953125 -8.5546875 -1.806640625 -2.95703125
|
||||
|
||||
-13.421875 -1.57421875 4.17578125 4.421875
|
||||
-1.33300781 2.875 -5.18359375 1.84960938
|
||||
-1.30273438 -5.03125 -0.909179688 1.53710938
|
||||
-17.03125 1.13378906 2.16601562 -1.44628906
|
||||
END
|
||||
|
||||
BUFFER bufOut DATA_TYPE mat4x4<float> SIZE 10 FILL 0.0
|
||||
|
||||
PIPELINE compute pipeline
|
||||
ATTACH compute_shader
|
||||
|
||||
BIND BUFFER bufIn AS storage DESCRIPTOR_SET 0 BINDING 0
|
||||
BIND BUFFER bufOut AS storage DESCRIPTOR_SET 0 BINDING 1
|
||||
END
|
||||
|
||||
RUN pipeline 1 1 1
|
||||
|
||||
EXPECT bufOut IDX 0 TOLERANCE 0.00000762939453125 EQ -0.00782783236 -0.00782695226 -0.00785884447 -0.0078271348 -0.0078559285 -0.0078559285 -0.00782629196 -0.00785431452 -0.00782746542 -0.00782621838 -0.00785833132 -0.00782643817 -0.00785790943 -0.00785658881 -0.00782788731 -0.0078571029
|
||||
EXPECT bufOut IDX 64 TOLERANCE 0.00000762939453125 EQ -0.007826805115 -0.0078125 -0.0078125 -0.0078125 -0.0078125 -0.0078125 -0.007826805115 -0.0078125 -0.0078125 -0.007826805115 -0.0078125 -0.0078125 -0.0078125 -0.0078125 -0.0078125 -0.007826805115
|
||||
EXPECT bufOut IDX 128 TOLERANCE 0.00000762939453125 EQ -0.00786039233 -0.00782793667 -0.00785188843 -0.007854064 -0.0078573348 -0.00782684796 -0.00784798525 -0.00782493595 -0.00782715902 -0.00782603491 -0.00785722211 -0.00785577018 -0.00782700069 -0.00782439206 -0.0078483494 -0.00785503723
|
||||
EXPECT bufOut IDX 192 TOLERANCE 0.00000762939453125 EQ -0.00785167329 -0.0078239264 -0.00782650989 -0.00785690639 -0.00781713333 -0.00785195641 -0.00785787124 -0.00782433804 -0.00781839062 -0.00785044394 -0.00785288401 -0.0078575192 -0.00785028189 -0.00782130379 -0.00782398041 -0.00785440393
|
||||
EXPECT bufOut IDX 256 TOLERANCE 0.00000762939453125 EQ -0.007817515172 -0.007817740552 -0.007827628404 -0.007849726826 -0.007818487473 -0.007821098901 -0.007829193957 -0.007822289132 -0.007850944996 -0.007824616507 -0.007830985822 -0.007853064686 -0.007819803432 -0.007823077962 -0.007861092687 -0.007822276093
|
||||
EXPECT bufOut IDX 320 TOLERANCE 0.00000762939453125 EQ -0.007815311663 -0.007851086557 -0.007853861898 -0.00782796368 -0.007846281864 -0.007820436731 -0.007823815569 -0.007825960405 -0.007850256748 -0.007854256779 -0.007857577875 -0.007859832607 -0.007846044376 -0.007820869796 -0.007856068201 -0.007858723402
|
||||
EXPECT bufOut IDX 384 TOLERANCE 0.00000762939453125 EQ -0.007855568081 -0.007855271921 -0.007822129875 -0.00782499183 -0.007851642556 -0.007850030437 -0.00782134477 -0.007820996456 -0.007851278409 -0.007823110558 -0.007849549875 -0.007853295654 -0.007852789946 -0.007853059098 -0.007820624858 -0.007824704051
|
||||
EXPECT bufOut IDX 448 TOLERANCE 0.00000762939453125 EQ -0.007851495408 -0.007852491923 -0.007852577604 -0.007855524309 -0.007822327316 -0.007830150425 -0.007858371362 -0.007822272368 -0.007824943401 -0.007831288502 -0.007829180919 -0.007824919187 -0.007828950882 -0.007828669623 -0.007827216759 -0.007823087275
|
||||
EXPECT bufOut IDX 512 TOLERANCE 0.00000762939453125 EQ -0.007829133421 -0.007827866822 -0.007829137146 -0.007827980444 -0.007828807458 -0.007827293128 -0.007828824222 -0.007827327587 -0.007830743678 -0.007829512469 -0.007830690593 -0.007829671726 -0.007860678248 -0.007859318517 -0.007860636339 -0.0078594964
|
||||
EXPECT bufOut IDX 576 TOLERANCE 0.00000762939453125 EQ -0.00784824509 -0.00785185397 -0.0078520542 -0.00785325561 -0.00782216899 -0.00782270823 -0.00785490777 -0.00785175525 -0.00782322045 -0.0078544952 -0.00785419904 -0.00785290636 -0.00782421976 -0.00782327354 -0.00785262417 -0.00785450544
|
||||
@@ -0,0 +1,131 @@
|
||||
#!amber
|
||||
# Copyright 2021 Google LLC.
|
||||
# Copyright 2021 The Khronos Group Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Matrix 3x3 inverse precision test 16bit
|
||||
|
||||
DEVICE_EXTENSION VK_KHR_storage_buffer_storage_class
|
||||
DEVICE_EXTENSION VK_KHR_16bit_storage
|
||||
DEVICE_FEATURE Float16Int8Features.shaderFloat16
|
||||
DEVICE_FEATURE Storage16BitFeatures.storageBuffer16BitAccess
|
||||
|
||||
SHADER compute compute_shader GLSL
|
||||
#version 450
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable
|
||||
|
||||
const int NUMMATRICES = 10;
|
||||
|
||||
layout(set = 0, binding = 0) buffer block0
|
||||
{
|
||||
f16mat3 matIns[NUMMATRICES];
|
||||
};
|
||||
|
||||
layout(set = 0, binding = 1) buffer block1
|
||||
{
|
||||
f16mat3 invOutM[NUMMATRICES];
|
||||
};
|
||||
|
||||
void main()
|
||||
{
|
||||
for (int ndx = 0; ndx < NUMMATRICES; ndx++)
|
||||
{
|
||||
f16mat3 matIn = matIns[ndx];
|
||||
invOutM[ndx] = inverse(matIn);
|
||||
}
|
||||
}
|
||||
END
|
||||
|
||||
BUFFER bufIn DATA_TYPE mat3x3<float16> DATA
|
||||
1.0 5.0 3.0
|
||||
2.0 4.0 7.0
|
||||
4.0 6.0 2.0
|
||||
|
||||
1.0 0.0 1.0
|
||||
0.0 0.0 1.0
|
||||
1.0 1.0 1.0
|
||||
|
||||
-0.00400161743164062 -2.900390625 -41
|
||||
-0.419921875 0.00490188598632812 -0.016998291015625
|
||||
-0.7001953125 0.00500106811523438 -0.00259971618652344
|
||||
|
||||
-0.140000000596046 0.00109999999403954 -0.399999976158142
|
||||
-32 1.80000007152557 -0.046000003814697
|
||||
5 0.00500000035390258 -27
|
||||
|
||||
-4.0234375 1.2275390625 21.125
|
||||
5.73828125 90.5625 -60.4375
|
||||
-2.1484375 -1.27734375 -1.951171875
|
||||
|
||||
1.71191406 -6.6796875 3.72460938
|
||||
4.828125 0.152832031 0.327636719
|
||||
-0.126586914 1.70605469 0.860351562
|
||||
|
||||
24.171875 2.798828125 0.82958984375
|
||||
-9.703125 1.1630859375 -17.46875
|
||||
-1.3828125 -4.83984375 3.56640625
|
||||
|
||||
-1.615234375 5.9296875 1.181640625
|
||||
1.7802734375 19.1875 4.7578125
|
||||
52.8125 -1.1171875 1.1513671875
|
||||
|
||||
3.17578125 -2.3984375 4.12890625
|
||||
1.3818359375 5.53125 1.8154296875
|
||||
-16.40625 -1.8486328125 0.95263671875
|
||||
|
||||
1.615234375 0.62890625 2.73828125
|
||||
-0.9716796875 -18.828125 3.509765625
|
||||
-8.015625 3.5703125 5.98046875
|
||||
END
|
||||
|
||||
BUFFER bufOut DATA_TYPE mat3x3<float16> SIZE 10 FILL 0.0
|
||||
|
||||
PIPELINE compute pipeline
|
||||
ATTACH compute_shader
|
||||
|
||||
BIND BUFFER bufIn AS storage DESCRIPTOR_SET 0 BINDING 0
|
||||
BIND BUFFER bufOut AS storage DESCRIPTOR_SET 0 BINDING 1
|
||||
END
|
||||
|
||||
RUN pipeline 1 1 1
|
||||
|
||||
# Decimals between 0.25 and 0.5: 0.000244140625
|
||||
EXPECT bufOut IDX 0 TOLERANCE 0.000244140625 EQ -0.45947265625 0.10809326171875 0.310791015625 0.32421875 -0.1351318359375 -0.0135116577148438 -0.054046630859375 0.189208984375 -0.0810546875
|
||||
|
||||
# Decimals between 0.5 and 1: 0.00048828125
|
||||
EXPECT bufOut IDX 24 TOLERANCE 0.00048828125 EQ 1.0 -1.0 0.0 -1.0 0.0 1.0 0.0 1.0 0.0
|
||||
|
||||
# Decimals between 256 and 512: 0.25
|
||||
EXPECT bufOut IDX 48 TOLERANCE 0.25 EQ -0.000839710235595703 2.47265625 -2.908203125 -0.125732421875 333.75 -200.125 -0.0154953002929688 -23.609375 14.15625
|
||||
|
||||
# Decimals between 64 and 128: 0.25
|
||||
EXPECT bufOut IDX 72 TOLERANCE 0.25 EQ -5.10546875 0.00291061401367188 0.07562255859375 -90.8125 0.607421875 1.3447265625 -0.96240234375 0.000651359558105469 -0.0227813720703125
|
||||
|
||||
# Decimals between 0.25 and 0.5: 0.000244140625
|
||||
EXPECT bufOut IDX 96 TOLERANCE 0.000244140625 EQ -0.04931640625 -0.0047760009765625 -0.385986328125 0.0273895263672 0.0103378295898438 -0.023681640625 0.036346435546875 -0.00150966644287109 -0.07208251953125
|
||||
|
||||
# Decimals between 0.5 and 1: 0.00048828125
|
||||
EXPECT bufOut IDX 120 TOLERANCE 0.00048828125 EQ -0.0073711 0.20852935 -0.04752852 -0.07230215 0.03351298 0.300247073 0.14224312 -0.03575948 0.560298204
|
||||
|
||||
# Decimals between 0.125 and 0.25: 0.000244140625
|
||||
EXPECT bufOut IDX 144 TOLERANCE 0.000244140625 EQ 0.0462192446 0.00804401748 0.028658431 -0.03377546 -0.05020383 -0.2381591796875 -0.0279215015 -0.0650251061 -0.0317565352
|
||||
|
||||
# Decimals between 4 and 8: 0.00390625
|
||||
EXPECT bufOut IDX 168 TOLERANCE 0.03125 EQ 0.117026463 -0.0347934514 0.0236943774 1.06405377 -0.274251282 0.0417966172 -4.3359375 1.32951331 -0.177455068
|
||||
|
||||
# Decimals between 0.125 and 0.25: 0.0001220703125
|
||||
EXPECT bufOut IDX 192 TOLERANCE 0.0001220703125 EQ 0.0185089111 -0.0114746094 -0.0583496094 -0.0667114258 0.151855469 -0.000134825706 0.189208984 0.0969848633 0.0447998047
|
||||
|
||||
# Decimals between 0.125 and 0.25: 0.0001220703125
|
||||
EXPECT bufOut IDX 216 TOLERANCE 0.0001220703125 EQ 0.19580078125 -0.00940704345703125 -0.08416748046875 0.034942626953125 -0.049468994140625 0.013031005859375 0.2415771484375 0.0169219970703125 0.046630859375
|
||||
@@ -0,0 +1,141 @@
|
||||
#!amber
|
||||
# Copyright 2021 Google LLC.
|
||||
# Copyright 2021 The Khronos Group Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Matrix 4x4 inverse precision test 16bit
|
||||
|
||||
DEVICE_EXTENSION VK_KHR_storage_buffer_storage_class
|
||||
DEVICE_EXTENSION VK_KHR_16bit_storage
|
||||
DEVICE_FEATURE Float16Int8Features.shaderFloat16
|
||||
DEVICE_FEATURE Storage16BitFeatures.storageBuffer16BitAccess
|
||||
|
||||
SHADER compute compute_shader GLSL
|
||||
#version 450
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable
|
||||
|
||||
const int NUMMATRICES = 10;
|
||||
|
||||
layout(set = 0, binding = 0) buffer block0
|
||||
{
|
||||
f16mat4 matIns[NUMMATRICES];
|
||||
};
|
||||
|
||||
layout(set = 0, binding = 1) buffer block1
|
||||
{
|
||||
f16mat4 invOutM[NUMMATRICES];
|
||||
};
|
||||
|
||||
void main()
|
||||
{
|
||||
for (int ndx = 0; ndx < NUMMATRICES; ndx++)
|
||||
{
|
||||
f16mat4 matIn = matIns[ndx];
|
||||
invOutM[ndx] = inverse(matIn);
|
||||
}
|
||||
}
|
||||
END
|
||||
|
||||
BUFFER bufIn DATA_TYPE mat4x4<float16> DATA
|
||||
-1.0 1.0 4.0 2.0
|
||||
2.0 -1.0 2.0 5.0
|
||||
1.0 2.0 3.0 4.0
|
||||
3.0 4.0 -1.0 2.0
|
||||
|
||||
1.0 0.0 0.0 0.0
|
||||
0.0 0.0 1.0 0.0
|
||||
0.0 1.0 0.0 0.0
|
||||
0.0 0.0 0.0 1.0
|
||||
|
||||
-0.08837890625 0.1569824219 0.001299858093 0.2451171875
|
||||
0.0380859375 0.7124023438 -0.003200531006 0.9111328125
|
||||
0.07598876953 0.09777832031 -1.060546875 1.904296875
|
||||
-0.4968261719 1.595703125 0.01309967041 -2.6953125
|
||||
|
||||
0.55322265625 -2.6953125 -12.75 -0.381103515625
|
||||
-0.473876953125 -0.014030456543 -4.9140625 -9.59375
|
||||
-1.083984375 0.62841796875 0.067443847656 -4.7734375
|
||||
-0.062286376953 -0.58935546875 -0.143798828125 0.4453125
|
||||
|
||||
1.4853515625 -2.931640625 1.3818359375 -0.9482421875
|
||||
2.982421875 -1.16796875 7.4765625 20.65625
|
||||
-0.56103515625 -7.1171875 -0.58251953125 1.0693359375
|
||||
-1.5810546875 -1.5830078125 -1.8076171875 1.96484375
|
||||
|
||||
-1.4775390625 1.4267578125 1.8896484375 2.62890625
|
||||
-1.8427734375 0.7919921875 -1.4306640625 -12.484375
|
||||
1.6396484375 0.90087890625 2.03515625 -3.99609375
|
||||
2.546875 -1.283203125 2.072265625 4.1953125
|
||||
|
||||
2.005859375 -2.0625 0.92626953125 3.67578125
|
||||
2.537109375 1.9208984375 -2.193359375 -1.509765625
|
||||
-1.798828125 2.2578125 -1.5361328125 1.109375
|
||||
-3.798828125 0.85205078125 1.3095703125 -1.6298828125
|
||||
|
||||
0.033935546875 0.0477600097656 -0.0791015625 0.40380859375
|
||||
0.0431823730469 0.0899047851563 0.033966064453 -0.00238609313965
|
||||
0.10986328125 -0.4140625 0.184326171875 -0.00595855712891
|
||||
-7.19921875 0.0353088378906 -0.020690917969 -0.02047729492188
|
||||
|
||||
-0.802734375 -0.587402344 -1.73046875 -2.11523438
|
||||
-3.34765625 -1.0625 0.406738281 -0.0211181641
|
||||
-4.3359375 -0.0816650391 -0.0436706543 -0.794921875
|
||||
-0.424560547 27.515625 2.55273438 -6.546875
|
||||
|
||||
0.014717102051 1.111328125 -0.36279296875 0.826171875
|
||||
0.47705078125 0.251220703125 -0.47119140625 2.8125
|
||||
-33.34375 -0.074096679688 0.215087890625 -3.392578125
|
||||
0.32373046875 -0.166748046875 0.0095901489258 0.428955078125
|
||||
END
|
||||
|
||||
BUFFER bufOut DATA_TYPE mat4x4<float16> SIZE 10 FILL 0.0
|
||||
|
||||
PIPELINE compute pipeline
|
||||
ATTACH compute_shader
|
||||
|
||||
BIND BUFFER bufIn AS storage DESCRIPTOR_SET 0 BINDING 0
|
||||
BIND BUFFER bufOut AS storage DESCRIPTOR_SET 0 BINDING 1
|
||||
END
|
||||
|
||||
RUN pipeline 1 1 1
|
||||
|
||||
# Decimals between 2 and 4: 0.001953125
|
||||
EXPECT bufOut IDX 0 TOLERANCE 0.001953125 EQ 2.15234375 1.153320312 -3.19140625 1.345703125 -0.3845214844 -0.3845214844 0.73046875 -0.1153564453 1.69140625 0.6923828125 -2.115234375 0.8076171875 -1.615234375 -0.615234375 2.26953125 -0.884277343
|
||||
|
||||
# Decimals between 0.5 and 1: 0.00048828125
|
||||
EXPECT bufOut IDX 32 TOLERANCE 0.00048828125 EQ 1.0 0.0 -0.0 0.0 -0.0 -0.0 1.0 -0.0 -0.0 1.0 -0.0 0.0 0.0 -0.0 0.0 1.0
|
||||
|
||||
# Decimals between 8 and 16: 0.015625
|
||||
EXPECT bufOut IDX 64 TOLERANCE 0.015625 EQ -9.75 2.373046875 -0.02033996582 -0.09899902344 -1.012695312 1.044921875 -0.001180648804 0.2600097656 1.372070312 0.5961914062 -0.947265625 -0.3430175781 1.205078125 0.1840820312 -0.001552581787 -0.2004394531
|
||||
|
||||
# Decimals between 1 and 2: 0.0009765625
|
||||
EXPECT bufOut IDX 96 TOLERANCE 0.00390625 EQ -0.25830078125 0.65869140625 -1.328125 -0.25 0.1091918945312 -0.223876953125 0.263427734375 -1.9091796875 -0.114807128906 0.081237792969 -0.117004394531 0.39819335938 0.071411132813 -0.17797851563 0.125 -0.188720703125
|
||||
|
||||
# Decimals between 2 and 4: 0.03125
|
||||
EXPECT bufOut IDX 128 TOLERANCE 0.03125 EQ 2.904296875 -0.028793334961 -1.787109375 2.67578125 0.0009551048279 0.002325057983 -0.154663085938 0.06018066406 -2.150390625 0.057708740234 1.4150390625 -2.4140625 0.359619140625 0.031829833984 -0.262451171875 0.490966796875
|
||||
|
||||
# Decimals between 0.5 and 1: 0.00048828125
|
||||
EXPECT bufOut IDX 160 TOLERANCE 0.001953125 EQ -0.3486328125 -0.2998046875 0.40576171875 -0.287841796875 -0.1229248046875 -0.4833984375 0.58935546875 -0.80029296875 0.343505859375 0.265380859375 -0.114685058594 0.46508789063 0.004291534424 -0.096862792969 -0.009376525879 -0.061584472656
|
||||
|
||||
# Decimals between 1 and 2: 0.00390625
|
||||
EXPECT bufOut IDX 192 TOLERANCE 0.00390625 EQ 0.363037109375 0.443603515625 -0.158935546875 0.2998046875 0.76513671875 0.86279296875 0.046173095703 0.9580078125 0.89794921875 0.78125 -0.26708984375 1.123046875 0.276611328125 0.045043945313 0.179931640625 0.09088134765625
|
||||
|
||||
# Decimals between 8 and 16: 0.0078125
|
||||
EXPECT bufOut IDX 224 TOLERANCE 0.0078125 EQ -0.007389068603516 -0.015106201172 -0.0160217285156 -0.1392822265625 0.0204010009766 6.03515625 -1.1005859375 0.01950073242 0.130981445313 13.6171875 2.984375 0.12780761719 2.5 1.955078125 0.7158203125 0.034423828125
|
||||
|
||||
# Decimals between 4 and 8: 0.00390625
|
||||
EXPECT bufOut IDX 256 TOLERANCE 0.015625 EQ 0.185058594 0.563476563 -0.702148438 0.023651123 -0.302001953 -1.12011719 0.921875 -0.0106582642 0.680664063 4.0078125 -3.23632813 0.159667969 -1.015625 -3.1796875 2.65625 -0.13659668
|
||||
|
||||
# Decimals between 16 and 32: 0.250
|
||||
EXPECT bufOut IDX 288 TOLERANCE 0.250 EQ -0.04522705078125 0.0146484375 -0.0323791503906 -0.264892578125 2.169921875 -1.52734375 0.0387878417969 6.15234375 5.609375 -5.765625 0.197387695313 28.546875 0.75244140625 -0.47607421875 0.035095214844 4.28125
|
||||
@@ -0,0 +1,127 @@
|
||||
#!amber
|
||||
# Copyright 2021 Google LLC.
|
||||
# Copyright 2021 The Khronos Group Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Matrix 3x3 inverse precision test 64bit
|
||||
|
||||
DEVICE_FEATURE shaderFloat64
|
||||
|
||||
SHADER compute compute_shader GLSL
|
||||
#version 450
|
||||
|
||||
const int NUMMATRICES = 10;
|
||||
|
||||
layout(set = 0, binding = 0) buffer block0
|
||||
{
|
||||
dmat3 matIns[NUMMATRICES];
|
||||
};
|
||||
|
||||
layout(set = 0, binding = 1) buffer block1
|
||||
{
|
||||
dmat3 invOutM[NUMMATRICES];
|
||||
};
|
||||
|
||||
void main()
|
||||
{
|
||||
for (int ndx = 0; ndx < NUMMATRICES ; ndx++)
|
||||
{
|
||||
dmat3 matIn = matIns[ndx];
|
||||
invOutM[ndx] = inverse(matIn);
|
||||
}
|
||||
}
|
||||
END
|
||||
|
||||
BUFFER bufIn DATA_TYPE mat3x3<double> DATA
|
||||
1.0 5.0 3.0
|
||||
2.0 4.0 7.0
|
||||
4.0 6.0 2.0
|
||||
|
||||
1.0 0.0 1.0
|
||||
0.0 0.0 1.0
|
||||
1.0 1.0 1.0
|
||||
|
||||
-0.00400000019 -2.9000001 -41.0
|
||||
-0.419999987 0.00490000006 -0.0170000009
|
||||
-0.699999988 0.00500000035 -0.00260000001
|
||||
|
||||
-0.140000000596046 0.00109999999403954 -0.399999976158142
|
||||
-32.0 1.80000007152557 -0.046000003814697
|
||||
5.0 0.00500000035390258 -27.0
|
||||
|
||||
-1.39999997615814 -0.449999988079071 -0.0
|
||||
260.0 0.399999976158142 90.0
|
||||
-3.40000009536743 -0.419999986886978 -40.0
|
||||
|
||||
6.0 4.80000019073486 0.149999991059303
|
||||
-100.0 3.60000014305115 3.10000014305115
|
||||
-50.0 0.0399999991059303 80.0
|
||||
|
||||
-16132.9695 59037.9967 -24574.7252
|
||||
35850.322 46793.3449 -328946.914
|
||||
-22869.431 26404.5123 21301.7202
|
||||
|
||||
-251.256059 -18.9422633 -28.2466605
|
||||
-27.4345721 77.0803571 27.8791292
|
||||
-41.9989703 31.9438685 -44.1174942
|
||||
|
||||
-1690.54461 -17438.4039 -1783.23503
|
||||
-2073.71794 23603.1964 -51459.9156
|
||||
-1908.4221 3618.75624 3788.92769
|
||||
|
||||
-16.8431843 84.5075181 -18.2598076
|
||||
-14.9214002 -84.4076786 -15.1675014
|
||||
21.3443665 -146.383183 -48.9589896
|
||||
END
|
||||
|
||||
BUFFER bufOut DATA_TYPE mat3x3<double> SIZE 10 FILL 0.0
|
||||
|
||||
PIPELINE compute pipeline
|
||||
ATTACH compute_shader
|
||||
|
||||
BIND BUFFER bufIn AS storage DESCRIPTOR_SET 0 BINDING 0
|
||||
BIND BUFFER bufOut AS storage DESCRIPTOR_SET 0 BINDING 1
|
||||
END
|
||||
|
||||
RUN pipeline 1 1 1
|
||||
|
||||
# Decimals between 0.25 and 0.5: 1.110223025e-16
|
||||
EXPECT bufOut IDX 0 TOLERANCE 0.00000001490116119384765625 EQ -0.459459459459459 0.108108108108108 0.310810810810811 0.324324324324324 -0.135135135135135 -0.0135135135135135 -0.0540540540540541 0.189189189189189 -0.0810810810810811
|
||||
|
||||
# Decimals between 0.5 and 1.0: 2.220446049e-16
|
||||
EXPECT bufOut IDX 96 TOLERANCE 0.0000000000000002220446 EQ 1.000000000000000 -1.000000000000000 0.000000000000000 -1.000000000000000 0.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 0.000000000000000
|
||||
|
||||
# Decimals between 256 and 512: 5.684341886e-14
|
||||
EXPECT bufOut IDX 192 TOLERANCE 0.00000762939453125 EQ -0.000841470545102439 2.47503648792707 -2.9135885169066 -0.125859573005947 334.212455786544 -200.526751505131 -0.0154878990198647 -23.6396598865523 14.1838842383457
|
||||
|
||||
# Decimals between 64 and 128: 1.421085472e-14
|
||||
EXPECT bufOut IDX 288 TOLERANCE 0.000003814697265625 EQ -5.10645825627567 0.00291048470275283 0.0756462703131625 -90.806072612235 0.607314129714973 1.34424038620833 -0.962456358391705 0.000651444236195151 -0.0227795350380524
|
||||
|
||||
# Decimals between 2 and 4: 4.440892099e-16
|
||||
EXPECT bufOut IDX 384 TOLERANCE 0.00000095367431640625 EQ -0.0047673 0.0039363 0.00885668 -2.20739 -0.0122463 -0.0275541 0.0235828 -0.000206 -0.0254635
|
||||
|
||||
# Decimals between 0.125 and 0.25: 5.551115123e-17
|
||||
EXPECT bufOut IDX 480 TOLERANCE 0.0000000037252902984619140625 EQ 0.00730470678585512 -0.00974365269512521 0.0003638702045530 0.199062882238475 0.0123700643838874 -0.000852582899157852 0.00446591030226492 -0.00609596796650696 0.0127278451692857
|
||||
|
||||
# Decimals between 6.103515625e-05 and 0.0001220703125: 2.710505431e-20
|
||||
EXPECT bufOut IDX 576 TOLERANCE 0.0000000000582076609134674072265625 EQ 0.0000500957 -9.86394e-6 -0.0000945288 0.000034971 -4.68581e-6 -0.0000320154 0.0000104344 -4.78159e-6 -0.0000148565
|
||||
|
||||
# Decimals between 0.015625 and 0.03125: 2.328306437e-10
|
||||
EXPECT bufOut IDX 672 TOLERANCE 0.00000000186264514923095703125 EQ -0.0040613 -0.0016448958 0.0015608298 -0.00225368627 0.00936823816 0.00736300733 0.00223446417 0.0083491074 -0.0188213388
|
||||
|
||||
# Decimals between 0.000244140625 and 0.00048828125: 1.084202172e-19
|
||||
EXPECT bufOut IDX 768 TOLERANCE 0.0000000000072759576141834259033203125 EQ -0.000115696606951049 -2.50236218021531e-05 -0.000394314125406909 -4.45173829379519e-05 4.11683327090298e-06 3.49615898742737e-05 -1.57565435895695e-05 -1.65359315572978e-05 3.19258500321063e-05
|
||||
|
||||
# Decimals between 0.03125 and 0.0625: 1.387778781e-1
|
||||
EXPECT bufOut IDX 864 TOLERANCE 0.000000000931322574615478515625 EQ -0.00985268340612319 -0.0350896203754492 0.0145454384440486 0.00543206941934669 -0.00625692866381362 -8.75542619249871e-05 -0.0205368392142981 0.00340986236312195 -0.0138221880175656
|
||||
@@ -0,0 +1,137 @@
|
||||
#!amber
|
||||
# Copyright 2021 Google LLC.
|
||||
# Copyright 2021 The Khronos Group Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Matrix 4x4 inverse precision test 64bit
|
||||
|
||||
DEVICE_FEATURE shaderFloat64
|
||||
|
||||
SHADER compute compute_shader GLSL
|
||||
#version 450
|
||||
|
||||
const int NUMMATRICES = 10;
|
||||
|
||||
layout(set = 0, binding = 0) buffer block0
|
||||
{
|
||||
dmat4 matIns[NUMMATRICES];
|
||||
};
|
||||
|
||||
layout(set = 0, binding = 1) buffer block1
|
||||
{
|
||||
dmat4 invOutM[NUMMATRICES];
|
||||
};
|
||||
|
||||
void main()
|
||||
{
|
||||
for (int ndx = 0; ndx < NUMMATRICES; ndx++)
|
||||
{
|
||||
dmat4 matIn = matIns[ndx];
|
||||
invOutM[ndx] = inverse(matIn);
|
||||
}
|
||||
}
|
||||
END
|
||||
|
||||
BUFFER bufIn DATA_TYPE mat4x4<double> DATA
|
||||
-1.0 1.0 4.0 2.0
|
||||
2.0 -1.0 2.0 5.0
|
||||
1.0 2.0 3.0 4.0
|
||||
3.0 4.0 -1.0 2.0
|
||||
|
||||
1.0 0.0 0.0 0.0
|
||||
0.0 0.0 1.0 0.0
|
||||
0.0 1.0 0.0 0.0
|
||||
0.0 0.0 0.0 1.0
|
||||
|
||||
-0.0883788988 0.156982005 0.00129985996 0.245116994
|
||||
0.0380859002 0.712401986 -0.00320053007 0.911132991
|
||||
0.0759887993 0.097778298 -1.06054997 1.90429997
|
||||
-0.496825993 1.59570003 0.0130997002 -2.69531012
|
||||
|
||||
42.0 0.300049007 -0.0480041988 -270.0
|
||||
15.0 4.80077982 -4.89843988 -41.0
|
||||
-0.180053994 -0.700195014 -0.0229950007 0.370117009
|
||||
-0.000500202004 -0.00279998989 -0.799804986 -0.290039003
|
||||
|
||||
500.0 -3.5999999 -15.0 37.0
|
||||
2.9000001 -0.469999999 3.20000005 4.69999981
|
||||
0.100000001 0.0439999998 0.00499999989 -0.0280000009
|
||||
-48.0 19.0 -1.10000002 0.0379999988
|
||||
|
||||
-17.0 -1100.0 -100.0 -0.0180054009
|
||||
6.0 43.0 -3.09961009 20.0
|
||||
-2.30078006 0.00270081009 -0.000500202004 -1.90039003
|
||||
0.360107005 0.310059011 -0.00479889009 0.026992799
|
||||
|
||||
19.623375 16.39533 23.824263 16.653233
|
||||
-28.074343 -23.819447 24.132942 52.970188
|
||||
-19.421518 -22.75626 -17.654331 -18.975327
|
||||
16.584002 19.627544 18.86456 20.070559
|
||||
|
||||
-0.00622151 -0.006746047 -0.002207905 -0.02056567
|
||||
-0.030076593 -0.0267689 0.01095024 -0.09132
|
||||
-0.01297636 0.04533594 -0.01379582 -0.01475323
|
||||
-0.004602736 -0.01200175 0.01090538 0.02836178
|
||||
|
||||
-0.0119948 -0.03789127 -0.00611719 0.0448515
|
||||
0.04644695 -0.02320256 -0.03514489 -1.3571429
|
||||
-0.03181969 0.008329804 0.13061533 0.287190083
|
||||
-0.0098646 -0.587016575 0.040482634 -0.66131907
|
||||
|
||||
-49.9153838 -21.0593973 -46.518005 59.6618775
|
||||
-32.0837048 -15.4093261 22.1520919 32.4487472
|
||||
-18.0335364 19.6343962 40.2818031 -16.6847517
|
||||
30.3650256 430.773516 335.057641 84.5618449
|
||||
END
|
||||
|
||||
BUFFER bufOut DATA_TYPE mat4x4<double> SIZE 10 FILL 0.0
|
||||
|
||||
PIPELINE compute pipeline
|
||||
ATTACH compute_shader
|
||||
|
||||
BIND BUFFER bufIn AS storage DESCRIPTOR_SET 0 BINDING 0
|
||||
BIND BUFFER bufOut AS storage DESCRIPTOR_SET 0 BINDING 1
|
||||
END
|
||||
|
||||
RUN pipeline 1 1 1
|
||||
|
||||
# Decimals between 2 and 4: 4.440892099e-16
|
||||
EXPECT bufOut IDX 0 TOLERANCE 0.00000000000000710542735760100186 EQ 2.15384615384615 1.15384615384615 -3.19230769230769 1.34615384615385 -0.384615384615385 -0.384615384615385 0.730769230769231 -0.115384615384615 1.69230769230769 0.692307692307692 -2.11538461538462 0.807692307692308 -1.61538461538462 -0.615384615384615 2.26923076923077 -0.884615384615385
|
||||
|
||||
# Decimals between 0.5 and 1.0: 0.0000000000000002220446
|
||||
EXPECT bufOut IDX 128 TOLERANCE 0.0000000000000002220446 EQ 1.0 0.0 -0.0 0.0 -0.0 -0.0 1.0 -0.0 -0.0 1.0 -0.0 0.0 0.0 -0.0 0.0 1.0
|
||||
|
||||
# Decimals between 8 and 16: 1.776356839e-15
|
||||
EXPECT bufOut IDX 256 TOLERANCE 0.000000007450580596923828125 EQ -9.75322042297396 2.37362669506961 -0.0203394530868922 -0.0989581486481695 -1.0131389710321 1.04449191609472 -0.0011809602441171 0.260112762891842 1.37084022691543 0.596282636661557 -0.947263307771321 -0.34302712111187 1.20466476455649 0.183736729275728 -0.0015538674496792 -0.200446926096048
|
||||
|
||||
# Decimals between 1 and 2: 2.220446049e-16
|
||||
EXPECT bufOut IDX 384 TOLERANCE 0.00000000000181898940354585647583 EQ -0.0168082262776781 0.123847447583787 0.845064654490972 -0.781796418016029 0.000907236655202418 -0.0214464697685848 -1.57553538794179 0.176593208909395 0.00229837480280809 -0.0069804435848272 -0.0420508721648504 -1.20648171174332 -0.00631771711054083 0.0192425662857938 0.129711097327777 -0.121202025006464
|
||||
|
||||
# Decimals between 16 and 32: 3.5527136788005e-15
|
||||
EXPECT bufOut IDX 512 TOLERANCE 0.0000000004656612873077392578125 EQ 0.00122987857225808 0.00145957456303611 1.86470139545162 -0.00404912096004867 0.00249933594563608 0.0158962240900459 6.02465865825882 0.0395465186691528 -0.0102730364056489 0.213239063972644 22.1535058435922 -0.0479744643638987 0.00648548045816656 0.068270948196751 -15.6313334993716 0.0391165129190096
|
||||
|
||||
# Decimals between 4 and 8: 8.88178419700125e-16
|
||||
EXPECT bufOut IDX 640 TOLERANCE 0.00000000000011368683772161602974 EQ 0.000238085731463758 -0.0114304516192027 -0.0857740260025005 2.4306191945853 -0.000347720953516649 0.0103370417145577 0.11670327707534 0.55698740526991 -0.00621549239111256 -0.111766781742911 -1.26907850541629 -6.53953732454563 -0.000287105815868867 0.013882823578604 -0.421862264930753 -2.94020947346056
|
||||
|
||||
# Decimals between 1 and 2: 2.22044604925031e-16
|
||||
EXPECT bufOut IDX 768 TOLERANCE 0.00000011920928955078125 EQ 0.22197487066158 0.0627796669270416 -1.12460329782432 -1.41310290500685 -0.199278624919562 -0.0578498036488017 0.7983216215877 1.07278337806842 -0.0342149904508372 -0.0442669501414111 0.796169929879291 0.897942286097494 0.0436245457899835 0.0463060337079045 -0.599787221967382 -0.67564075745427
|
||||
|
||||
# Decimals between 128 and 256: 2.8421709430404e-14
|
||||
EXPECT bufOut IDX 896 TOLERANCE 0.0000152587890625 EQ -97.8582306683738 7.50313409032798 -26.117002447926 -60.3856322136104 -82.695723129405 12.7396454583607 14.2170727020725 -11.5493732825903 -212.810493696114 47.1129797451719 -5.26643151068638 -5.35685515626948 30.9525814487582 -11.5067517547609 3.8027416400152 22.6313978536399
|
||||
|
||||
# Decimals between 64 and 128: 1.4210854715202e-14
|
||||
EXPECT bufOut IDX 1024 TOLERANCE 0.000030517578125 EQ -97.2800533563974 -8.23035776027672 -8.77895032397699 6.48006076837222 3.74299952199471 1.33217195402097 1.1478907969006 -1.98150298411366 -17.4712271583937 0.21160530699481 6.51915413939454 1.21189159726794 -2.9408727618766 -1.04677382190551 -0.488897983374369 0.224267616554392
|
||||
|
||||
# Decimals between 0.015625 and 0.03125: 6.93889390390723e-18
|
||||
EXPECT bufOut IDX 1152 TOLERANCE 0.0000000004656612873077392578125 EQ -0.0144786923213069 0.00890167299753732 -0.0295976160434387 0.000959640183872229 0.0106194358175128 -0.0196777493008321 0.00855626441807592 0.00174667416324874 -0.0120823932867626 0.0203594452563112 -0.00236542194194121 0.000245421422141454 -0.00102442951500001 0.0163757783054787 -0.0235866074689415 0.00161076438254641
|
||||
@@ -0,0 +1,126 @@
|
||||
#!amber
|
||||
# Copyright 2021 Google LLC.
|
||||
# Copyright 2021 The Khronos Group Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Matrix 3x3 inverse precision test float32_t
|
||||
|
||||
SHADER compute compute_shader GLSL
|
||||
#version 450
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_float32 : enable
|
||||
|
||||
const int NUMMATRICES = 10;
|
||||
|
||||
layout(set = 0, binding = 0) buffer block0
|
||||
{
|
||||
f32mat3 matIns[NUMMATRICES];
|
||||
};
|
||||
|
||||
layout(set = 0, binding = 1) buffer block1
|
||||
{
|
||||
f32mat3 invOutM[NUMMATRICES];
|
||||
};
|
||||
|
||||
void main()
|
||||
{
|
||||
for (int ndx = 0; ndx < NUMMATRICES; ndx++)
|
||||
{
|
||||
f32mat3 matIn = matIns[ndx];
|
||||
invOutM[ndx] = inverse(matIn);
|
||||
}
|
||||
}
|
||||
END
|
||||
|
||||
BUFFER bufIn DATA_TYPE mat3x3<float> DATA
|
||||
1.0 5.0 3.0
|
||||
2.0 4.0 7.0
|
||||
4.0 6.0 2.0
|
||||
|
||||
1.0 0.0 1.0
|
||||
0.0 0.0 1.0
|
||||
1.0 1.0 1.0
|
||||
|
||||
-0.00400000019 -2.9000001 -41.0
|
||||
-0.419999987 0.00490000006 -0.0170000009
|
||||
-0.699999988 0.00500000035 -0.00260000001
|
||||
|
||||
-0.140000000596046 0.00109999999403954 -0.399999976158142
|
||||
-32.0 1.80000007152557 -0.046000003814697
|
||||
5.0 0.00500000035390258 -27.0
|
||||
|
||||
-1.39999997615814 -0.449999988079071 -0.0
|
||||
260.0 0.399999976158142 90.0
|
||||
-3.40000009536743 -0.419999986886978 -40.0
|
||||
|
||||
6.0 4.80000019073486 0.149999991059303
|
||||
-100.0 3.60000014305115 3.10000014305115
|
||||
-50.0 0.0399999991059303 80.0
|
||||
|
||||
-16132.9695 59037.9967 -24574.7252
|
||||
35850.322 46793.3449 -328946.914
|
||||
-22869.431 26404.5123 21301.7202
|
||||
|
||||
-251.256059 -18.9422633 -28.2466605
|
||||
-27.4345721 77.0803571 27.8791292
|
||||
-41.9989703 31.9438685 -44.1174942
|
||||
|
||||
-1690.54461 -17438.4039 -1783.23503
|
||||
-2073.71794 23603.1964 -51459.9156
|
||||
-1908.4221 3618.75624 3788.92769
|
||||
|
||||
-16.8431843 84.5075181 -18.2598076
|
||||
-14.9214002 -84.4076786 -15.1675014
|
||||
21.3443665 -146.383183 -48.9589896
|
||||
END
|
||||
|
||||
BUFFER bufOut DATA_TYPE mat3x3<float> SIZE 10 FILL 0.0
|
||||
|
||||
PIPELINE compute pipeline
|
||||
ATTACH compute_shader
|
||||
|
||||
BIND BUFFER bufIn AS storage DESCRIPTOR_SET 0 BINDING 0
|
||||
BIND BUFFER bufOut AS storage DESCRIPTOR_SET 0 BINDING 1
|
||||
END
|
||||
|
||||
RUN pipeline 1 1 1
|
||||
|
||||
# Decimals between 0.25 and 0.5: 5.960464478e-08
|
||||
EXPECT bufOut IDX 0 TOLERANCE 0.000000059604644775390625 EQ -0.459459483623505 0.10810811072588 0.310810804367065 0.32432433962822 -0.135135143995285 -0.013513513840735 -0.0540540553629398 0.189189195632935 -0.0810810849070549
|
||||
|
||||
# Decimals between 0.5 and 1: 1.192092896e-07
|
||||
EXPECT bufOut IDX 48 TOLERANCE 0.00000011920929 EQ 1.0000000 -1.0000000 0.0000000 -1.0000000 0.0000000 1.000000 0.0000000 1.0000000 0.0000000
|
||||
|
||||
# Decimals between 256 and 512: 0.000030517578
|
||||
EXPECT bufOut IDX 96 TOLERANCE 0.0001220703125 EQ -0.000841470318846405 2.47503590583801 -2.91358804702759 -0.125859543681145 334.21240234375 -200.526702880859 -0.0154878990724683 -23.6396560668945 14.1838817596436
|
||||
|
||||
# Decimals between 64 and 128: 0.0000152587890625
|
||||
EXPECT bufOut IDX 144 TOLERANCE 0.0000152587890625 EQ -5.10645771026611 0.002910484559834 0.0756462663412094 -90.8060684204102 0.607314109802246 1.34424042701721 -0.962456285953522 0.000651444192044437 -0.0227795336395502
|
||||
|
||||
# Decimals between 2 and 4: 2.384185791e-07
|
||||
EXPECT bufOut IDX 192 TOLERANCE 0.00000095367431640625 EQ -0.0047673 0.0039363 0.00885668 -2.20739 -0.0122463 -0.0275541 0.0235828 -0.000206 -0.0254635
|
||||
|
||||
# Decimals between 0.125 and 0.25: 2.980232239e-08
|
||||
EXPECT bufOut IDX 240 TOLERANCE 0.000000029802322 EQ 0.00730470707640052 -0.0097436523064971 0.000363870232831687 0.199062883853912 0.0123700648546219 -0.000852582859806716 0.00446591060608625 -0.00609596818685532 0.0127278454601765
|
||||
|
||||
# Decimals between 6.103515625e-05 and 0.0001220703125: 0.000000000116415322
|
||||
EXPECT bufOut IDX 288 TOLERANCE 0.000000000116415322 EQ 0.0000500957 -9.86394e-6 -0.0000945288 0.000034971 -4.68581e-6 -0.0000320154 0.0000104344 -4.78159e-6 -0.0000148565
|
||||
|
||||
# Decimals between 0.015625 and 0.03125: 3.725290298e-09
|
||||
EXPECT bufOut IDX 336 TOLERANCE 0.0000000037252903 EQ -0.0040613 -0.0016448958 0.0015608298 -0.00225368627 0.00936823816 0.00736300733 0.00223446417 0.0083491074 -0.0188213388
|
||||
|
||||
# Decimals between 0.000244140625 and 0.00048828125: 5.820766091e-11
|
||||
EXPECT bufOut IDX 384 TOLERANCE 0.000000000058207661 EQ -0.000115696606951049 -2.50236218021531e-05 -0.000394314125406909 -4.45173829379519e-05 4.11683327090298e-06 3.49615898742737e-05 -1.57565435895695e-05 -1.65359315572978e-05 3.19258500321063e-05
|
||||
|
||||
# Decimals between 0.03125 and 0.0625: 7.450580597e-09
|
||||
EXPECT bufOut IDX 432 TOLERANCE 0.0000000074505806 EQ -0.00985268340612319 -0.0350896203754492 0.0145454384440486 0.00543206941934669 -0.00625692866381362 -8.75542619249871e-05 -0.0205368392142981 0.00340986236312195 -0.0138221880175656
|
||||
@@ -0,0 +1,136 @@
|
||||
#!amber
|
||||
# Copyright 2021 Google LLC.
|
||||
# Copyright 2021 The Khronos Group Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Matrix 4x4 inverse precision test float32_t
|
||||
|
||||
SHADER compute compute_shader GLSL
|
||||
#version 450
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_float32 : enable
|
||||
|
||||
const int NUMMATRICES = 10;
|
||||
|
||||
layout(set = 0, binding = 0) buffer block0
|
||||
{
|
||||
f32mat4 matIns[NUMMATRICES];
|
||||
};
|
||||
|
||||
layout(set = 0, binding = 1) buffer block1
|
||||
{
|
||||
f32mat4 invOutM[NUMMATRICES];
|
||||
};
|
||||
|
||||
void main()
|
||||
{
|
||||
for (int ndx = 0; ndx < NUMMATRICES; ndx++)
|
||||
{
|
||||
f32mat4 matIn = matIns[ndx];
|
||||
invOutM[ndx] = inverse(matIn);
|
||||
}
|
||||
}
|
||||
END
|
||||
|
||||
BUFFER bufIn DATA_TYPE mat4x4<float> DATA
|
||||
-1.0 1.0 4.0 2.0
|
||||
2.0 -1.0 2.0 5.0
|
||||
1.0 2.0 3.0 4.0
|
||||
3.0 4.0 -1.0 2.0
|
||||
|
||||
1.0 0.0 0.0 0.0
|
||||
0.0 0.0 1.0 0.0
|
||||
0.0 1.0 0.0 0.0
|
||||
0.0 0.0 0.0 1.0
|
||||
|
||||
-0.0883788988 0.156982005 0.00129985996 0.245116994
|
||||
0.0380859002 0.712401986 -0.00320053007 0.911132991
|
||||
0.0759887993 0.097778298 -1.06054997 1.90429997
|
||||
-0.496825993 1.59570003 0.0130997002 -2.69531012
|
||||
|
||||
42.0 0.300049007 -0.0480041988 -270.0
|
||||
15.0 4.80077982 -4.89843988 -41.0
|
||||
-0.180053994 -0.700195014 -0.0229950007 0.370117009
|
||||
-0.000500202004 -0.00279998989 -0.799804986 -0.290039003
|
||||
|
||||
500.0 -3.5999999 -15.0 37.0
|
||||
2.9000001 -0.469999999 3.20000005 4.69999981
|
||||
0.100000001 0.0439999998 0.00499999989 -0.0280000009
|
||||
-48.0 19.0 -1.10000002 0.0379999988
|
||||
|
||||
-17.0 -1100.0 -100.0 -0.0180054009
|
||||
6.0 43.0 -3.09961009 20.0
|
||||
-2.30078006 0.00270081009 -0.000500202004 -1.90039003
|
||||
0.360107005 0.310059011 -0.00479889009 0.026992799
|
||||
|
||||
19.62337494 16.39533043 23.82426262 16.65323257
|
||||
-28.07434273 -23.81944656 24.1329422 52.97018814
|
||||
-19.42151833 -22.75625992 -17.65433121 -18.97532654
|
||||
16.58400154 19.6275444 18.86455917 20.07055855
|
||||
|
||||
-0.00622151 -0.006746047 -0.002207905 -0.02056567
|
||||
-0.030076593 -0.0267689 0.01095024 -0.09132
|
||||
-0.01297636 0.04533594 -0.01379582 -0.01475323
|
||||
-0.004602736 -0.01200175 0.01090538 0.02836178
|
||||
|
||||
-0.0119948 -0.03789127 -0.00611719 0.0448515
|
||||
0.04644695 -0.02320256 -0.03514489 -1.3571429
|
||||
-0.03181969 0.008329804 0.13061533 0.287190083
|
||||
-0.0098646 -0.587016575 0.040482634 -0.66131907
|
||||
|
||||
-49.9153838 -21.0593973 -46.518005 59.6618775
|
||||
-32.0837048 -15.4093261 22.1520919 32.4487472
|
||||
-18.0335364 19.6343962 40.2818031 -16.6847517
|
||||
30.3650256 430.773516 335.057641 84.5618449
|
||||
END
|
||||
|
||||
BUFFER bufOut DATA_TYPE mat4x4<float> SIZE 10 FILL 0.0
|
||||
|
||||
PIPELINE compute pipeline
|
||||
ATTACH compute_shader
|
||||
|
||||
BIND BUFFER bufIn AS storage DESCRIPTOR_SET 0 BINDING 0
|
||||
BIND BUFFER bufOut AS storage DESCRIPTOR_SET 0 BINDING 1
|
||||
END
|
||||
|
||||
RUN pipeline 1 1 1
|
||||
|
||||
# Decimals between 2.0 and 4.0: 2.384185791e-07
|
||||
EXPECT bufOut IDX 0 TOLERANCE 0.0000002384185791015625 EQ 2.15384626 1.15384614 -3.19230771 1.34615386 -0.384615391 -0.384615391 0.730769277 -0.115384623 1.69230771 0.692307711 -2.11538458 0.807692349 -1.6153847 -0.615384638 2.26923084 -0.884615421
|
||||
|
||||
# Decimal between 0.5 and 1.0: 1.192092896e-07
|
||||
EXPECT bufOut IDX 64 TOLERANCE 0.00000011920928955078125 EQ 1.0 0.0 -0.0 0.0 -0.0 -0.0 1.0 -0.0 -0.0 1.0 -0.0 0.0 0.0 -0.0 0.0 1.0
|
||||
|
||||
# Decimals between 8.0 and 16.0: 9.536743164e-07
|
||||
EXPECT bufOut IDX 128 TOLERANCE 0.00000095367432 EQ -9.75322056 2.37362671 -0.0203394517 -0.0989581347 -1.01313901 1.04449189 -0.00118096021 0.260112733 1.37084019 0.596282601 -0.947263181 -0.343027145 1.20466483 0.183736786 -0.00155386783 -0.200446919
|
||||
|
||||
# Decimals between 1.0 and 2.0: 1.192092896e-07
|
||||
EXPECT bufOut IDX 192 TOLERANCE 0.0000019073486328125 EQ -0.0168082286 0.12384747 0.845064819 -0.781796575 0.000907236419 -0.0214464739 -1.57553554 0.176593229 0.00229837489 -0.00698044337 -0.0420508794 -1.2064817 -0.00631771749 0.0192425679 0.129711106 -0.121202044
|
||||
|
||||
# Decimals between 16.0 and 32.0: 0.00000762939453125
|
||||
EXPECT bufOut IDX 256 TOLERANCE 0.00000762939453125 EQ 0.00122987852 0.00145957421 1.86470127 -0.00404912047 0.00249933568 0.0158962216 6.0246582 0.0395465195 -0.0102730356 0.213239029 22.1535034 -0.0479744636 0.00648548035 0.0682709441 -15.6313314 0.039116513
|
||||
|
||||
# Decimals between 8.0 and 16.0: 4.768371582e-07
|
||||
EXPECT bufOut IDX 320 TOLERANCE 0.0000019073486328125 EQ 0.000238085719 -0.0114304526 -0.0857740417 2.43061924 -0.000347720925 0.0103370408 0.116703264 0.556987405 -0.00621549273 -0.111766778 -1.26907849 -6.53953838 -0.000287105795 0.0138828233 -0.421862274 -2.94020963
|
||||
|
||||
# Decimals between 1.0 and 2.0: 1.192092896e-07
|
||||
EXPECT bufOut IDX 384 TOLERANCE 0.0000152587890625 EQ 0.221975565 0.06277982891 -1.124607801 -1.41310823 -0.1992791891 -0.05785009637 0.7983245254 1.072786927 -0.03421511874 -0.04426704347 0.7961731553 0.8979454637 0.04362447187 0.04630630091 -0.5997895598 -0.6756432652
|
||||
|
||||
# Decimal between 128.0 and 256.0: 1.525878906e-05
|
||||
EXPECT bufOut IDX 448 TOLERANCE 0.000030517578125 EQ -97.8582306683738 7.50313409032798 -26.11700244793 -60.3856322136104 -82.695723129405 12.73964545836 14.21707270207 -11.54937328259 -212.810493696114 47.112979745172 -5.26643151068 -5.356855156269 30.9525814487582 -11.506751754761 3.802741640015 22.63139785364
|
||||
|
||||
# Decimal between 64.0 and 128.0: 0.000030517578125
|
||||
EXPECT bufOut IDX 512 TOLERANCE 0.000030517578125 EQ -97.2800533563974 -8.23035776027672 -8.778950323977 6.4800607683722 3.742999521995 1.33217195402 1.1478907969 -1.981502984114 -17.471227158394 0.211605306995 6.51915413939 1.211891597268 -2.9408727618766 -1.046773821906 -0.488897983374 0.22426761655
|
||||
|
||||
# Decimal between 0.015625 and 0.03125: 3.814697266e-06
|
||||
EXPECT bufOut IDX 576 TOLERANCE 0.00000762939453125 EQ -0.0144786923213 0.00890167299754 -0.029597616043 0.0009596401839 0.010619435818 -0.0196777493 0.00855626442 0.001746674163 -0.012082393287 0.020359445256 -0.00236542194 0.000245421422 -0.001024429515 0.016375778305 -0.023586607469 0.00161076438
|
||||
Reference in New Issue
Block a user