Add support for ARB_gpu_shader_fp64
GLSL Version : >= 150 Purpose: Allow users to use features by enabling this extension, even in low versions. Extension Name: ARB_gpu_shader_fp64 Builtin-variables: Nah Builtin-functions: functions overloaded for this extension, please check registry in reference. Keywords: Double Features: add support for type "double" Reference: https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_gpu_shader_fp64.txt Add support for implicit conversion 1. Remove builtin double vertex (this is introduced by vertex_attrib_64bit 2. Add extension check and implicit conversion as double has been introduced 3. Add test results.
This commit is contained in:
@@ -5,10 +5,15 @@ ERROR: 0:6: 'layout qualifier' : can only apply origin_upper_left and pixel_cent
|
||||
ERROR: 0:14: 'gl_FragCoord' : cannot redeclare after use
|
||||
ERROR: 0:50: 'gl_PerFragment' : cannot be used (maybe an instance name is needed)
|
||||
ERROR: 0:50: 'gl_PerFragment' : undeclared identifier
|
||||
ERROR: 6 compilation errors. No code generated.
|
||||
ERROR: 0:53: 'double' : Reserved word.
|
||||
ERROR: 0:53: 'double' : not supported for this version or the enabled extensions
|
||||
ERROR: 0:53: 'double' : must be qualified as flat in
|
||||
ERROR: 0:57: '=' : cannot convert from ' global double' to ' global int'
|
||||
ERROR: 10 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 150
|
||||
Requested GL_ARB_gpu_shader_fp64
|
||||
gl_FragCoord pixel center is integer
|
||||
gl_FragCoord origin is upper left
|
||||
ERROR: node is still EOpNull!
|
||||
@@ -109,6 +114,26 @@ ERROR: node is still EOpNull!
|
||||
0:49 Branch: Return with expression
|
||||
0:49 'gl_PrimitiveID' ( flat in int PrimitiveID)
|
||||
0:50 'gl_PerFragment' ( temp float)
|
||||
0:56 Sequence
|
||||
0:56 move second child to first child ( temp double)
|
||||
0:56 'type3' ( global double)
|
||||
0:56 Constant:
|
||||
0:56 2.000000
|
||||
0:58 Sequence
|
||||
0:58 move second child to first child ( temp double)
|
||||
0:58 'absTest2' ( global double)
|
||||
0:58 sqrt ( global double)
|
||||
0:58 'type3' ( global double)
|
||||
0:59 Sequence
|
||||
0:59 move second child to first child ( temp double)
|
||||
0:59 'absTest3' ( global double)
|
||||
0:59 Constant:
|
||||
0:59 1.414214
|
||||
0:60 Sequence
|
||||
0:60 move second child to first child ( temp float)
|
||||
0:60 'dk' ( global float)
|
||||
0:60 Constant:
|
||||
0:60 3.316625
|
||||
0:? Linker Objects
|
||||
0:? 'gl_FragCoord' ( gl_FragCoord 4-component vector of float FragCoord)
|
||||
0:? 'foo' ( smooth in 4-component vector of float)
|
||||
@@ -123,12 +148,20 @@ ERROR: node is still EOpNull!
|
||||
0:? 'p2' ( flat in 2-component vector of int)
|
||||
0:? 'p3' ( flat in 3-component vector of int)
|
||||
0:? 'samp' ( flat in int)
|
||||
0:? 'type1' ( smooth in double)
|
||||
0:? 'type2' ( global double)
|
||||
0:? 'type3' ( global double)
|
||||
0:? 'absTest' ( global int)
|
||||
0:? 'absTest2' ( global double)
|
||||
0:? 'absTest3' ( global double)
|
||||
0:? 'dk' ( global float)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 150
|
||||
Requested GL_ARB_gpu_shader_fp64
|
||||
gl_FragCoord pixel center is integer
|
||||
gl_FragCoord origin is upper left
|
||||
ERROR: node is still EOpNull!
|
||||
@@ -144,6 +177,26 @@ ERROR: node is still EOpNull!
|
||||
0:18 'patch' ( global float)
|
||||
0:18 Constant:
|
||||
0:18 3.100000
|
||||
0:56 Sequence
|
||||
0:56 move second child to first child ( temp double)
|
||||
0:56 'type3' ( global double)
|
||||
0:56 Constant:
|
||||
0:56 2.000000
|
||||
0:58 Sequence
|
||||
0:58 move second child to first child ( temp double)
|
||||
0:58 'absTest2' ( global double)
|
||||
0:58 sqrt ( global double)
|
||||
0:58 'type3' ( global double)
|
||||
0:59 Sequence
|
||||
0:59 move second child to first child ( temp double)
|
||||
0:59 'absTest3' ( global double)
|
||||
0:59 Constant:
|
||||
0:59 1.414214
|
||||
0:60 Sequence
|
||||
0:60 move second child to first child ( temp float)
|
||||
0:60 'dk' ( global float)
|
||||
0:60 Constant:
|
||||
0:60 3.316625
|
||||
0:? Linker Objects
|
||||
0:? 'gl_FragCoord' ( gl_FragCoord 4-component vector of float FragCoord)
|
||||
0:? 'foo' ( smooth in 4-component vector of float)
|
||||
@@ -158,4 +211,11 @@ ERROR: node is still EOpNull!
|
||||
0:? 'p2' ( flat in 2-component vector of int)
|
||||
0:? 'p3' ( flat in 3-component vector of int)
|
||||
0:? 'samp' ( flat in int)
|
||||
0:? 'type1' ( smooth in double)
|
||||
0:? 'type2' ( global double)
|
||||
0:? 'type3' ( global double)
|
||||
0:? 'absTest' ( global int)
|
||||
0:? 'absTest2' ( global double)
|
||||
0:? 'absTest3' ( global double)
|
||||
0:? 'dk' ( global float)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user