Testing: Add new tests, and new ways of testing, for floating-point.

- Adds a pragma to see binary output of double values (not portable)
- Print decimals that show more values, but in a portable way
  (lots of portability issues)
- Expand the tests to test more double values

Note: it is quite difficult to have 100% portable tests for floating point.
The current situation works by not printing full precision, and working around
several portability issues.
This commit is contained in:
John Kessenich
2018-05-24 18:11:47 -06:00
parent 8e4b496d4a
commit 1ea1b13f38
11 changed files with 1161 additions and 78 deletions

View File

@@ -1,33 +1,38 @@
cppPassMacroName.frag
Shader version: 100
0:? Sequence
0:5 Function Definition: main( ( global void)
0:5 Function Parameters:
0:7 Sequence
0:7 Sequence
0:7 move second child to first child ( temp mediump int)
0:7 'f1' ( temp mediump int)
0:7 Constant:
0:7 4 (const int)
0:8 Sequence
0:8 move second child to first child ( temp mediump int)
0:8 'f2' ( temp mediump int)
0:8 'f1' ( temp mediump int)
0:9 Sequence
0:9 move second child to first child ( temp mediump int)
0:9 'f3' ( temp mediump int)
0:9 Constant:
0:9 9 (const int)
0:10 Sequence
0:10 move second child to first child ( temp mediump int)
0:10 'f4' ( temp mediump int)
0:10 Constant:
0:10 1 (const int)
0:9 Function Definition: main( ( global void)
0:9 Function Parameters:
0:11 Sequence
0:11 Sequence
0:11 move second child to first child ( temp mediump int)
0:11 'f5' ( temp mediump int)
0:11 'f1' ( temp mediump int)
0:11 Constant:
0:11 5 (const int)
0:11 4 (const int)
0:12 Sequence
0:12 move second child to first child ( temp mediump int)
0:12 'f2' ( temp mediump int)
0:12 'f1' ( temp mediump int)
0:13 Sequence
0:13 move second child to first child ( temp mediump int)
0:13 'f3' ( temp mediump int)
0:13 Constant:
0:13 9 (const int)
0:14 Sequence
0:14 move second child to first child ( temp mediump int)
0:14 'f4' ( temp mediump int)
0:14 Constant:
0:14 1 (const int)
0:15 Sequence
0:15 move second child to first child ( temp mediump int)
0:15 'f5' ( temp mediump int)
0:15 Constant:
0:15 5 (const int)
0:17 Sequence
0:17 move second child to first child ( temp highp float)
0:17 'fl_f5' ( temp highp float)
0:17 Constant:
0:17 0.460000
0:? Linker Objects
@@ -36,32 +41,37 @@ Linked fragment stage:
Shader version: 100
0:? Sequence
0:5 Function Definition: main( ( global void)
0:5 Function Parameters:
0:7 Sequence
0:7 Sequence
0:7 move second child to first child ( temp mediump int)
0:7 'f1' ( temp mediump int)
0:7 Constant:
0:7 4 (const int)
0:8 Sequence
0:8 move second child to first child ( temp mediump int)
0:8 'f2' ( temp mediump int)
0:8 'f1' ( temp mediump int)
0:9 Sequence
0:9 move second child to first child ( temp mediump int)
0:9 'f3' ( temp mediump int)
0:9 Constant:
0:9 9 (const int)
0:10 Sequence
0:10 move second child to first child ( temp mediump int)
0:10 'f4' ( temp mediump int)
0:10 Constant:
0:10 1 (const int)
0:9 Function Definition: main( ( global void)
0:9 Function Parameters:
0:11 Sequence
0:11 Sequence
0:11 move second child to first child ( temp mediump int)
0:11 'f5' ( temp mediump int)
0:11 'f1' ( temp mediump int)
0:11 Constant:
0:11 5 (const int)
0:11 4 (const int)
0:12 Sequence
0:12 move second child to first child ( temp mediump int)
0:12 'f2' ( temp mediump int)
0:12 'f1' ( temp mediump int)
0:13 Sequence
0:13 move second child to first child ( temp mediump int)
0:13 'f3' ( temp mediump int)
0:13 Constant:
0:13 9 (const int)
0:14 Sequence
0:14 move second child to first child ( temp mediump int)
0:14 'f4' ( temp mediump int)
0:14 Constant:
0:14 1 (const int)
0:15 Sequence
0:15 move second child to first child ( temp mediump int)
0:15 'f5' ( temp mediump int)
0:15 Constant:
0:15 5 (const int)
0:17 Sequence
0:17 move second child to first child ( temp highp float)
0:17 'fl_f5' ( temp highp float)
0:17 Constant:
0:17 0.460000
0:? Linker Objects