- if(sampler_type=="sampler1D")
- call.name = "texture1D";
- else if(sampler_type=="sampler2D")
- call.name = "texture2D";
- else if(sampler_type=="sampler3D")
- call.name = "texture3D";
- else if(sampler_type=="samplerCube")
- call.name = "textureCube";
- else if(sampler_type=="sampler1DShadow")
- call.name = "shadow1D";
- else if(sampler_type=="sampler2DShadow")
- call.name = "shadow2D";
- else if(sampler_type=="sampler1DArray")
- {
- check_extension(&Features::ext_texture_array);
- call.name = "texture1DArray";
- }
- else if(sampler_type=="sampler2DArray")
+ const ImageTypeDeclaration *arg_image = dynamic_cast<const ImageTypeDeclaration *>(call.arguments.front()->type);
+ if(arg_image && !supports_unified_sampling_functions())