logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

glTexStorage3DMultisample, glTextureStorage3DMultisample - specify storage for a two-dimensional

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.

C Specification

voidglTexStorage3DMultisample(GLenumtarget,GLsizeisamples,GLenuminternalformat,GLsizeiwidth,GLsizeiheight,GLsizeidepth,GLbooleanfixedsamplelocations);voidglTextureStorage3DMultisample(GLuinttexture,GLsizeisamples,GLenuminternalformat,GLsizeiwidth,GLsizeiheight,GLsizeidepth,GLbooleanfixedsamplelocations);

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.

       Table1.SizedInternalFormats
       ┌───────────────────┬───────────────┬──────────┬────────────┬───────────┬────────────┬─────────────┐
       │ SizedInternalBaseInternalRedBitsGreenBitsBlueBitsAlphaBitsSharedBits │
       │ 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 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.

Name

       glTexStorage3DMultisample, glTextureStorage3DMultisample - specify storage for a two-dimensional
       multisample array texture

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.

See Also

glTexImage3D(), glTexImage3DMultisample(), glTexStorage1D(), glTexStorage2DMultisample(),
       glTexStorage3D().

Version Support

       ┌───────────────────────────────┬───────────────────────────────────────────────────────────────────────┐
       │                               │                OpenGLVersion                                         │
       ├───────────────────────────────┼─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┤
       │ Function2.02.13.03.13.23.34.04.14.24.34.44.5 │
       │ /                             │     │     │     │     │     │     │     │     │     │     │     │     │
       │ Feature                       │     │     │     │     │     │     │     │     │     │     │     │     │
       │ Name                          │     │     │     │     │     │     │     │     │     │     │     │     │
       ├───────────────────────────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
       │ glTexStorage3DMultisample     │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  ✔  │  ✔  │  ✔  │
       ├───────────────────────────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
       │ glTextureStorage3DMultisample │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  ✔  │
       └───────────────────────────────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘

See Also