GLTEXSTORAGE2DMULTIS(3G)

NAME
glTexStorage2DMultisample - specify storage for a two-dimensional multisample texture

C SPECIFICATION

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

PARAMETERS

target
    Specify the target of the operation. target must be GL_TEXTURE_2D_MULTISAMPLE or GL_PROXY_TEXTURE_2D_MULTISAMPLE.

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 specifies 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
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_ENUM is generated if internalformat is not a valid color-renderable, depth-renderable or stencil-renderable format.

GL_INVALID_ENUM is generated if target is not one of the accepted target enumerants.

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 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.

SEE ALSO

glTexImage2D(), glTexImage2DMultisample(), glTexStorage1D(), glTexStorage3D().

COPYRIGHT

Copyright © 2012 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/.

AUTHORS

opengl.org