Problems with imageSize( gimage*D ) and forceware 310.33

Hello,

I’ve been trying to use the imageSize() function with a fully qualified gimage*D, so iimage2D or uimage2D, but that only results in an error. But when using it on a regular “image2D” it works fine.

Now, this is only a minor annoyance, but it would be nice if would work as outlined here for all gimage*D types.

#version 430
uniform image2D general;
uniform iimage2D specificInt;
uniform uimage2D specificUint;

...
void main(void){
  ivec2 size = imageSize( general ); //works as adverticed
  size = imageSize( specificInt ); 
  //error C1115: unable to find compatible overloaded function "imageSize(struct iimage2D)"
  size = imageSize( specificUint ); 
  //error C1115: unable to find compatible overloaded function "imageSize(struct uimage2D)"
}

When including the layout information it seems to be working properly, so the following code does not generate errors.

#version 430
layout(binding=0)uniform image2D general;
layout(binding=1, r32i)uniform iimage2D specificInt;
layout(binding=2, r32ui)uniform uimage2D specificUint;

out vec4 oCol;
void main(void){
  ivec2 size = imageSize( general ); //works as adverticed
  size = imageSize( specificInt ); 
  size = imageSize( specificUint ); 
  oCol = vec4( 1.0, 0.0, 0.0, 1.0);
}