 			vec4 bgfxTexelFetch(BgfxSampler2DMS _sampler, ivec2 _coord, int _sampleIdx)
 			{
 				return _sampler.m_texture.Load(_coord, _sampleIdx);
+			}
+
+			vec4 bgfxTexelFetch(BgfxSampler2DArray _sampler, ivec3 _coord, int _lod)
+			{
+				return _sampler.m_texture.Load(ivec4(_coord, _lod) );
 			}
 
 			vec4 bgfxTexelFetch(BgfxSampler3D _sampler, ivec3 _coord, int _lod)

				Texture2D m_texture;
			};

			struct BgfxSampler3D
			{
				SamplerState m_sampler;

			#	define ISAMPLER3D(_name, _reg) uniform isampler3D _name
			#	define USAMPLER3D(_name, _reg) uniform usampler3D _name

			#	define texture2DBias(_sampler, _coord, _bias)      texture2D(_sampler, _coord, _bias)
			#	define textureCubeBias(_sampler, _coord, _bias)    textureCube(_sampler, _coord, _bias)

			#	if BGFX_SHADER_LANGUAGE_GLSL >= 130
			#		define texture2D(_sampler, _coord)      texture(_sampler, _coord)
			#		define texture2DArray(_sampler, _coord) texture(_sampler, _coord)
