Add support for extension GL_ARB_shader_image_size (#2185)

This commit is contained in:
pmistryNV
2020-04-19 19:47:54 -07:00
committed by GitHub
parent 9f46e3dd5e
commit 3f4e5c4563
5 changed files with 43 additions and 2 deletions

View File

@@ -12,3 +12,8 @@ layout(depth_less) in float depth; // ERROR: depth_less only applies to gl_FragD
layout(depth_any) out float gl_FragDepth; // ERROR, done after use
layout(binding=0) uniform atomic_uint a[];
uniform writeonly image2D i2D;
ivec2 iv2dim = imageSize(i2D); // ERROR: imageSize called without enabling GL_ARB_shader_image_size extension
#extension GL_ARB_shader_image_size : enable
ivec2 iv2dim1 = imageSize(i2D);

View File

@@ -3,10 +3,12 @@ ERROR: 0:4: 'redeclaration' : all redeclarations must use the same depth layout
ERROR: 0:11: 'layout qualifier' : can only apply depth layout to gl_FragDepth
ERROR: 0:12: 'gl_FragDepth' : cannot redeclare after use
ERROR: 0:14: 'atomic_uint' : array must be explicitly sized
ERROR: 4 compilation errors. No code generated.
ERROR: 0:17: 'imageSize' : required extension not requested: GL_ARB_shader_image_size
ERROR: 5 compilation errors. No code generated.
Shader version: 420
Requested GL_ARB_shader_image_size
using depth_any
ERROR: node is still EOpNull!
0:6 Function Definition: main( ( global void)
@@ -16,16 +18,30 @@ ERROR: node is still EOpNull!
0:8 'gl_FragDepth' ( gl_FragDepth float FragDepth)
0:8 Constant:
0:8 0.300000
0:17 Sequence
0:17 move second child to first child ( temp 2-component vector of int)
0:17 'iv2dim' ( global 2-component vector of int)
0:17 imageQuerySize ( global 2-component vector of int)
0:17 'i2D' ( writeonly uniform image2D)
0:19 Sequence
0:19 move second child to first child ( temp 2-component vector of int)
0:19 'iv2dim1' ( global 2-component vector of int)
0:19 imageQuerySize ( global 2-component vector of int)
0:19 'i2D' ( writeonly uniform image2D)
0:? Linker Objects
0:? 'gl_FragDepth' ( gl_FragDepth float FragDepth)
0:? 'depth' ( smooth in float)
0:? 'a' (layout( binding=0 offset=0) uniform unsized 1-element array of atomic_uint)
0:? 'i2D' ( writeonly uniform image2D)
0:? 'iv2dim' ( global 2-component vector of int)
0:? 'iv2dim1' ( global 2-component vector of int)
Linked fragment stage:
Shader version: 420
Requested GL_ARB_shader_image_size
using depth_any
ERROR: node is still EOpNull!
0:6 Function Definition: main( ( global void)
@@ -35,8 +51,21 @@ ERROR: node is still EOpNull!
0:8 'gl_FragDepth' ( gl_FragDepth float FragDepth)
0:8 Constant:
0:8 0.300000
0:17 Sequence
0:17 move second child to first child ( temp 2-component vector of int)
0:17 'iv2dim' ( global 2-component vector of int)
0:17 imageQuerySize ( global 2-component vector of int)
0:17 'i2D' ( writeonly uniform image2D)
0:19 Sequence
0:19 move second child to first child ( temp 2-component vector of int)
0:19 'iv2dim1' ( global 2-component vector of int)
0:19 imageQuerySize ( global 2-component vector of int)
0:19 'i2D' ( writeonly uniform image2D)
0:? Linker Objects
0:? 'gl_FragDepth' ( gl_FragDepth float FragDepth)
0:? 'depth' ( smooth in float)
0:? 'a' (layout( binding=0 offset=0) uniform 1-element array of atomic_uint)
0:? 'i2D' ( writeonly uniform image2D)
0:? 'iv2dim' ( global 2-component vector of int)
0:? 'iv2dim1' ( global 2-component vector of int)