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?

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to