C SPECIFICATION void glTexStorage3DMultisample(GLenum  target , GLsizei  samples , GLenum  internalformat , GLsizei  width , GLsizei  height , GLsizei  depth , GLboolean  fixedsamplelocations ); void glTextureStorage3DMultisample(GLuint  texture , GLsizei  samples , GLenum  internalformat , GLsizei  width , GLsizei  height , GLsizei  depth , GLboolean  fixedsamplelocations ); PARAMETERS target Specifies the target to which the texture object is bound for glTexStorage3DMultisample . Must be one of GL_TEXTURE_2D_MULTISAMPLE_ARRAY or GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY . texture Specifies the texture object name for glTextureStorage3DMultisample . The effective target of texture must be one of the valid non-proxy target values above. samples Specify the number of samples in the texture. internalformat Specifies the sized internal format to be used to store texture image data. width Specifies the width of the texture, in texels. height Specifies the height of the texture, in texels. depth Specifies the depth of the texture, in layers. fixedsamplelocations Specifies whether the image will use identical sample locations and the same number of samples for all texels in the image, and the sample locations will not depend on the internal format or size of the image. DESCRIPTION glTexStorage3DMultisample and glTextureStorage3DMultisample specify the storage requirements for a two-dimensional multisample array texture. Once a texture is specified with this command, its format and dimensions become immutable unless it is a proxy texture. The contents of the image may still be modified, however, its storage requirements may not change. Such a texture is referred to as an immutable-format texture. samples specifies the number of samples to be used for the texture and must be greater than zero and less than or equal to the value of GL_MAX_SAMPLES . internalformat must be a color-renderable, depth-renderable, or stencil-renderable format. width and height specify the width and height, respectively, of the texture and depth specifies the depth (or the number of layers) of the texture. If fixedsamplelocations is GL_TRUE , the image will use identical sample locations and the same number of samples for all texels in the image, and the sample locations will not depend on the internal format or size of the image. Table 1. Sized Internal Formats Sized Internal Format Base Internal Format Red Bits Green Bits Blue Bits Alpha Bits Shared Bits GL_R8 GL_RED 8         GL_R8_SNORM GL_RED s8         GL_R16 GL_RED 16         GL_R16_SNORM GL_RED s16         GL_RG8 GL_RG 8 8       GL_RG8_SNORM GL_RG s8 s8       GL_RG16 GL_RG 16 16       GL_RG16_SNORM GL_RG s16 s16       GL_R3_G3_B2 GL_RGB 3 3 2     GL_RGB4 GL_RGB 4 4 4     GL_RGB5 GL_RGB 5 5 5     GL_RGB8 GL_RGB 8 8 8     GL_RGB8_SNORM GL_RGB s8 s8 s8     GL_RGB10 GL_RGB 10 10 10     GL_RGB12 GL_RGB 12 12 12     GL_RGB16_SNORM GL_RGB 16 16 16     GL_RGBA2 GL_RGB 2 2 2 2   GL_RGBA4 GL_RGB 4 4 4 4   GL_RGB5_A1 GL_RGBA 5 5 5 1   GL_RGBA8 GL_RGBA 8 8 8 8   GL_RGBA8_SNORM GL_RGBA s8 s8 s8 s8   GL_RGB10_A2 GL_RGBA 10 10 10 2   GL_RGB10_A2UI GL_RGBA ui10 ui10 ui10 ui2   GL_RGBA12 GL_RGBA 12 12 12 12   GL_RGBA16 GL_RGBA 16 16 16 16   GL_SRGB8 GL_RGB 8 8 8     GL_SRGB8_ALPHA8 GL_RGBA 8 8 8 8   GL_R16F GL_RED f16         GL_RG16F GL_RG f16 f16       GL_RGB16F GL_RGB f16 f16 f16     GL_RGBA16F GL_RGBA f16 f16 f16 f16   GL_R32F GL_RED f32         GL_RG32F GL_RG f32 f32       GL_RGB32F GL_RGB f32 f32 f32     GL_RGBA32F GL_RGBA f32 f32 f32 f32   GL_R11F_G11F_B10F GL_RGB f11 f11 f10     GL_RGB9_E5 GL_RGB 9 9 9   5 GL_R8I GL_RED i8         GL_R8UI GL_RED ui8         GL_R16I GL_RED i16         GL_R16UI GL_RED ui16         GL_R32I GL_RED i32         GL_R32UI GL_RED ui32         GL_RG8I GL_RG i8 i8       GL_RG8UI GL_RG ui8 ui8       GL_RG16I GL_RG i16 i16       GL_RG16UI GL_RG ui16 ui16       GL_RG32I GL_RG i32 i32       GL_RG32UI GL_RG ui32 ui32       GL_RGB8I GL_RGB i8 i8 i8     GL_RGB8UI GL_RGB ui8 ui8 ui8     GL_RGB16I GL_RGB i16 i16 i16     GL_RGB16UI GL_RGB ui16 ui16 ui16     GL_RGB32I GL_RGB i32 i32 i32     GL_RGB32UI GL_RGB ui32 ui32 ui32     GL_RGBA8I GL_RGBA i8 i8 i8 i8   GL_RGBA8UI GL_RGBA ui8 ui8 ui8 ui8   GL_RGBA16I GL_RGBA i16 i16 i16 i16   GL_RGBA16UI GL_RGBA ui16 ui16 ui16 ui16   GL_RGBA32I GL_RGBA i32 i32 i32 i32   GL_RGBA32UI GL_RGBA ui32 ui32 ui32 ui32   ERRORS GL_INVALID_OPERATION is generated by glTexStorage3DMultisample if zero is bound to target . GL_INVALID_OPERATION is generated by glTextureStorage3DMultisample if texture is not the name of an existing texture object. GL_INVALID_ENUM is generated if internalformat is not a valid color-renderable, depth-renderable or stencil-renderable format. GL_INVALID_ENUM is generated if target or the effective target of texture is not one of the accepted targets described above. GL_INVALID_VALUE is generated if width or height are less than 1 or greater than the value of GL_MAX_TEXTURE_SIZE . GL_INVALID_VALUE is generated if depth is less than 1 or greater than the value of GL_MAX_ARRAY_TEXTURE_LAYERS . GL_INVALID_VALUE is generated if levels is less than 1. GL_INVALID_VALUE is generated if samples is greater than the value of GL_MAX_SAMPLES . GL_INVALID_OPERATION is generated if the value of GL_TEXTURE_IMMUTABLE_FORMAT for the texture bound to target is not GL_FALSE . ASSOCIATED GETS glGetInteger with arguments GL_MAX_TEXTURE_SIZE , GL_MAX_ARRAY_TEXTURE_LEVELS , GL_TEXTURE_VIEW_MIN_LAYER , GL_TEXTURE_VIEW_NUM_LAYERS , or GL_TEXTURE_IMMUTABLE_LEVELS . VERSION SUPPORT OpenGL Version Function / Feature Name 2.0 2.1 3.0 3.1 3.2 3.3 4.0 4.1 4.2 4.3 4.4 4.5 glTexStorage3DMultisample - - - - - - - - - ✔ ✔ ✔ glTextureStorage3DMultisample - - - - - - - - - - - ✔ SEE ALSO glTexImage3D (), glTexImage3DMultisample (), glTexStorage1D (), glTexStorage2DMultisample (), glTexStorage3D (). COPYRIGHT Copyright © 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/ . COPYRIGHT Copyright © 2013-2014 Khronos Group