Provided by: opengl-4-man-doc_1.0~svn33624-1_all bug

NAME

       glTexStorage2DMultisample, glTextureStorage2DMultisample - specify storage for a
       two-dimensional multisample texture

C SPECIFICATION

       void glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat,
                                      GLsizei width, GLsizei height,
                                      GLboolean fixedsamplelocations);

       void glTextureStorage2DMultisample(GLuint texture, GLsizei samples, GLenum internalformat,
                                          GLsizei width, GLsizei height,
                                          GLboolean fixedsamplelocations);

PARAMETERS

       target
           Specifies the target to which the texture object is bound for
           glTexStorage2DMultisample. Must be one of GL_TEXTURE_2D_MULTISAMPLE or
           GL_PROXY_TEXTURE_2D_MULTISAMPLE.

       texture
           Specifies the texture object name for glTextureStorage2DMultisample. 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.

       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

       glTexStorage2DMultisample and glTextureStorage2DMultisample specify the storage
       requirements for a two-dimensional multisample 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. 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
       ┌──────────────────┬──────────┬──────────┬────────────┬───────────┬────────────┬─────────────┐
       │SizedBaseRed BitsGreen BitsBlue BitsAlpha BitsShared Bits │
       │InternalInternal │          │            │           │            │             │
       │FormatFormat   │          │            │           │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_R8GL_RED   │    8     │            │           │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_R8_SNORMGL_RED   │    s8    │            │           │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_R16GL_RED   │    16    │            │           │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_R16_SNORMGL_RED   │   s16    │            │           │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RG8GL_RG    │    8     │     8      │           │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RG8_SNORMGL_RG    │    s8    │     s8     │           │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RG16GL_RG    │    16    │     16     │           │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RG16_SNORMGL_RG    │   s16    │    s16     │           │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_R3_G3_B2GL_RGB   │    3     │     3      │     2     │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGB4GL_RGB   │    4     │     4      │     4     │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGB5GL_RGB   │    5     │     5      │     5     │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGB8GL_RGB   │    8     │     8      │     8     │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGB8_SNORMGL_RGB   │    s8    │     s8     │    s8     │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGB10GL_RGB   │    10    │     10     │    10     │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGB12GL_RGB   │    12    │     12     │    12     │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGB16_SNORMGL_RGB   │    16    │     16     │    16     │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGBA2GL_RGB   │    2     │     2      │     2     │     2      │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGBA4GL_RGB   │    4     │     4      │     4     │     4      │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGB5_A1GL_RGBA  │    5     │     5      │     5     │     1      │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGBA8GL_RGBA  │    8     │     8      │     8     │     8      │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGBA8_SNORMGL_RGBA  │    s8    │     s8     │    s8     │     s8     │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGB10_A2GL_RGBA  │    10    │     10     │    10     │     2      │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGB10_A2UIGL_RGBA  │   ui10   │    ui10    │   ui10    │    ui2     │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGBA12GL_RGBA  │    12    │     12     │    12     │     12     │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGBA16GL_RGBA  │    16    │     16     │    16     │     16     │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_SRGB8GL_RGB   │    8     │     8      │     8     │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_SRGB8_ALPHA8GL_RGBA  │    8     │     8      │     8     │     8      │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_R16FGL_RED   │   f16    │            │           │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RG16FGL_RG    │   f16    │    f16     │           │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGB16FGL_RGB   │   f16    │    f16     │    f16    │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGBA16FGL_RGBA  │   f16    │    f16     │    f16    │    f16     │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_R32FGL_RED   │   f32    │            │           │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RG32FGL_RG    │   f32    │    f32     │           │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGB32FGL_RGB   │   f32    │    f32     │    f32    │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGBA32FGL_RGBA  │   f32    │    f32     │    f32    │    f32     │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_R11F_G11F_B10FGL_RGB   │   f11    │    f11     │    f10    │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGB9_E5GL_RGB   │    9     │     9      │     9     │            │      5      │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_R8IGL_RED   │    i8    │            │           │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_R8UIGL_RED   │   ui8    │            │           │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_R16IGL_RED   │   i16    │            │           │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_R16UIGL_RED   │   ui16   │            │           │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_R32IGL_RED   │   i32    │            │           │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_R32UIGL_RED   │   ui32   │            │           │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RG8IGL_RG    │    i8    │     i8     │           │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RG8UIGL_RG    │   ui8    │    ui8     │           │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RG16IGL_RG    │   i16    │    i16     │           │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RG16UIGL_RG    │   ui16   │    ui16    │           │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RG32IGL_RG    │   i32    │    i32     │           │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RG32UIGL_RG    │   ui32   │    ui32    │           │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGB8IGL_RGB   │    i8    │     i8     │    i8     │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGB8UIGL_RGB   │   ui8    │    ui8     │    ui8    │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGB16IGL_RGB   │   i16    │    i16     │    i16    │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGB16UIGL_RGB   │   ui16   │    ui16    │   ui16    │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGB32IGL_RGB   │   i32    │    i32     │    i32    │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGB32UIGL_RGB   │   ui32   │    ui32    │   ui32    │            │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGBA8IGL_RGBA  │    i8    │     i8     │    i8     │     i8     │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGBA8UIGL_RGBA  │   ui8    │    ui8     │    ui8    │    ui8     │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGBA16IGL_RGBA  │   i16    │    i16     │    i16    │    i16     │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGBA16UIGL_RGBA  │   ui16   │    ui16    │   ui16    │    ui16    │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGBA32IGL_RGBA  │   i32    │    i32     │    i32    │    i32     │             │
       ├──────────────────┼──────────┼──────────┼────────────┼───────────┼────────────┼─────────────┤
       │GL_RGBA32UIGL_RGBA  │   ui32   │    ui32    │   ui32    │    ui32    │             │
       └──────────────────┴──────────┴──────────┴────────────┴───────────┴────────────┴─────────────┘

ERRORS

       GL_INVALID_OPERATION is generated by glTexStorage2DMultisample if zero is bound to target.

       GL_INVALID_OPERATION is generated by glTextureStorage2DMultisample 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 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.

VERSION SUPPORT

       ┌──────────────────────────────┬───────────────────────────────────────────────────────────────────────┐
       │                              │                OpenGL Version                                         │
       ├──────────────────────────────┼─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┤
       │Function2.02.13.03.13.23.34.04.14.24.34.44.5 │
       │/                             │     │     │     │     │     │     │     │     │     │     │     │     │
       │Feature                       │     │     │     │     │     │     │     │     │     │     │     │     │
       │Name                          │     │     │     │     │     │     │     │     │     │     │     │     │
       ├──────────────────────────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
       │glTexStorage2DMultisample     │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  ✔  │  ✔  │  ✔  │
       ├──────────────────────────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
       │glTextureStorage2DMultisample │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  ✔  │
       └──────────────────────────────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘

SEE ALSO

       glTexImage2D(), glTexImage2DMultisample(), glTexStorage1D(), 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

[FIXME: source]                             01/03/2018                   GLTEXSTORAGE2DMULTIS(3G)