Add support for extension GL_ARB_shading_language_packing (#2192)
This commit is contained in:
@@ -79,3 +79,23 @@ void bitEncodingFail()
|
||||
{
|
||||
int i = floatBitsToInt(f); // Error, extention GL_ARB_bit_encoding is diabled
|
||||
}
|
||||
|
||||
#extension GL_ARB_shading_language_packing : enable
|
||||
vec2 v2a;
|
||||
uint uy;
|
||||
|
||||
void packingPass()
|
||||
{
|
||||
uint u19 = packSnorm2x16(v2a);
|
||||
vec2 v20 = unpackSnorm2x16(uy);
|
||||
uint u15 = packUnorm2x16(v2a);
|
||||
vec2 v16 = unpackUnorm2x16(uy);
|
||||
uint u17 = packHalf2x16(v2a);
|
||||
vec2 v18 = unpackHalf2x16(uy);
|
||||
}
|
||||
|
||||
#extension GL_ARB_shading_language_packing : disable
|
||||
void packingFail()
|
||||
{
|
||||
uint u19 = packSnorm2x16(v2a); // Error, extension GL_ARB_shading_language_packing is disabled
|
||||
}
|
||||
|
||||
@@ -10,12 +10,14 @@ 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: 0:80: 'floatBitsToInt' : required extension not requested: GL_ARB_shader_bit_encoding
|
||||
ERROR: 11 compilation errors. No code generated.
|
||||
ERROR: 0:100: 'packSnorm2x16' : required extension not requested: GL_ARB_shading_language_packing
|
||||
ERROR: 12 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 150
|
||||
Requested GL_ARB_gpu_shader_fp64
|
||||
Requested GL_ARB_shader_bit_encoding
|
||||
Requested GL_ARB_shading_language_packing
|
||||
gl_FragCoord pixel center is integer
|
||||
gl_FragCoord origin is upper left
|
||||
ERROR: node is still EOpNull!
|
||||
@@ -167,6 +169,47 @@ ERROR: node is still EOpNull!
|
||||
0:80 'i' ( temp int)
|
||||
0:80 floatBitsToInt ( global int)
|
||||
0:80 'f' ( global float)
|
||||
0:87 Function Definition: packingPass( ( global void)
|
||||
0:87 Function Parameters:
|
||||
0:89 Sequence
|
||||
0:89 Sequence
|
||||
0:89 move second child to first child ( temp uint)
|
||||
0:89 'u19' ( temp uint)
|
||||
0:89 packSnorm2x16 ( global uint)
|
||||
0:89 'v2a' ( global 2-component vector of float)
|
||||
0:90 Sequence
|
||||
0:90 move second child to first child ( temp 2-component vector of float)
|
||||
0:90 'v20' ( temp 2-component vector of float)
|
||||
0:90 unpackSnorm2x16 ( global 2-component vector of float)
|
||||
0:90 'uy' ( global uint)
|
||||
0:91 Sequence
|
||||
0:91 move second child to first child ( temp uint)
|
||||
0:91 'u15' ( temp uint)
|
||||
0:91 packUnorm2x16 ( global uint)
|
||||
0:91 'v2a' ( global 2-component vector of float)
|
||||
0:92 Sequence
|
||||
0:92 move second child to first child ( temp 2-component vector of float)
|
||||
0:92 'v16' ( temp 2-component vector of float)
|
||||
0:92 unpackUnorm2x16 ( global 2-component vector of float)
|
||||
0:92 'uy' ( global uint)
|
||||
0:93 Sequence
|
||||
0:93 move second child to first child ( temp uint)
|
||||
0:93 'u17' ( temp uint)
|
||||
0:93 packHalf2x16 ( global uint)
|
||||
0:93 'v2a' ( global 2-component vector of float)
|
||||
0:94 Sequence
|
||||
0:94 move second child to first child ( temp 2-component vector of float)
|
||||
0:94 'v18' ( temp 2-component vector of float)
|
||||
0:94 unpackHalf2x16 ( global 2-component vector of float)
|
||||
0:94 'uy' ( global uint)
|
||||
0:98 Function Definition: packingFail( ( global void)
|
||||
0:98 Function Parameters:
|
||||
0:100 Sequence
|
||||
0:100 Sequence
|
||||
0:100 move second child to first child ( temp uint)
|
||||
0:100 'u19' ( temp uint)
|
||||
0:100 packSnorm2x16 ( global uint)
|
||||
0:100 'v2a' ( global 2-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'gl_FragCoord' ( gl_FragCoord 4-component vector of float FragCoord)
|
||||
0:? 'foo' ( smooth in 4-component vector of float)
|
||||
@@ -192,6 +235,8 @@ ERROR: node is still EOpNull!
|
||||
0:? 'v4' ( global 4-component vector of float)
|
||||
0:? 'iv4a' ( global 4-component vector of int)
|
||||
0:? 'uv2c' ( global 2-component vector of uint)
|
||||
0:? 'v2a' ( global 2-component vector of float)
|
||||
0:? 'uy' ( global uint)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
@@ -200,6 +245,7 @@ Linked fragment stage:
|
||||
Shader version: 150
|
||||
Requested GL_ARB_gpu_shader_fp64
|
||||
Requested GL_ARB_shader_bit_encoding
|
||||
Requested GL_ARB_shading_language_packing
|
||||
gl_FragCoord pixel center is integer
|
||||
gl_FragCoord origin is upper left
|
||||
ERROR: node is still EOpNull!
|
||||
@@ -260,4 +306,6 @@ ERROR: node is still EOpNull!
|
||||
0:? 'v4' ( global 4-component vector of float)
|
||||
0:? 'iv4a' ( global 4-component vector of int)
|
||||
0:? 'uv2c' ( global 2-component vector of uint)
|
||||
0:? 'v2a' ( global 2-component vector of float)
|
||||
0:? 'uy' ( global uint)
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ spv.specConstant.vert
|
||||
Source GLSL 400
|
||||
Name 4 "main"
|
||||
Name 9 "arraySize"
|
||||
Name 14 "foo(vf4[s4530];"
|
||||
Name 14 "foo(vf4[s4534];"
|
||||
Name 13 "p"
|
||||
Name 17 "builtin_spec_constant("
|
||||
Name 20 "color"
|
||||
@@ -102,10 +102,10 @@ spv.specConstant.vert
|
||||
Store 20(color) 46
|
||||
48: 10 Load 22(ucol)
|
||||
Store 47(param) 48
|
||||
49: 2 FunctionCall 14(foo(vf4[s4530];) 47(param)
|
||||
49: 2 FunctionCall 14(foo(vf4[s4534];) 47(param)
|
||||
Return
|
||||
FunctionEnd
|
||||
14(foo(vf4[s4530];): 2 Function None 12
|
||||
14(foo(vf4[s4534];): 2 Function None 12
|
||||
13(p): 11(ptr) FunctionParameter
|
||||
15: Label
|
||||
54: 24(ptr) AccessChain 53(dupUcol) 23
|
||||
|
||||
Reference in New Issue
Block a user