[Mesa-dev] [PATCH] mesa: Add ARB_texture_view to Mesa core

Ian Romanick idr at freedesktop.org
Tue Nov 5 11:22:28 PST 2013


On 11/05/2013 09:44 AM, Chris Forbes wrote:
>> So, you can create a GL_LUMINANCE view of a GL_LUMINANCE texture.  Hmm...
> 
> My understanding is you can't actually, since views can only be
> created from immutable-format textures, and GL_LUMINANCE is not a
> sized internalformat, so it can't be used with TexStorage?

I was just using GL_LUMINANCE as shorthand for GL_LUMINANCE4,
GL_LUMINANCE8, GL_LUMINANCE12, and GL_LUMINANCE16.  As far as I can tell,

    glGenTextures(1, &tex);
    glBindTexture(GL_TEXTURE_2D, tex);
    glTexStorage2D(GL_TEXTURE_2D,
		8,
		GL_LUMINANCE8,
		1024, 1024);

is perfectly valid.  Sayeth GL_ARB_texture_storage:

    Accepted by the <internalformat> parameter of TexStorage* when
    implemented on OpenGL ES:

        ALPHA8_EXT                     0x803C
        LUMINANCE8_EXT                 0x8040
        LUMINANCE8_ALPHA8_EXT          0x8045

I guess that means GL_LUMINANCE4, GL_LUMINANCE12, and GL_LUMINANCE16 are
out.  As are all GL_INTENSITY formats.  There are still these three
legacy formats to handle.

So, if we support GL_ARB_texture_view in a compatibility profile,

    glGenTextures(1, &view);
    glTextureView(view,
		GL_TEXTURE_2D,
		tex,
		GL_LUMINANCE8,
		1, 1, 1, 1);

is also valid.

Right?



More information about the mesa-dev mailing list